From 9c44188265ea484d55c50848d7daae5571007ce0 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Wed, 1 Dec 2021 16:23:26 -0800 Subject: [PATCH] feat(clients): update clients as of 2021/12/01 (#3078) --- clients/client-devops-guru/src/DevOpsGuru.ts | 23 +- ...DescribeResourceCollectionHealthCommand.ts | 5 +- .../commands/GetResourceCollectionCommand.ts | 5 +- .../SearchOrganizationInsightsCommand.ts | 8 +- .../UpdateResourceCollectionCommand.ts | 5 +- .../client-devops-guru/src/models/models_0.ts | 1214 +- .../src/protocols/Aws_restJson1.ts | 504 + .../src/models/models_0.ts | 29 +- .../src/protocols/Aws_json1_1.ts | 9 + .../client-dynamodb/src/models/models_0.ts | 75 + .../src/protocols/Aws_json1_0.ts | 31 + clients/client-ec2/src/EC2.ts | 1394 +- clients/client-ec2/src/EC2Client.ts | 177 + .../commands/AllocateIpamPoolCidrCommand.ts | 96 + .../src/commands/CreateFleetCommand.ts | 3 +- .../src/commands/CreateIpamCommand.ts | 94 + .../src/commands/CreateIpamPoolCommand.ts | 94 + .../src/commands/CreateIpamScopeCommand.ts | 93 + ...CreateNetworkInsightsAccessScopeCommand.ts | 106 + .../commands/CreatePublicIpv4PoolCommand.ts | 95 + .../CreateTransitGatewayConnectPeerCommand.ts | 3 +- ...ateTransitGatewayMulticastDomainCommand.ts | 2 +- ...eTransitGatewayPeeringAttachmentCommand.ts | 2 +- ...ransitGatewayPrefixListReferenceCommand.ts | 2 +- .../CreateTransitGatewayRouteCommand.ts | 2 +- .../CreateTransitGatewayRouteTableCommand.ts | 2 +- ...reateTransitGatewayVpcAttachmentCommand.ts | 2 +- .../src/commands/CreateVolumeCommand.ts | 2 +- .../src/commands/CreateVpcCommand.ts | 2 +- .../src/commands/CreateVpcEndpointCommand.ts | 2 +- .../src/commands/DeleteIpamCommand.ts | 99 + .../src/commands/DeleteIpamPoolCommand.ts | 99 + .../src/commands/DeleteIpamScopeCommand.ts | 94 + ...tworkInsightsAccessScopeAnalysisCommand.ts | 110 + ...DeleteNetworkInsightsAccessScopeCommand.ts | 103 + .../commands/DeletePublicIpv4PoolCommand.ts | 95 + .../DeprovisionIpamPoolCidrCommand.ts | 95 + .../DeprovisionPublicIpv4PoolCidrCommand.ts | 100 + .../DescribeConversionTasksCommand.ts | 3 +- .../DescribeCustomerGatewaysCommand.ts | 2 +- .../commands/DescribeDhcpOptionsCommand.ts | 2 +- ...scribeEgressOnlyInternetGatewaysCommand.ts | 2 +- .../commands/DescribeElasticGpusCommand.ts | 2 +- .../DescribeExportImageTasksCommand.ts | 2 +- .../commands/DescribeExportTasksCommand.ts | 2 +- .../DescribeFastSnapshotRestoresCommand.ts | 2 +- .../commands/DescribeFleetHistoryCommand.ts | 2 +- .../commands/DescribeFleetInstancesCommand.ts | 2 +- .../src/commands/DescribeFleetsCommand.ts | 2 +- .../src/commands/DescribeFlowLogsCommand.ts | 2 +- .../DescribeFpgaImageAttributeCommand.ts | 2 +- .../src/commands/DescribeFpgaImagesCommand.ts | 2 +- ...DescribeHostReservationOfferingsCommand.ts | 2 +- .../src/commands/DescribeIpamPoolsCommand.ts | 95 + .../src/commands/DescribeIpamScopesCommand.ts | 95 + .../src/commands/DescribeIpamsCommand.ts | 94 + ...tworkInsightsAccessScopeAnalysesCommand.ts | 110 + ...cribeNetworkInsightsAccessScopesCommand.ts | 106 + ...beReservedInstancesModificationsCommand.ts | 6 +- ...scribeReservedInstancesOfferingsCommand.ts | 2 +- .../commands/DescribeRouteTablesCommand.ts | 2 +- ...ibeScheduledInstanceAvailabilityCommand.ts | 2 +- .../DescribeScheduledInstancesCommand.ts | 2 +- .../DescribeSecurityGroupReferencesCommand.ts | 2 +- .../DescribeSecurityGroupRulesCommand.ts | 2 +- .../commands/DescribeSecurityGroupsCommand.ts | 2 +- .../DescribeSnapshotAttributeCommand.ts | 2 +- .../DescribeSnapshotTierStatusCommand.ts | 2 +- .../src/commands/DescribeSnapshotsCommand.ts | 2 +- ...DescribeSpotDatafeedSubscriptionCommand.ts | 2 +- .../DescribeSpotFleetInstancesCommand.ts | 2 +- .../DescribeSpotFleetRequestHistoryCommand.ts | 2 +- .../DescribeSpotFleetRequestsCommand.ts | 2 +- .../DescribeSpotInstanceRequestsCommand.ts | 2 +- .../DescribeSpotPriceHistoryCommand.ts | 3 +- ...ableIpamOrganizationAdminAccountCommand.ts | 107 + ...ableIpamOrganizationAdminAccountCommand.ts | 107 + .../commands/GetIpamAddressHistoryCommand.ts | 95 + .../commands/GetIpamPoolAllocationsCommand.ts | 95 + .../src/commands/GetIpamPoolCidrsCommand.ts | 95 + .../commands/GetIpamResourceCidrsCommand.ts | 95 + .../commands/GetLaunchTemplateDataCommand.ts | 3 +- ...GetManagedPrefixListAssociationsCommand.ts | 2 +- .../GetManagedPrefixListEntriesCommand.ts | 2 +- ...ightsAccessScopeAnalysisFindingsCommand.ts | 110 + ...etworkInsightsAccessScopeContentCommand.ts | 106 + .../src/commands/GetPasswordDataCommand.ts | 2 +- ...etReservedInstancesExchangeQuoteCommand.ts | 2 +- .../GetSerialConsoleAccessStatusCommand.ts | 2 +- .../commands/GetSpotPlacementScoresCommand.ts | 2 +- .../GetSubnetCidrReservationsCommand.ts | 2 +- ...sitGatewayAttachmentPropagationsCommand.ts | 2 +- ...tewayMulticastDomainAssociationsCommand.ts | 2 +- ...ansitGatewayPrefixListReferencesCommand.ts | 2 +- ...sitGatewayRouteTableAssociationsCommand.ts | 2 +- ...sitGatewayRouteTablePropagationsCommand.ts | 2 +- ...nectionDeviceSampleConfigurationCommand.ts | 2 +- .../GetVpnConnectionDeviceTypesCommand.ts | 2 +- ...nClientCertificateRevocationListCommand.ts | 2 +- .../src/commands/ImportImageCommand.ts | 2 +- .../src/commands/ImportInstanceCommand.ts | 2 +- .../src/commands/ImportKeyPairCommand.ts | 2 +- .../src/commands/ImportSnapshotCommand.ts | 2 +- .../src/commands/ImportVolumeCommand.ts | 2 +- .../ListSnapshotsInRecycleBinCommand.ts | 2 +- .../commands/ModifyAddressAttributeCommand.ts | 2 +- .../ModifyAvailabilityZoneGroupCommand.ts | 2 +- .../ModifyCapacityReservationCommand.ts | 2 +- .../ModifyCapacityReservationFleetCommand.ts | 2 +- .../ModifyClientVpnEndpointCommand.ts | 2 +- ...ModifyDefaultCreditSpecificationCommand.ts | 2 +- .../ModifyEbsDefaultKmsKeyIdCommand.ts | 2 +- .../src/commands/ModifyFleetCommand.ts | 2 +- .../ModifyFpgaImageAttributeCommand.ts | 2 +- .../src/commands/ModifyHostsCommand.ts | 3 +- .../src/commands/ModifyIpamCommand.ts | 93 + .../src/commands/ModifyIpamPoolCommand.ts | 94 + .../commands/ModifyIpamResourceCidrCommand.ts | 96 + .../src/commands/ModifyIpamScopeCommand.ts | 92 + .../commands/MoveByoipCidrToIpamCommand.ts | 95 + .../commands/ProvisionIpamPoolCidrCommand.ts | 97 + .../ProvisionPublicIpv4PoolCidrCommand.ts | 100 + .../ReleaseIpamPoolAllocationCommand.ts | 99 + .../src/commands/RunInstancesCommand.ts | 2 +- .../commands/RunScheduledInstancesCommand.ts | 2 +- .../SearchLocalGatewayRoutesCommand.ts | 2 +- ...rchTransitGatewayMulticastGroupsCommand.ts | 2 +- .../SearchTransitGatewayRoutesCommand.ts | 2 +- .../SendDiagnosticInterruptCommand.ts | 2 +- .../src/commands/StartInstancesCommand.ts | 2 +- ...tworkInsightsAccessScopeAnalysisCommand.ts | 110 + .../StartNetworkInsightsAnalysisCommand.ts | 2 +- ...intServicePrivateDnsVerificationCommand.ts | 2 +- .../src/commands/StopInstancesCommand.ts | 2 +- .../TerminateClientVpnConnectionsCommand.ts | 2 +- .../src/commands/TerminateInstancesCommand.ts | 2 +- .../commands/UnassignIpv6AddressesCommand.ts | 2 +- .../UnassignPrivateIpAddressesCommand.ts | 2 +- .../src/commands/UnmonitorInstancesCommand.ts | 2 +- ...urityGroupRuleDescriptionsEgressCommand.ts | 2 +- ...rityGroupRuleDescriptionsIngressCommand.ts | 2 +- .../src/commands/WithdrawByoipCidrCommand.ts | 2 +- clients/client-ec2/src/commands/index.ts | 36 + clients/client-ec2/src/models/index.ts | 1 + clients/client-ec2/src/models/models_0.ts | 8849 +++++---- clients/client-ec2/src/models/models_1.ts | 9670 +++++----- clients/client-ec2/src/models/models_2.ts | 9476 +++++----- clients/client-ec2/src/models/models_3.ts | 15026 ++++++++-------- clients/client-ec2/src/models/models_4.ts | 11880 ++++++------ clients/client-ec2/src/models/models_5.ts | 9706 ++++++---- clients/client-ec2/src/models/models_6.ts | 1982 ++ .../pagination/DescribeIpamPoolsPaginator.ts | 59 + .../pagination/DescribeIpamScopesPaginator.ts | 59 + .../src/pagination/DescribeIpamsPaginator.ts | 59 + ...orkInsightsAccessScopeAnalysesPaginator.ts | 59 + ...ibeNetworkInsightsAccessScopesPaginator.ts | 59 + .../GetIpamAddressHistoryPaginator.ts | 59 + .../GetIpamPoolAllocationsPaginator.ts | 59 + .../pagination/GetIpamPoolCidrsPaginator.ts | 59 + .../GetIpamResourceCidrsPaginator.ts | 59 + clients/client-ec2/src/pagination/index.ts | 9 + clients/client-ec2/src/protocols/Aws_ec2.ts | 11291 ++++++++---- clients/client-kendra/README.md | 14 +- clients/client-kendra/src/Kendra.ts | 522 +- clients/client-kendra/src/KendraClient.ts | 51 + .../AssociateEntitiesToExperienceCommand.ts | 104 + .../AssociatePersonasToEntitiesCommand.ts | 104 + .../commands/ClearQuerySuggestionsCommand.ts | 3 + .../src/commands/CreateDataSourceCommand.ts | 2 + .../src/commands/CreateExperienceCommand.ts | 97 + .../CreateQuerySuggestionsBlockListCommand.ts | 3 + .../src/commands/DeleteExperienceCommand.ts | 97 + .../commands/DeletePrincipalMappingCommand.ts | 3 + .../DeleteQuerySuggestionsBlockListCommand.ts | 3 + .../src/commands/DescribeExperienceCommand.ts | 98 + .../DescribePrincipalMappingCommand.ts | 3 + ...escribeQuerySuggestionsBlockListCommand.ts | 3 + .../DescribeQuerySuggestionsConfigCommand.ts | 3 + ...sassociateEntitiesFromExperienceCommand.ts | 110 + ...DisassociatePersonasFromEntitiesCommand.ts | 107 + .../commands/GetQuerySuggestionsCommand.ts | 3 + .../src/commands/GetSnapshotsCommand.ts | 97 + .../src/commands/ListEntityPersonasCommand.ts | 96 + .../commands/ListExperienceEntitiesCommand.ts | 99 + .../src/commands/ListExperiencesCommand.ts | 98 + .../ListGroupsOlderThanOrderingIdCommand.ts | 3 + .../ListQuerySuggestionsBlockListsCommand.ts | 3 + .../commands/PutPrincipalMappingCommand.ts | 3 + .../src/commands/SubmitFeedbackCommand.ts | 5 +- .../src/commands/UpdateExperienceCommand.ts | 97 + .../UpdateQuerySuggestionsBlockListCommand.ts | 3 + .../UpdateQuerySuggestionsConfigCommand.ts | 3 + clients/client-kendra/src/commands/index.ts | 12 + clients/client-kendra/src/models/models_0.ts | 1793 +- .../pagination/ListEntityPersonasPaginator.ts | 59 + .../ListExperienceEntitiesPaginator.ts | 58 + .../pagination/ListExperiencesPaginator.ts | 59 + clients/client-kendra/src/pagination/index.ts | 3 + .../src/protocols/Aws_json1_1.ts | 2738 ++- .../client-lex-models-v2/src/LexModelsV2.ts | 230 + .../src/LexModelsV2Client.ts | 36 + .../DescribeBotRecommendationCommand.ts | 102 + .../commands/ListBotRecommendationsCommand.ts | 96 + .../commands/ListRecommendedIntentsCommand.ts | 96 + .../SearchAssociatedTranscriptsCommand.ts | 101 + .../commands/StartBotRecommendationCommand.ts | 96 + .../UpdateBotRecommendationCommand.ts | 95 + .../src/commands/index.ts | 6 + .../src/models/models_0.ts | 1312 +- .../ListBotRecommendationsPaginator.ts | 59 + .../ListRecommendedIntentsPaginator.ts | 59 + .../src/pagination/index.ts | 2 + .../src/protocols/Aws_restJson1.ts | 1770 +- .../src/SageMakerRuntime.ts | 8 +- .../commands/InvokeEndpointAsyncCommand.ts | 4 +- .../src/commands/InvokeEndpointCommand.ts | 4 +- .../src/models/models_0.ts | 42 +- .../src/protocols/Aws_restJson1.ts | 59 +- clients/client-sagemaker/src/SageMaker.ts | 339 + .../client-sagemaker/src/SageMakerClient.ts | 45 + ...reateInferenceRecommendationsJobCommand.ts | 107 + ...cribeInferenceRecommendationsJobCommand.ts | 107 + .../commands/DescribeLineageGroupCommand.ts | 97 + .../DescribeModelBiasJobDefinitionCommand.ts | 3 +- ...ModelExplainabilityJobDefinitionCommand.ts | 2 +- .../commands/DescribeModelPackageCommand.ts | 2 +- .../DescribeModelPackageGroupCommand.ts | 2 +- ...escribeModelQualityJobDefinitionCommand.ts | 2 +- .../DescribeMonitoringScheduleCommand.ts | 2 +- .../DescribeNotebookInstanceCommand.ts | 2 +- ...eNotebookInstanceLifecycleConfigCommand.ts | 2 +- .../src/commands/DescribePipelineCommand.ts | 2 +- ...bePipelineDefinitionForExecutionCommand.ts | 2 +- .../DescribePipelineExecutionCommand.ts | 2 +- .../commands/DescribeProcessingJobCommand.ts | 3 +- .../commands/GetLineageGroupPolicyCommand.ts | 95 + ...ListInferenceRecommendationsJobsCommand.ts | 103 + .../src/commands/ListLineageGroupsCommand.ts | 97 + .../src/commands/ListModelMetadataCommand.ts | 96 + .../src/commands/ListTransformJobsCommand.ts | 3 +- .../commands/ListTrialComponentsCommand.ts | 2 +- .../src/commands/ListTrialsCommand.ts | 2 +- .../src/commands/ListUserProfilesCommand.ts | 2 +- .../src/commands/ListWorkforcesCommand.ts | 2 +- .../src/commands/ListWorkteamsCommand.ts | 2 +- .../PutModelPackageGroupPolicyCommand.ts | 2 +- .../src/commands/QueryLineageCommand.ts | 97 + .../src/commands/RegisterDevicesCommand.ts | 2 +- .../src/commands/RenderUiTemplateCommand.ts | 2 +- .../commands/RetryPipelineExecutionCommand.ts | 2 +- .../src/commands/SearchCommand.ts | 3 +- ...SendPipelineExecutionStepFailureCommand.ts | 2 +- ...SendPipelineExecutionStepSuccessCommand.ts | 2 +- .../StartMonitoringScheduleCommand.ts | 2 +- .../commands/StartNotebookInstanceCommand.ts | 2 +- .../commands/StartPipelineExecutionCommand.ts | 3 +- .../StopInferenceRecommendationsJobCommand.ts | 101 + .../client-sagemaker/src/commands/index.ts | 9 + .../client-sagemaker/src/models/models_0.ts | 2405 +-- .../client-sagemaker/src/models/models_1.ts | 12387 +++++++------ .../client-sagemaker/src/models/models_2.ts | 12400 ++++++------- .../client-sagemaker/src/models/models_3.ts | 2900 ++- ...stInferenceRecommendationsJobsPaginator.ts | 59 + .../pagination/ListLineageGroupsPaginator.ts | 59 + .../pagination/ListModelMetadataPaginator.ts | 59 + .../src/pagination/QueryLineagePaginator.ts | 59 + .../client-sagemaker/src/pagination/index.ts | 4 + .../src/protocols/Aws_json1_1.ts | 3279 +++- clients/client-shield/src/Shield.ts | 158 +- clients/client-shield/src/ShieldClient.ts | 18 + .../commands/AssociateDRTLogBucketCommand.ts | 2 +- .../src/commands/AssociateDRTRoleCommand.ts | 7 +- .../commands/AssociateHealthCheckCommand.ts | 4 +- .../src/commands/CreateProtectionCommand.ts | 8 +- ...pplicationLayerAutomaticResponseCommand.ts | 111 + .../DisassociateDRTLogBucketCommand.ts | 1 - .../commands/DisassociateDRTRoleCommand.ts | 1 - .../DisassociateHealthCheckCommand.ts | 4 +- ...pplicationLayerAutomaticResponseCommand.ts | 123 + ...pplicationLayerAutomaticResponseCommand.ts | 110 + clients/client-shield/src/commands/index.ts | 3 + clients/client-shield/src/models/models_0.ts | 369 +- .../src/protocols/Aws_json1_1.ts | 454 + .../sdk-codegen/aws-models/devops-guru.json | 722 +- .../aws-models/direct-connect.json | 84 +- codegen/sdk-codegen/aws-models/dynamodb.json | 77 + codegen/sdk-codegen/aws-models/ec2.json | 5116 +++++- codegen/sdk-codegen/aws-models/kendra.json | 2474 ++- .../sdk-codegen/aws-models/lex-models-v2.json | 1432 +- .../aws-models/sagemaker-runtime.json | 66 +- codegen/sdk-codegen/aws-models/sagemaker.json | 2475 ++- codegen/sdk-codegen/aws-models/shield.json | 365 +- .../aws/typescript/codegen/endpoints.json | 7 + 293 files changed, 94433 insertions(+), 51150 deletions(-) create mode 100644 clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts create mode 100644 clients/client-ec2/src/commands/CreateIpamCommand.ts create mode 100644 clients/client-ec2/src/commands/CreateIpamPoolCommand.ts create mode 100644 clients/client-ec2/src/commands/CreateIpamScopeCommand.ts create mode 100644 clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts create mode 100644 clients/client-ec2/src/commands/CreatePublicIpv4PoolCommand.ts create mode 100644 clients/client-ec2/src/commands/DeleteIpamCommand.ts create mode 100644 clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts create mode 100644 clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts create mode 100644 clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts create mode 100644 clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts create mode 100644 clients/client-ec2/src/commands/DeletePublicIpv4PoolCommand.ts create mode 100644 clients/client-ec2/src/commands/DeprovisionIpamPoolCidrCommand.ts create mode 100644 clients/client-ec2/src/commands/DeprovisionPublicIpv4PoolCidrCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeIpamScopesCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeIpamsCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopeAnalysesCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopesCommand.ts create mode 100644 clients/client-ec2/src/commands/DisableIpamOrganizationAdminAccountCommand.ts create mode 100644 clients/client-ec2/src/commands/EnableIpamOrganizationAdminAccountCommand.ts create mode 100644 clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts create mode 100644 clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts create mode 100644 clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts create mode 100644 clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts create mode 100644 clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts create mode 100644 clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts create mode 100644 clients/client-ec2/src/commands/ModifyIpamCommand.ts create mode 100644 clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts create mode 100644 clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts create mode 100644 clients/client-ec2/src/commands/ModifyIpamScopeCommand.ts create mode 100644 clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts create mode 100644 clients/client-ec2/src/commands/ProvisionIpamPoolCidrCommand.ts create mode 100644 clients/client-ec2/src/commands/ProvisionPublicIpv4PoolCidrCommand.ts create mode 100644 clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts create mode 100644 clients/client-ec2/src/commands/StartNetworkInsightsAccessScopeAnalysisCommand.ts create mode 100644 clients/client-ec2/src/models/models_6.ts create mode 100644 clients/client-ec2/src/pagination/DescribeIpamPoolsPaginator.ts create mode 100644 clients/client-ec2/src/pagination/DescribeIpamScopesPaginator.ts create mode 100644 clients/client-ec2/src/pagination/DescribeIpamsPaginator.ts create mode 100644 clients/client-ec2/src/pagination/DescribeNetworkInsightsAccessScopeAnalysesPaginator.ts create mode 100644 clients/client-ec2/src/pagination/DescribeNetworkInsightsAccessScopesPaginator.ts create mode 100644 clients/client-ec2/src/pagination/GetIpamAddressHistoryPaginator.ts create mode 100644 clients/client-ec2/src/pagination/GetIpamPoolAllocationsPaginator.ts create mode 100644 clients/client-ec2/src/pagination/GetIpamPoolCidrsPaginator.ts create mode 100644 clients/client-ec2/src/pagination/GetIpamResourceCidrsPaginator.ts create mode 100644 clients/client-kendra/src/commands/AssociateEntitiesToExperienceCommand.ts create mode 100644 clients/client-kendra/src/commands/AssociatePersonasToEntitiesCommand.ts create mode 100644 clients/client-kendra/src/commands/CreateExperienceCommand.ts create mode 100644 clients/client-kendra/src/commands/DeleteExperienceCommand.ts create mode 100644 clients/client-kendra/src/commands/DescribeExperienceCommand.ts create mode 100644 clients/client-kendra/src/commands/DisassociateEntitiesFromExperienceCommand.ts create mode 100644 clients/client-kendra/src/commands/DisassociatePersonasFromEntitiesCommand.ts create mode 100644 clients/client-kendra/src/commands/GetSnapshotsCommand.ts create mode 100644 clients/client-kendra/src/commands/ListEntityPersonasCommand.ts create mode 100644 clients/client-kendra/src/commands/ListExperienceEntitiesCommand.ts create mode 100644 clients/client-kendra/src/commands/ListExperiencesCommand.ts create mode 100644 clients/client-kendra/src/commands/UpdateExperienceCommand.ts create mode 100644 clients/client-kendra/src/pagination/ListEntityPersonasPaginator.ts create mode 100644 clients/client-kendra/src/pagination/ListExperienceEntitiesPaginator.ts create mode 100644 clients/client-kendra/src/pagination/ListExperiencesPaginator.ts create mode 100644 clients/client-lex-models-v2/src/commands/DescribeBotRecommendationCommand.ts create mode 100644 clients/client-lex-models-v2/src/commands/ListBotRecommendationsCommand.ts create mode 100644 clients/client-lex-models-v2/src/commands/ListRecommendedIntentsCommand.ts create mode 100644 clients/client-lex-models-v2/src/commands/SearchAssociatedTranscriptsCommand.ts create mode 100644 clients/client-lex-models-v2/src/commands/StartBotRecommendationCommand.ts create mode 100644 clients/client-lex-models-v2/src/commands/UpdateBotRecommendationCommand.ts create mode 100644 clients/client-lex-models-v2/src/pagination/ListBotRecommendationsPaginator.ts create mode 100644 clients/client-lex-models-v2/src/pagination/ListRecommendedIntentsPaginator.ts create mode 100644 clients/client-sagemaker/src/commands/CreateInferenceRecommendationsJobCommand.ts create mode 100644 clients/client-sagemaker/src/commands/DescribeInferenceRecommendationsJobCommand.ts create mode 100644 clients/client-sagemaker/src/commands/DescribeLineageGroupCommand.ts create mode 100644 clients/client-sagemaker/src/commands/GetLineageGroupPolicyCommand.ts create mode 100644 clients/client-sagemaker/src/commands/ListInferenceRecommendationsJobsCommand.ts create mode 100644 clients/client-sagemaker/src/commands/ListLineageGroupsCommand.ts create mode 100644 clients/client-sagemaker/src/commands/ListModelMetadataCommand.ts create mode 100644 clients/client-sagemaker/src/commands/QueryLineageCommand.ts create mode 100644 clients/client-sagemaker/src/commands/StopInferenceRecommendationsJobCommand.ts create mode 100644 clients/client-sagemaker/src/pagination/ListInferenceRecommendationsJobsPaginator.ts create mode 100644 clients/client-sagemaker/src/pagination/ListLineageGroupsPaginator.ts create mode 100644 clients/client-sagemaker/src/pagination/ListModelMetadataPaginator.ts create mode 100644 clients/client-sagemaker/src/pagination/QueryLineagePaginator.ts create mode 100644 clients/client-shield/src/commands/DisableApplicationLayerAutomaticResponseCommand.ts create mode 100644 clients/client-shield/src/commands/EnableApplicationLayerAutomaticResponseCommand.ts create mode 100644 clients/client-shield/src/commands/UpdateApplicationLayerAutomaticResponseCommand.ts diff --git a/clients/client-devops-guru/src/DevOpsGuru.ts b/clients/client-devops-guru/src/DevOpsGuru.ts index 4efc47d77778..97045d465e5d 100644 --- a/clients/client-devops-guru/src/DevOpsGuru.ts +++ b/clients/client-devops-guru/src/DevOpsGuru.ts @@ -451,8 +451,9 @@ export class DevOpsGuru extends DevOpsGuruClient { /** *

Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) * for all closed insights in resource collections in your account. You specify the type of - * Amazon Web Services resources collection. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * Amazon Web Services resources collection. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ public describeResourceCollectionHealth( args: DescribeResourceCollectionHealthCommandInput, @@ -555,8 +556,9 @@ export class DevOpsGuru extends DevOpsGuruClient { /** *

Returns lists Amazon Web Services resources that are of the specified resource collection type. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ public getResourceCollection( args: GetResourceCollectionCommandInput, @@ -880,12 +882,12 @@ export class DevOpsGuru extends DevOpsGuruClient { /** *

Returns a list of insights in your organization. You can specify which insights are * returned by their start time, one or more statuses (ONGOING, - * CLOSED, and CLOSED), one or more severities - * (LOW, MEDIUM, and HIGH), and type - * (REACTIVE or PROACTIVE).

+ * CLOSED, and CLOSED), one or more severities + * (LOW, MEDIUM, and HIGH), and type + * (REACTIVE or PROACTIVE).

*

Use the Filters parameter to specify status and severity search * parameters. Use the Type parameter to specify REACTIVE or - * PROACTIVE in your search.

+ * PROACTIVE in your search.

*/ public searchOrganizationInsights( args: SearchOrganizationInsightsCommandInput, @@ -951,8 +953,9 @@ export class DevOpsGuru extends DevOpsGuruClient { /** *

Updates the collection of resources that DevOps Guru analyzes. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for + * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for * you to use DevOps Guru.

*/ public updateResourceCollection( diff --git a/clients/client-devops-guru/src/commands/DescribeResourceCollectionHealthCommand.ts b/clients/client-devops-guru/src/commands/DescribeResourceCollectionHealthCommand.ts index 15bbc1f692b0..0e7e56c6e793 100644 --- a/clients/client-devops-guru/src/commands/DescribeResourceCollectionHealthCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeResourceCollectionHealthCommand.ts @@ -26,8 +26,9 @@ export interface DescribeResourceCollectionHealthCommandOutput /** *

Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) * for all closed insights in resource collections in your account. You specify the type of - * Amazon Web Services resources collection. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * Amazon Web Services resources collection. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts b/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts index 7ecaabe90af6..72d157086a8e 100644 --- a/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts +++ b/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts @@ -23,8 +23,9 @@ export interface GetResourceCollectionCommandOutput extends GetResourceCollectio /** *

Returns lists Amazon Web Services resources that are of the specified resource collection type. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/SearchOrganizationInsightsCommand.ts b/clients/client-devops-guru/src/commands/SearchOrganizationInsightsCommand.ts index 3b3af2d45e84..6dd3afc75d8d 100644 --- a/clients/client-devops-guru/src/commands/SearchOrganizationInsightsCommand.ts +++ b/clients/client-devops-guru/src/commands/SearchOrganizationInsightsCommand.ts @@ -24,12 +24,12 @@ export interface SearchOrganizationInsightsCommandOutput extends SearchOrganizat /** *

Returns a list of insights in your organization. You can specify which insights are * returned by their start time, one or more statuses (ONGOING, - * CLOSED, and CLOSED), one or more severities - * (LOW, MEDIUM, and HIGH), and type - * (REACTIVE or PROACTIVE).

+ * CLOSED, and CLOSED), one or more severities + * (LOW, MEDIUM, and HIGH), and type + * (REACTIVE or PROACTIVE).

*

Use the Filters parameter to specify status and severity search * parameters. Use the Type parameter to specify REACTIVE or - * PROACTIVE in your search.

+ * PROACTIVE in your search.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts b/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts index 695b5cf2add3..1ce128abdd36 100644 --- a/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts +++ b/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts @@ -23,8 +23,9 @@ export interface UpdateResourceCollectionCommandOutput extends UpdateResourceCol /** *

Updates the collection of resources that DevOps Guru analyzes. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for + * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for * you to use DevOps Guru.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-devops-guru/src/models/models_0.ts b/clients/client-devops-guru/src/models/models_0.ts index bdef64bf006b..14013e70be87 100644 --- a/clients/client-devops-guru/src/models/models_0.ts +++ b/clients/client-devops-guru/src/models/models_0.ts @@ -321,7 +321,9 @@ export namespace ValidationExceptionField { export enum ValidationExceptionReason { CANNOT_PARSE = "CANNOT_PARSE", FIELD_VALIDATION_FAILED = "FIELD_VALIDATION_FAILED", + INVALID_PARAMETER_COMBINATION = "INVALID_PARAMETER_COMBINATION", OTHER = "OTHER", + PARAMETER_INCONSISTENT_WITH_SERVICE_STATE = "PARAMETER_INCONSISTENT_WITH_SERVICE_STATE", UNKNOWN_OPERATION = "UNKNOWN_OPERATION", } @@ -383,6 +385,33 @@ export namespace AnomalyReportedTimeRange { }); } +/** + *

The Amazon Web Services resources in which DevOps Guru detected unusual behavior that resulted in + * the generation of an anomaly. When DevOps Guru detects multiple related anomalies, it creates + * and insight with details about the anomalous behavior and suggestions about how to correct the + * problem.

+ */ +export interface AnomalyResource { + /** + *

The name of the Amazon Web Services resource.

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

The type of the Amazon Web Services resource.

+ */ + Type?: string; +} + +export namespace AnomalyResource { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AnomalyResource): any => ({ + ...obj, + }); +} + export enum AnomalySeverity { HIGH = "HIGH", LOW = "LOW", @@ -390,7 +419,7 @@ export enum AnomalySeverity { } /** - *

The dimension of a Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in + *

The dimension of am Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in * your account for operational problems and anomalous behavior. A dimension is a * name/value pair that is part of the identity of a metric. A metric can have up to 10 * dimensions. For more information, see Dimensions in the Amazon CloudWatch User Guide.

@@ -452,13 +481,13 @@ export namespace TimestampMetricValuePair { */ export interface CloudWatchMetricsDataSummary { /** - *

This is a list of cloudwatch metric values at given timestamp.

+ *

This is a list of Amazon CloudWatch metric values at given timestamp.

*/ TimestampMetricValuePairList?: TimestampMetricValuePair[]; /** - *

This is enum of the status showing whether the metric value pair list has Partial or - * Complete data or there was an error.

+ *

This is an enum of the status showing whether the metric value pair list has partial or + * complete data, or if there was an error.

*/ StatusCode?: CloudWatchMetricDataStatusCode | string; } @@ -535,16 +564,472 @@ export namespace CloudWatchMetricsDetail { }); } +/** + *

A logical grouping of Performance Insights metrics for a related subject area. For example, the + * db.sql dimension group consists of the following dimensions: + * db.sql.id, db.sql.db_id, db.sql.statement, and + * db.sql.tokenized_id.

+ * + *

Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, + * only the first 500 bytes are returned.

+ *
+ * + *

Amazon RDS Performance Insights enables you to monitor and explore different + * dimensions of database load based on data captured from a running DB instance. + * DB load is measured as average active sessions. Performance Insights provides the + * data to API consumers as a two-dimensional time-series dataset. The time dimension + * provides DB load data for each time point in the queried time range. Each time point + * decomposes overall load in relation to the requested dimensions, measured at that + * time point. Examples include SQL, Wait event, User, and Host.

+ * + * + */ +export interface PerformanceInsightsMetricDimensionGroup { + /** + *

The name of the dimension group. Its valid values are:

+ * + * + */ + Group?: string; + + /** + *

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 + * the response.

+ *

Valid values for elements in the Dimensions array are:

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

The maximum number of items to fetch for this dimension group.

+ */ + Limit?: number; +} + +export namespace PerformanceInsightsMetricDimensionGroup { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsMetricDimensionGroup): any => ({ + ...obj, + }); +} + +/** + *

A single query to be processed. Use these parameters to + * query the Performance Insights GetResourceMetrics API to retrieve the metrics + * for an anomaly. For more information, see + * GetResourceMetrics + * + * in the Amazon RDS Performance Insights API Reference.

+ * + *

Amazon RDS Performance Insights enables you to monitor and explore different + * dimensions of database load based on data captured from a running DB instance. + * DB load is measured as average active sessions. Performance Insights provides the + * data to API consumers as a two-dimensional time-series dataset. The time dimension + * provides DB load data for each time point in the queried time range. Each time point + * decomposes overall load in relation to the requested dimensions, measured at that + * time point. Examples include SQL, Wait event, User, and Host.

+ * + * + */ +export interface PerformanceInsightsMetricQuery { + /** + *

The name of the meteric used used when querying an Performance Insights GetResourceMetrics API for + * anomaly metrics.

+ * + *

Valid values for Metric are:

+ * + * + *

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg + * are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg + * showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. + * For most use cases, you can query db.load.avg only.

+ */ + Metric?: string; + + /** + *

The specification for how to aggregate the data points from a Performance Insights GetResourceMetrics API query. The + * Performance Insights query returns 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?: PerformanceInsightsMetricDimensionGroup; + + /** + *

One or more filters to apply to a Performance Insights GetResourceMetrics API query. Restrictions:

+ * + */ + Filter?: { [key: string]: string }; +} + +export namespace PerformanceInsightsMetricQuery { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsMetricQuery): any => ({ + ...obj, + }); +} + +/** + *

Information about a reference metric used to evaluate Performance Insights.

+ */ +export interface PerformanceInsightsReferenceMetric { + /** + *

A query to be processed on the metric.

+ */ + MetricQuery?: PerformanceInsightsMetricQuery; +} + +export namespace PerformanceInsightsReferenceMetric { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsReferenceMetric): any => ({ + ...obj, + }); +} + +/** + *

A reference value to compare Performance Insights metrics against to determine if the metrics + * demonstrate anomalous behavior.

+ */ +export interface PerformanceInsightsReferenceScalar { + /** + *

The reference value.

+ */ + Value?: number; +} + +export namespace PerformanceInsightsReferenceScalar { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsReferenceScalar): any => ({ + ...obj, + }); +} + +/** + *

Reference scalar values and other metrics that DevOps Guru displays on a graph in its console along with the actual metrics it + * analyzed. Compare these reference values to your actual metrics to help you understand anomalous behavior that DevOps Guru detected.

+ */ +export interface PerformanceInsightsReferenceComparisonValues { + /** + *

A scalar value DevOps Guru for a metric that DevOps Guru compares to actual metric values. This reference value is used + * to determine if an actual metric value should be considered anomalous.

+ */ + ReferenceScalar?: PerformanceInsightsReferenceScalar; + + /** + *

A metric that DevOps Guru compares to actual metric values. This reference metric is used + * to determine if an actual metric should be considered anomalous.

+ */ + ReferenceMetric?: PerformanceInsightsReferenceMetric; +} + +export namespace PerformanceInsightsReferenceComparisonValues { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsReferenceComparisonValues): any => ({ + ...obj, + }); +} + +/** + *

Reference data used to evaluate Performance Insights to determine if its performance + * is anomalous or not.

+ */ +export interface PerformanceInsightsReferenceData { + /** + *

The name of the reference data.

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

The specific reference values used to evaluate the Performance Insights. For more information, see + * + * PerformanceInsightsReferenceComparisonValues + * . + *

+ */ + ComparisonValues?: PerformanceInsightsReferenceComparisonValues; +} + +export namespace PerformanceInsightsReferenceData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsReferenceData): any => ({ + ...obj, + }); +} + +/** + *

A statistic in a Performance Insights collection.

+ */ +export interface PerformanceInsightsStat { + /** + *

The statistic type.

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

The value of the statistic.

+ */ + Value?: number; +} + +export namespace PerformanceInsightsStat { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsStat): any => ({ + ...obj, + }); +} + +/** + *

Details about Performance Insights metrics.

+ * + *

Amazon RDS Performance Insights enables you to monitor and explore different + * dimensions of database load based on data captured from a running DB instance. + * DB load is measured as average active sessions. Performance Insights provides the + * data to API consumers as a two-dimensional time-series dataset. The time dimension + * provides DB load data for each time point in the queried time range. Each time point + * decomposes overall load in relation to the requested dimensions, measured at that + * time point. Examples include SQL, Wait event, User, and Host.

+ * + * + */ +export interface PerformanceInsightsMetricsDetail { + /** + *

The name used for a specific Performance Insights metric.

+ */ + MetricDisplayName?: string; + + /** + *

The unit of measure for a metric. For example, a session or a process.

+ */ + Unit?: string; + + /** + *

A single query to be processed for the metric. For more information, see + * + * PerformanceInsightsMetricQuery + * .

+ */ + MetricQuery?: PerformanceInsightsMetricQuery; + + /** + *

+ * For more information, see + * + * PerformanceInsightsReferenceData + * . + *

+ */ + ReferenceData?: PerformanceInsightsReferenceData[]; + + /** + *

The metric statistics during the anomalous period detected by DevOps Guru;

+ */ + StatsAtAnomaly?: PerformanceInsightsStat[]; + + /** + *

Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes + * metrics, it compares them to StatsAtBaseline to help determine if they are + * anomalous.

+ */ + StatsAtBaseline?: PerformanceInsightsStat[]; +} + +export namespace PerformanceInsightsMetricsDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PerformanceInsightsMetricsDetail): any => ({ + ...obj, + }); +} + /** *

Details about the source of the anomalous operational data that triggered the - * anomaly. The one supported source is Amazon CloudWatch metrics.

+ * anomaly.

*/ export interface AnomalySourceDetails { /** - *

An array of CloudWatchMetricsDetail object that contains information - * about the analyzed metrics that displayed anomalous behavior.

+ *

An array of CloudWatchMetricsDetail objects that contain information + * about analyzed CloudWatch metrics that show anomalous behavior.

*/ CloudWatchMetrics?: CloudWatchMetricsDetail[]; + + /** + *

An array of PerformanceInsightsMetricsDetail objects that contain information + * about analyzed Performance Insights metrics that show anomalous behavior.

+ */ + PerformanceInsightsMetrics?: PerformanceInsightsMetricsDetail[]; } export namespace AnomalySourceDetails { @@ -587,6 +1072,11 @@ export namespace AnomalyTimeRange { }); } +export enum AnomalyType { + CAUSAL = "CAUSAL", + CONTEXTUAL = "CONTEXTUAL", +} + export interface DescribeAccountHealthRequest {} export namespace DescribeAccountHealthRequest { @@ -756,10 +1246,87 @@ export namespace CloudFormationCollection { }); } +/** + *

A collection of Amazon Web Services stags.

+ *

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support + * tagging, so you can assign the same tag to resources from different services to indicate + * that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB + * table resource that you assign to an Lambda function. For more information about + * using tags, see the Tagging + * best practices whitepaper.

+ *

Each Amazon Web Services tag has two parts.

+ * + *

Together these are known as key-value pairs.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ +export interface TagCollection { + /** + *

An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that + * DevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make + * up your DevOps Guru application and analysis boundary.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

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

The values in an Amazon Web Services tag collection.

+ *

The tag's value is an optional field used to associate a string with + * the tag key (for example, 111122223333, Production, or a team + * name). The key and value are the tag's key pair. + * Omitting the tag value is the same as using an empty + * string. Like tag keys, tag values are + * case-sensitive. You can specify a maximum of 256 characters for a tag value.

+ */ + TagValues: string[] | undefined; +} + +export namespace TagCollection { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagCollection): any => ({ + ...obj, + }); +} + /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ export interface ResourceCollection { /** @@ -767,6 +1334,44 @@ export interface ResourceCollection { * DevOps Guru analyzes. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ CloudFormation?: CloudFormationCollection; + + /** + *

The Amazon Web Services tags that are used by resources in the resource collection.

+ *

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support + * tagging, so you can assign the same tag to resources from different services to indicate + * that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB + * table resource that you assign to an Lambda function. For more information about + * using tags, see the Tagging + * best practices whitepaper.

+ *

Each Amazon Web Services tag has two parts.

+ * + *

Together these are known as key-value pairs.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ + Tags?: TagCollection[]; } export namespace ResourceCollection { @@ -789,7 +1394,10 @@ export interface ProactiveAnomaly { Id?: string; /** - *

The severity of a proactive anomaly.

+ *

The severity of the anomaly. The severity of anomalies that generate + * an insight determine that insight's severity. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: AnomalySeverity | string; @@ -812,7 +1420,7 @@ export interface ProactiveAnomaly { /** *

- * A AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. + * An AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. *

*/ AnomalyReportedTimeRange?: AnomalyReportedTimeRange; @@ -837,8 +1445,9 @@ export interface ProactiveAnomaly { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -869,7 +1478,10 @@ export interface ReactiveAnomaly { Id?: string; /** - *

The severity of the anomaly.

+ *

The severity of the anomaly. The severity of anomalies that generate + * an insight determine that insight's severity. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: AnomalySeverity | string; @@ -887,7 +1499,7 @@ export interface ReactiveAnomaly { /** *

- * A AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. + * An AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. *

*/ AnomalyReportedTimeRange?: AnomalyReportedTimeRange; @@ -906,10 +1518,47 @@ export interface ReactiveAnomaly { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; + + /** + *

The type of the reactive anomaly. It can be one of the following types.

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

The name of the reactive anomaly.

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

A description of the reactive anomaly.

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

The ID of the causal anomaly that is associated with this + * reactive anomaly. The ID of a `CAUSAL` anomaly is always `NULL`.

+ */ + CausalAnomalyId?: string; + + /** + *

The Amazon Web Services resources in which anomalous behavior was detected by DevOps Guru.

+ */ + AnomalyResources?: AnomalyResource[]; } export namespace ReactiveAnomaly { @@ -923,12 +1572,12 @@ export namespace ReactiveAnomaly { export interface DescribeAnomalyResponse { /** - *

A ReactiveAnomaly object that represents the requested anomaly.

+ *

A ProactiveAnomaly object that represents the requested anomaly.

*/ ProactiveAnomaly?: ProactiveAnomaly; /** - *

A ProactiveAnomaly object that represents the requested anomaly.

+ *

A ReactiveAnomaly object that represents the requested anomaly.

*/ ReactiveAnomaly?: ReactiveAnomaly; } @@ -1079,7 +1728,9 @@ export interface ProactiveInsight { Name?: string; /** - *

The severity of the proactive insight.

+ *

The severity of the insight. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: InsightSeverity | string; @@ -1102,8 +1753,9 @@ export interface ProactiveInsight { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -1139,7 +1791,9 @@ export interface ReactiveInsight { Name?: string; /** - *

The severity of a reactive insight.

+ *

The severity of the insight. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: InsightSeverity | string; @@ -1156,8 +1810,9 @@ export interface ReactiveInsight { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -1321,8 +1976,9 @@ export enum OrganizationResourceCollectionType { export interface DescribeOrganizationResourceCollectionHealthRequest { /** *

An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources - * are defined. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * are defined. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ OrganizationResourceCollectionType: OrganizationResourceCollectionType | string | undefined; @@ -1497,7 +2153,7 @@ export namespace ServiceHealth { export interface DescribeOrganizationResourceCollectionHealthResponse { /** *

The returned CloudFormationHealthOverview object that contains an - * InsightHealthOverview object with the requested system health + * InsightHealthOverview object with the requested system health * information.

*/ CloudFormation?: CloudFormationHealth[]; @@ -1532,13 +2188,15 @@ export namespace DescribeOrganizationResourceCollectionHealthResponse { export enum ResourceCollectionType { AWS_CLOUD_FORMATION = "AWS_CLOUD_FORMATION", AWS_SERVICE = "AWS_SERVICE", + AWS_TAGS = "AWS_TAGS", } export interface DescribeResourceCollectionHealthRequest { /** *

An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources - * are defined. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * are defined. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollectionType: ResourceCollectionType | string | undefined; @@ -1558,13 +2216,64 @@ export namespace DescribeResourceCollectionHealthRequest { }); } +/** + *

Information about the health of Amazon Web Services resources in your account that are specified by + * an Amazon Web Services tag key.

+ */ +export interface TagHealth { + /** + *

An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that + * DevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make + * up your DevOps Guru application and analysis boundary.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ + AppBoundaryKey?: string; + + /** + *

The value in an Amazon Web Services tag.

+ *

The tag's value is an optional field used to associate a string with + * the tag key (for example, 111122223333, Production, or a team + * name). The key and value are the tag's key pair. + * Omitting the tag value is the same as using an empty + * string. Like tag keys, tag values are + * case-sensitive. You can specify a maximum of 256 characters for a tag value.

+ */ + TagValue?: string; + + /** + *

Information about the health of the Amazon Web Services resources in your account that are + * specified by an Amazon Web Services tag, including the number of open proactive, open reactive + * insights, and the Mean Time to Recover (MTTR) of closed insights.

+ */ + Insight?: InsightHealth; +} + +export namespace TagHealth { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagHealth): any => ({ + ...obj, + }); +} + export interface DescribeResourceCollectionHealthResponse { /** *

The returned CloudFormationHealthOverview object that contains an * InsightHealthOverview object with the requested system health * information.

*/ - CloudFormation: CloudFormationHealth[] | undefined; + CloudFormation?: CloudFormationHealth[]; /** *

An array of ServiceHealth objects that describes the health of the Amazon Web Services @@ -1577,6 +2286,44 @@ export interface DescribeResourceCollectionHealthResponse { * the next page of results for this operation. If there are no more pages, this value is null.

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

The Amazon Web Services tags that are used by resources in the resource collection.

+ *

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support + * tagging, so you can assign the same tag to resources from different services to indicate + * that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB + * table resource that you assign to an Lambda function. For more information about + * using tags, see the Tagging + * best practices whitepaper.

+ *

Each Amazon Web Services tag has two parts.

+ * + *

Together these are known as key-value pairs.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ + Tags?: TagHealth[]; } export namespace DescribeResourceCollectionHealthResponse { @@ -1760,6 +2507,54 @@ export namespace CloudFormationCostEstimationResourceCollectionFilter { }); } +/** + *

Information about a collection of Amazon Web Services resources that are identified by an + * Amazon Web Services tag. This collection of resources is used to create a monthly cost estimate + * for DevOps Guru to analyze Amazon Web Services resources. The maximum number of tags you can specify for a + * cost estimate is one. The estimate created is for the cost to analyze the Amazon Web Services + * resources defined by the tag. For more information, see Stacks in the + * Amazon Web Services CloudFormation User Guide.

+ */ +export interface TagCostEstimationResourceCollectionFilter { + /** + *

An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that + * DevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make + * up your DevOps Guru application and analysis boundary.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

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

The values in an Amazon Web Services tag collection.

+ *

The tag's value is an optional field used to associate a string with + * the tag key (for example, 111122223333, Production, or a team + * name). The key and value are the tag's key pair. + * Omitting the tag value is the same as using an empty + * string. Like tag keys, tag values are + * case-sensitive. You can specify a maximum of 256 characters for a tag value.

+ */ + TagValues: string[] | undefined; +} + +export namespace TagCostEstimationResourceCollectionFilter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagCostEstimationResourceCollectionFilter): any => ({ + ...obj, + }); +} + /** *

Information about a filter used to specify which Amazon Web Services resources are analyzed to * create a monthly DevOps Guru cost estimate. For more information, @@ -1773,6 +2568,45 @@ export interface CostEstimationResourceCollectionFilter { * used to create a monthly estimate for DevOps Guru.

*/ CloudFormation?: CloudFormationCostEstimationResourceCollectionFilter; + + /** + *

The Amazon Web Services tags used to filter the resource collection that is used for + * a cost estimate.

+ *

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support + * tagging, so you can assign the same tag to resources from different services to indicate + * that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB + * table resource that you assign to an Lambda function. For more information about + * using tags, see the Tagging + * best practices whitepaper.

+ *

Each Amazon Web Services tag has two parts.

+ * + *

Together these are known as key-value pairs.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ + Tags?: TagCostEstimationResourceCollectionFilter[]; } export namespace CostEstimationResourceCollectionFilter { @@ -1906,6 +2740,50 @@ export namespace CloudFormationCollectionFilter { }); } +/** + *

A collection of Amazon Web Services tags used to filter insights. This is used to return insights generated from + * only resources that contain the tags in the tag collection.

+ */ +export interface TagCollectionFilter { + /** + *

An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that + * DevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make + * up your DevOps Guru application and analysis boundary.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

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

The values in an Amazon Web Services tag collection.

+ *

The tag's value is an optional field used to associate a string with + * the tag key (for example, 111122223333, Production, or a team + * name). The key and value are the tag's key pair. + * Omitting the tag value is the same as using an empty + * string. Like tag keys, tag values are + * case-sensitive. You can specify a maximum of 256 characters for a tag value.

+ */ + TagValues: string[] | undefined; +} + +export namespace TagCollectionFilter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagCollectionFilter): any => ({ + ...obj, + }); +} + /** *

Information about a filter used to specify which Amazon Web Services resources are analyzed for * anomalous behavior by DevOps Guru.

@@ -1918,6 +2796,44 @@ export interface ResourceCollectionFilter { * Amazon Web Services CloudFormation User Guide.

*/ CloudFormation?: CloudFormationCollectionFilter; + + /** + *

The Amazon Web Services tags used to filter the resources in the resource collection.

+ *

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support + * tagging, so you can assign the same tag to resources from different services to indicate + * that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB + * table resource that you assign to an Lambda function. For more information about + * using tags, see the Tagging + * best practices whitepaper.

+ *

Each Amazon Web Services tag has two parts.

+ * + *

Together these are known as key-value pairs.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ + Tags?: TagCollectionFilter[]; } export namespace ResourceCollectionFilter { @@ -1932,8 +2848,9 @@ export namespace ResourceCollectionFilter { export interface GetResourceCollectionResponse { /** *

The requested list of Amazon Web Services resource collections. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollectionFilter; @@ -2029,7 +2946,10 @@ export interface ProactiveAnomalySummary { Id?: string; /** - *

The severity of the anomaly.

+ *

The severity of the anomaly. The severity of anomalies that generate + * an insight determine that insight's severity. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: AnomalySeverity | string; @@ -2052,7 +2972,7 @@ export interface ProactiveAnomalySummary { /** *

- * A AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. + * An AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. *

*/ AnomalyReportedTimeRange?: AnomalyReportedTimeRange; @@ -2077,8 +2997,9 @@ export interface ProactiveAnomalySummary { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -2110,7 +3031,10 @@ export interface ReactiveAnomalySummary { Id?: string; /** - *

The severity of the reactive anomaly.

+ *

The severity of the anomaly. The severity of anomalies that generate + * an insight determine that insight's severity. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: AnomalySeverity | string; @@ -2128,7 +3052,7 @@ export interface ReactiveAnomalySummary { /** *

- * A AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. + * An AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed. *

*/ AnomalyReportedTimeRange?: AnomalyReportedTimeRange; @@ -2147,10 +3071,47 @@ export interface ReactiveAnomalySummary { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; + + /** + *

The type of the reactive anomaly. It can be one of the following types.

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

The name of the reactive anomaly.

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

A description of the reactive anomaly.

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

The ID of the causal anomaly that is associated with this + * reactive anomaly. The ID of a `CAUSAL` anomaly is always `NULL`.

+ */ + CausalAnomalyId?: string; + + /** + *

The Amazon Web Services resources in which anomalous behavior was detected by DevOps Guru.

+ */ + AnomalyResources?: AnomalyResource[]; } export namespace ReactiveAnomalySummary { @@ -2264,8 +3225,9 @@ export interface ListEventsFilters { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; } @@ -2352,8 +3314,9 @@ export namespace EventResource { export interface Event { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -2627,7 +3590,9 @@ export interface ProactiveInsightSummary { Name?: string; /** - *

The severity of the proactive insight.

+ *

The severity of the insight. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: InsightSeverity | string; @@ -2650,8 +3615,9 @@ export interface ProactiveInsightSummary { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -2659,6 +3625,12 @@ export interface ProactiveInsightSummary { *

A collection of the names of Amazon Web Services services.

*/ ServiceCollection?: ServiceCollection; + + /** + *

The Amazon Resource Names (ARNs) + * of the Amazon Web Services resources that generated this insight.

+ */ + AssociatedResourceArns?: string[]; } export namespace ProactiveInsightSummary { @@ -2687,7 +3659,9 @@ export interface ReactiveInsightSummary { Name?: string; /** - *

The severity of a reactive insight.

+ *

The severity of the insight. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: InsightSeverity | string; @@ -2704,8 +3678,9 @@ export interface ReactiveInsightSummary { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -2713,6 +3688,12 @@ export interface ReactiveInsightSummary { *

A collection of the names of Amazon Web Services services.

*/ ServiceCollection?: ServiceCollection; + + /** + *

The Amazon Resource Names (ARNs) + * of the Amazon Web Services resources that generated this insight.

+ */ + AssociatedResourceArns?: string[]; } export namespace ReactiveInsightSummary { @@ -2865,7 +3846,7 @@ export namespace ListOrganizationInsightsRequest { /** *

Details about a proactive insight. This object is returned by - * DescribeInsight.

+ * DescribeInsight.

*/ export interface ProactiveOrganizationInsightSummary { /** @@ -2889,7 +3870,9 @@ export interface ProactiveOrganizationInsightSummary { Name?: string; /** - *

An array of severity values used to search for insights.

+ *

An array of severity values used to search for insights. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: InsightSeverity | string; @@ -2912,8 +3895,9 @@ export interface ProactiveOrganizationInsightSummary { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -2934,7 +3918,7 @@ export namespace ProactiveOrganizationInsightSummary { /** *

Information about a reactive insight. This object is returned by - * DescribeInsight.

+ * DescribeInsight.

*/ export interface ReactiveOrganizationInsightSummary { /** @@ -2943,7 +3927,7 @@ export interface ReactiveOrganizationInsightSummary { Id?: string; /** - *

The ID of the Amazon Web Services account.

+ *

The ID of the Amazon Web Services account.

*/ AccountId?: string; @@ -2958,7 +3942,9 @@ export interface ReactiveOrganizationInsightSummary { Name?: string; /** - *

An array of severity values used to search for insights.

+ *

An array of severity values used to search for insights. For more information, see + * Understanding + * insight severities in the Amazon DevOps Guru User Guide.

*/ Severity?: InsightSeverity | string; @@ -2975,8 +3961,9 @@ export interface ReactiveOrganizationInsightSummary { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -3080,7 +4067,11 @@ export interface RecommendationRelatedAnomalyResource { Name?: string; /** - *

The type of the resource.

+ *

The type of the resource. Resource types take the same form that is + * used by Amazon Web Services CloudFormation resource type identifiers, service-provider::service-name::data-type-name. + * For example, AWS::RDS::DBCluster. For more information, see + * Amazon Web Services resource and + * property types reference in the Amazon Web Services CloudFormation User Guide.

*/ Type?: string; } @@ -3155,6 +4146,11 @@ export interface RecommendationRelatedAnomaly { * For example, details in Amazon CloudWatch metrics.

*/ SourceDetails?: RecommendationRelatedAnomalySourceDetail[]; + + /** + *

The ID of an anomaly that generated the insight with this recommendation.

+ */ + AnomalyId?: string; } export namespace RecommendationRelatedAnomaly { @@ -3359,8 +4355,9 @@ export interface SearchInsightsFilters { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -3464,8 +4461,9 @@ export interface SearchOrganizationInsightsFilters { /** *

A collection of Amazon Web Services resources supported by DevOps Guru. - * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze - * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ * The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and + * Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze + * the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ ResourceCollection?: ResourceCollection; @@ -3516,7 +4514,7 @@ export interface SearchOrganizationInsightsRequest { /** *

The type of insights you are searching for (REACTIVE or - * PROACTIVE).

+ * PROACTIVE).

*/ Type: InsightType | string | undefined; } @@ -3617,14 +4615,96 @@ export namespace UpdateCloudFormationCollectionFilter { }); } +/** + *

A new collection of Amazon Web Services resources that are defined by an Amazon Web Services tag or tag + * key/value pair.

+ */ +export interface UpdateTagCollectionFilter { + /** + *

An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that + * DevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make + * up your DevOps Guru application and analysis boundary.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

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

The values in an Amazon Web Services tag collection.

+ *

The tag's value is an optional field used to associate a string with + * the tag key (for example, 111122223333, Production, or a team + * name). The key and value are the tag's key pair. + * Omitting the tag value is the same as using an empty + * string. Like tag keys, tag values are + * case-sensitive. You can specify a maximum of 256 characters for a tag value.

+ */ + TagValues: string[] | undefined; +} + +export namespace UpdateTagCollectionFilter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateTagCollectionFilter): any => ({ + ...obj, + }); +} + /** *

Contains information used to update a collection of Amazon Web Services resources.

*/ export interface UpdateResourceCollectionFilter { /** - *

An collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

+ *

A collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

*/ CloudFormation?: UpdateCloudFormationCollectionFilter; + + /** + *

The updated Amazon Web Services tags used to filter the resources in the resource collection.

+ *

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support + * tagging, so you can assign the same tag to resources from different services to indicate + * that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB + * table resource that you assign to an Lambda function. For more information about + * using tags, see the Tagging + * best practices whitepaper.

+ *

Each Amazon Web Services tag has two parts.

+ * + *

Together these are known as key-value pairs.

+ * + *

The string used for a key in a tag that you use to define your resource coverage must begin with the + * prefix Devops-guru-. The tag key might be + * Devops-guru-deployment-application or + * Devops-guru-rds-application. While keys are case-sensitive, the + * case of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a + * key named devops-guru-rds and a key named + * DevOps-Guru-RDS. Possible key/value pairs in your + * application might be Devops-Guru-production-application/RDS or + * Devops-Guru-production-application/containers.

+ *
+ */ + Tags?: UpdateTagCollectionFilter[]; } export namespace UpdateResourceCollectionFilter { diff --git a/clients/client-devops-guru/src/protocols/Aws_restJson1.ts b/clients/client-devops-guru/src/protocols/Aws_restJson1.ts index 8e56f1ed1f1f..9361dd62e3a3 100644 --- a/clients/client-devops-guru/src/protocols/Aws_restJson1.ts +++ b/clients/client-devops-guru/src/protocols/Aws_restJson1.ts @@ -105,6 +105,7 @@ import { AccountHealth, AccountInsightHealth, AnomalyReportedTimeRange, + AnomalyResource, AnomalySourceDetails, AnomalyTimeRange, CloudFormationCollection, @@ -136,6 +137,14 @@ import { NotificationChannelConfig, OpsCenterIntegration, OpsCenterIntegrationConfig, + PerformanceInsightsMetricDimensionGroup, + PerformanceInsightsMetricQuery, + PerformanceInsightsMetricsDetail, + PerformanceInsightsReferenceComparisonValues, + PerformanceInsightsReferenceData, + PerformanceInsightsReferenceMetric, + PerformanceInsightsReferenceScalar, + PerformanceInsightsStat, PredictionTimeRange, ProactiveAnomaly, ProactiveAnomalySummary, @@ -168,11 +177,16 @@ import { ServiceResourceCost, SnsChannelConfig, StartTimeRange, + TagCollection, + TagCollectionFilter, + TagCostEstimationResourceCollectionFilter, + TagHealth, ThrottlingException, TimestampMetricValuePair, UpdateCloudFormationCollectionFilter, UpdateResourceCollectionFilter, UpdateServiceIntegrationConfig, + UpdateTagCollectionFilter, ValidationException, ValidationExceptionField, } from "../models/models_0"; @@ -1775,6 +1789,7 @@ export const deserializeAws_restJson1DescribeResourceCollectionHealthCommand = a CloudFormation: undefined, NextToken: undefined, Service: undefined, + Tags: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); if (data.CloudFormation !== undefined && data.CloudFormation !== null) { @@ -1786,6 +1801,9 @@ export const deserializeAws_restJson1DescribeResourceCollectionHealthCommand = a if (data.Service !== undefined && data.Service !== null) { contents.Service = deserializeAws_restJson1ServiceHealths(data.Service, context); } + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagHealths(data.Tags, context); + } return Promise.resolve(contents); }; @@ -3481,6 +3499,10 @@ const serializeAws_restJson1CostEstimationResourceCollectionFilter = ( context ), }), + ...(input.Tags !== undefined && + input.Tags !== null && { + Tags: serializeAws_restJson1TagCostEstimationResourceCollectionFilters(input.Tags, context), + }), }; }; @@ -3495,6 +3517,17 @@ const serializeAws_restJson1CostEstimationStackNames = (input: string[], context }); }; +const serializeAws_restJson1CostEstimationTagValues = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_restJson1EndTimeRange = (input: EndTimeRange, context: __SerdeContext): any => { return { ...(input.FromTime !== undefined && @@ -3664,6 +3697,8 @@ const serializeAws_restJson1ResourceCollection = (input: ResourceCollection, con input.CloudFormation !== null && { CloudFormation: serializeAws_restJson1CloudFormationCollection(input.CloudFormation, context), }), + ...(input.Tags !== undefined && + input.Tags !== null && { Tags: serializeAws_restJson1TagCollections(input.Tags, context) }), }; }; @@ -3758,6 +3793,65 @@ const serializeAws_restJson1StartTimeRange = (input: StartTimeRange, context: __ }; }; +const serializeAws_restJson1TagCollection = (input: TagCollection, context: __SerdeContext): any => { + return { + ...(input.AppBoundaryKey !== undefined && + input.AppBoundaryKey !== null && { AppBoundaryKey: input.AppBoundaryKey }), + ...(input.TagValues !== undefined && + input.TagValues !== null && { TagValues: serializeAws_restJson1TagValues(input.TagValues, context) }), + }; +}; + +const serializeAws_restJson1TagCollections = (input: TagCollection[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1TagCollection(entry, context); + }); +}; + +const serializeAws_restJson1TagCostEstimationResourceCollectionFilter = ( + input: TagCostEstimationResourceCollectionFilter, + context: __SerdeContext +): any => { + return { + ...(input.AppBoundaryKey !== undefined && + input.AppBoundaryKey !== null && { AppBoundaryKey: input.AppBoundaryKey }), + ...(input.TagValues !== undefined && + input.TagValues !== null && { + TagValues: serializeAws_restJson1CostEstimationTagValues(input.TagValues, context), + }), + }; +}; + +const serializeAws_restJson1TagCostEstimationResourceCollectionFilters = ( + input: TagCostEstimationResourceCollectionFilter[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1TagCostEstimationResourceCollectionFilter(entry, context); + }); +}; + +const serializeAws_restJson1TagValues = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_restJson1UpdateCloudFormationCollectionFilter = ( input: UpdateCloudFormationCollectionFilter, context: __SerdeContext @@ -3777,6 +3871,8 @@ const serializeAws_restJson1UpdateResourceCollectionFilter = ( input.CloudFormation !== null && { CloudFormation: serializeAws_restJson1UpdateCloudFormationCollectionFilter(input.CloudFormation, context), }), + ...(input.Tags !== undefined && + input.Tags !== null && { Tags: serializeAws_restJson1UpdateTagCollectionFilters(input.Tags, context) }), }; }; @@ -3803,6 +3899,43 @@ const serializeAws_restJson1UpdateStackNames = (input: string[], context: __Serd }); }; +const serializeAws_restJson1UpdateTagCollectionFilter = ( + input: UpdateTagCollectionFilter, + context: __SerdeContext +): any => { + return { + ...(input.AppBoundaryKey !== undefined && + input.AppBoundaryKey !== null && { AppBoundaryKey: input.AppBoundaryKey }), + ...(input.TagValues !== undefined && + input.TagValues !== null && { TagValues: serializeAws_restJson1UpdateTagValues(input.TagValues, context) }), + }; +}; + +const serializeAws_restJson1UpdateTagCollectionFilters = ( + input: UpdateTagCollectionFilter[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1UpdateTagCollectionFilter(entry, context); + }); +}; + +const serializeAws_restJson1UpdateTagValues = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const deserializeAws_restJson1AccountHealth = (output: any, context: __SerdeContext): AccountHealth => { return { AccountId: __expectString(output.AccountId), @@ -3847,12 +3980,34 @@ const deserializeAws_restJson1AnomalyReportedTimeRange = ( } as any; }; +const deserializeAws_restJson1AnomalyResource = (output: any, context: __SerdeContext): AnomalyResource => { + return { + Name: __expectString(output.Name), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_restJson1AnomalyResources = (output: any, context: __SerdeContext): AnomalyResource[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AnomalyResource(entry, context); + }); +}; + const deserializeAws_restJson1AnomalySourceDetails = (output: any, context: __SerdeContext): AnomalySourceDetails => { return { CloudWatchMetrics: output.CloudWatchMetrics !== undefined && output.CloudWatchMetrics !== null ? deserializeAws_restJson1CloudWatchMetricsDetails(output.CloudWatchMetrics, context) : undefined, + PerformanceInsightsMetrics: + output.PerformanceInsightsMetrics !== undefined && output.PerformanceInsightsMetrics !== null + ? deserializeAws_restJson1PerformanceInsightsMetricsDetails(output.PerformanceInsightsMetrics, context) + : undefined, } as any; }; @@ -3869,6 +4024,17 @@ const deserializeAws_restJson1AnomalyTimeRange = (output: any, context: __SerdeC } as any; }; +const deserializeAws_restJson1AssociatedResourceArns = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_restJson1Channels = (output: any, context: __SerdeContext): NotificationChannel[] => { return (output || []) .filter((e: any) => e != null) @@ -4021,6 +4187,10 @@ const deserializeAws_restJson1CostEstimationResourceCollectionFilter = ( output.CloudFormation !== undefined && output.CloudFormation !== null ? deserializeAws_restJson1CloudFormationCostEstimationResourceCollectionFilter(output.CloudFormation, context) : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagCostEstimationResourceCollectionFilters(output.Tags, context) + : undefined, } as any; }; @@ -4035,6 +4205,17 @@ const deserializeAws_restJson1CostEstimationStackNames = (output: any, context: }); }; +const deserializeAws_restJson1CostEstimationTagValues = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_restJson1CostEstimationTimeRange = ( output: any, context: __SerdeContext @@ -4159,6 +4340,194 @@ const deserializeAws_restJson1OpsCenterIntegration = (output: any, context: __Se } as any; }; +const deserializeAws_restJson1PerformanceInsightsMetricDimensionGroup = ( + output: any, + context: __SerdeContext +): PerformanceInsightsMetricDimensionGroup => { + return { + Dimensions: + output.Dimensions !== undefined && output.Dimensions !== null + ? deserializeAws_restJson1PerformanceInsightsMetricDimensions(output.Dimensions, context) + : undefined, + Group: __expectString(output.Group), + Limit: __expectInt32(output.Limit), + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsMetricDimensions = ( + output: any, + context: __SerdeContext +): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1PerformanceInsightsMetricFilterMap = ( + output: any, + context: __SerdeContext +): { [key: string]: string } => { + return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + +const deserializeAws_restJson1PerformanceInsightsMetricQuery = ( + output: any, + context: __SerdeContext +): PerformanceInsightsMetricQuery => { + return { + Filter: + output.Filter !== undefined && output.Filter !== null + ? deserializeAws_restJson1PerformanceInsightsMetricFilterMap(output.Filter, context) + : undefined, + GroupBy: + output.GroupBy !== undefined && output.GroupBy !== null + ? deserializeAws_restJson1PerformanceInsightsMetricDimensionGroup(output.GroupBy, context) + : undefined, + Metric: __expectString(output.Metric), + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsMetricsDetail = ( + output: any, + context: __SerdeContext +): PerformanceInsightsMetricsDetail => { + return { + MetricDisplayName: __expectString(output.MetricDisplayName), + MetricQuery: + output.MetricQuery !== undefined && output.MetricQuery !== null + ? deserializeAws_restJson1PerformanceInsightsMetricQuery(output.MetricQuery, context) + : undefined, + ReferenceData: + output.ReferenceData !== undefined && output.ReferenceData !== null + ? deserializeAws_restJson1PerformanceInsightsReferenceDataList(output.ReferenceData, context) + : undefined, + StatsAtAnomaly: + output.StatsAtAnomaly !== undefined && output.StatsAtAnomaly !== null + ? deserializeAws_restJson1PerformanceInsightsStats(output.StatsAtAnomaly, context) + : undefined, + StatsAtBaseline: + output.StatsAtBaseline !== undefined && output.StatsAtBaseline !== null + ? deserializeAws_restJson1PerformanceInsightsStats(output.StatsAtBaseline, context) + : undefined, + Unit: __expectString(output.Unit), + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsMetricsDetails = ( + output: any, + context: __SerdeContext +): PerformanceInsightsMetricsDetail[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1PerformanceInsightsMetricsDetail(entry, context); + }); +}; + +const deserializeAws_restJson1PerformanceInsightsReferenceComparisonValues = ( + output: any, + context: __SerdeContext +): PerformanceInsightsReferenceComparisonValues => { + return { + ReferenceMetric: + output.ReferenceMetric !== undefined && output.ReferenceMetric !== null + ? deserializeAws_restJson1PerformanceInsightsReferenceMetric(output.ReferenceMetric, context) + : undefined, + ReferenceScalar: + output.ReferenceScalar !== undefined && output.ReferenceScalar !== null + ? deserializeAws_restJson1PerformanceInsightsReferenceScalar(output.ReferenceScalar, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsReferenceData = ( + output: any, + context: __SerdeContext +): PerformanceInsightsReferenceData => { + return { + ComparisonValues: + output.ComparisonValues !== undefined && output.ComparisonValues !== null + ? deserializeAws_restJson1PerformanceInsightsReferenceComparisonValues(output.ComparisonValues, context) + : undefined, + Name: __expectString(output.Name), + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsReferenceDataList = ( + output: any, + context: __SerdeContext +): PerformanceInsightsReferenceData[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1PerformanceInsightsReferenceData(entry, context); + }); +}; + +const deserializeAws_restJson1PerformanceInsightsReferenceMetric = ( + output: any, + context: __SerdeContext +): PerformanceInsightsReferenceMetric => { + return { + MetricQuery: + output.MetricQuery !== undefined && output.MetricQuery !== null + ? deserializeAws_restJson1PerformanceInsightsMetricQuery(output.MetricQuery, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsReferenceScalar = ( + output: any, + context: __SerdeContext +): PerformanceInsightsReferenceScalar => { + return { + Value: __limitedParseDouble(output.Value), + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsStat = ( + output: any, + context: __SerdeContext +): PerformanceInsightsStat => { + return { + Type: __expectString(output.Type), + Value: __limitedParseDouble(output.Value), + } as any; +}; + +const deserializeAws_restJson1PerformanceInsightsStats = ( + output: any, + context: __SerdeContext +): PerformanceInsightsStat[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1PerformanceInsightsStat(entry, context); + }); +}; + const deserializeAws_restJson1PredictionTimeRange = (output: any, context: __SerdeContext): PredictionTimeRange => { return { EndTime: @@ -4295,6 +4664,10 @@ const deserializeAws_restJson1ProactiveInsightSummary = ( context: __SerdeContext ): ProactiveInsightSummary => { return { + AssociatedResourceArns: + output.AssociatedResourceArns !== undefined && output.AssociatedResourceArns !== null + ? deserializeAws_restJson1AssociatedResourceArns(output.AssociatedResourceArns, context) + : undefined, Id: __expectString(output.Id), InsightTimeRange: output.InsightTimeRange !== undefined && output.InsightTimeRange !== null @@ -4379,12 +4752,19 @@ const deserializeAws_restJson1ReactiveAnomaly = (output: any, context: __SerdeCo output.AnomalyReportedTimeRange !== undefined && output.AnomalyReportedTimeRange !== null ? deserializeAws_restJson1AnomalyReportedTimeRange(output.AnomalyReportedTimeRange, context) : undefined, + AnomalyResources: + output.AnomalyResources !== undefined && output.AnomalyResources !== null + ? deserializeAws_restJson1AnomalyResources(output.AnomalyResources, context) + : undefined, AnomalyTimeRange: output.AnomalyTimeRange !== undefined && output.AnomalyTimeRange !== null ? deserializeAws_restJson1AnomalyTimeRange(output.AnomalyTimeRange, context) : undefined, AssociatedInsightId: __expectString(output.AssociatedInsightId), + CausalAnomalyId: __expectString(output.CausalAnomalyId), + Description: __expectString(output.Description), Id: __expectString(output.Id), + Name: __expectString(output.Name), ResourceCollection: output.ResourceCollection !== undefined && output.ResourceCollection !== null ? deserializeAws_restJson1ResourceCollection(output.ResourceCollection, context) @@ -4395,6 +4775,7 @@ const deserializeAws_restJson1ReactiveAnomaly = (output: any, context: __SerdeCo ? deserializeAws_restJson1AnomalySourceDetails(output.SourceDetails, context) : undefined, Status: __expectString(output.Status), + Type: __expectString(output.Type), } as any; }; @@ -4407,12 +4788,19 @@ const deserializeAws_restJson1ReactiveAnomalySummary = ( output.AnomalyReportedTimeRange !== undefined && output.AnomalyReportedTimeRange !== null ? deserializeAws_restJson1AnomalyReportedTimeRange(output.AnomalyReportedTimeRange, context) : undefined, + AnomalyResources: + output.AnomalyResources !== undefined && output.AnomalyResources !== null + ? deserializeAws_restJson1AnomalyResources(output.AnomalyResources, context) + : undefined, AnomalyTimeRange: output.AnomalyTimeRange !== undefined && output.AnomalyTimeRange !== null ? deserializeAws_restJson1AnomalyTimeRange(output.AnomalyTimeRange, context) : undefined, AssociatedInsightId: __expectString(output.AssociatedInsightId), + CausalAnomalyId: __expectString(output.CausalAnomalyId), + Description: __expectString(output.Description), Id: __expectString(output.Id), + Name: __expectString(output.Name), ResourceCollection: output.ResourceCollection !== undefined && output.ResourceCollection !== null ? deserializeAws_restJson1ResourceCollection(output.ResourceCollection, context) @@ -4423,6 +4811,7 @@ const deserializeAws_restJson1ReactiveAnomalySummary = ( ? deserializeAws_restJson1AnomalySourceDetails(output.SourceDetails, context) : undefined, Status: __expectString(output.Status), + Type: __expectString(output.Type), } as any; }; @@ -4460,6 +4849,10 @@ const deserializeAws_restJson1ReactiveInsightSummary = ( context: __SerdeContext ): ReactiveInsightSummary => { return { + AssociatedResourceArns: + output.AssociatedResourceArns !== undefined && output.AssociatedResourceArns !== null + ? deserializeAws_restJson1AssociatedResourceArns(output.AssociatedResourceArns, context) + : undefined, Id: __expectString(output.Id), InsightTimeRange: output.InsightTimeRange !== undefined && output.InsightTimeRange !== null @@ -4555,6 +4948,7 @@ const deserializeAws_restJson1RecommendationRelatedAnomaly = ( context: __SerdeContext ): RecommendationRelatedAnomaly => { return { + AnomalyId: __expectString(output.AnomalyId), Resources: output.Resources !== undefined && output.Resources !== null ? deserializeAws_restJson1RecommendationRelatedAnomalyResources(output.Resources, context) @@ -4708,6 +5102,10 @@ const deserializeAws_restJson1ResourceCollection = (output: any, context: __Serd output.CloudFormation !== undefined && output.CloudFormation !== null ? deserializeAws_restJson1CloudFormationCollection(output.CloudFormation, context) : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagCollections(output.Tags, context) + : undefined, } as any; }; @@ -4720,6 +5118,10 @@ const deserializeAws_restJson1ResourceCollectionFilter = ( output.CloudFormation !== undefined && output.CloudFormation !== null ? deserializeAws_restJson1CloudFormationCollectionFilter(output.CloudFormation, context) : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagCollectionFilters(output.Tags, context) + : undefined, } as any; }; @@ -4821,6 +5223,108 @@ const deserializeAws_restJson1StackNames = (output: any, context: __SerdeContext }); }; +const deserializeAws_restJson1TagCollection = (output: any, context: __SerdeContext): TagCollection => { + return { + AppBoundaryKey: __expectString(output.AppBoundaryKey), + TagValues: + output.TagValues !== undefined && output.TagValues !== null + ? deserializeAws_restJson1TagValues(output.TagValues, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1TagCollectionFilter = (output: any, context: __SerdeContext): TagCollectionFilter => { + return { + AppBoundaryKey: __expectString(output.AppBoundaryKey), + TagValues: + output.TagValues !== undefined && output.TagValues !== null + ? deserializeAws_restJson1TagValues(output.TagValues, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1TagCollectionFilters = (output: any, context: __SerdeContext): TagCollectionFilter[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1TagCollectionFilter(entry, context); + }); +}; + +const deserializeAws_restJson1TagCollections = (output: any, context: __SerdeContext): TagCollection[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1TagCollection(entry, context); + }); +}; + +const deserializeAws_restJson1TagCostEstimationResourceCollectionFilter = ( + output: any, + context: __SerdeContext +): TagCostEstimationResourceCollectionFilter => { + return { + AppBoundaryKey: __expectString(output.AppBoundaryKey), + TagValues: + output.TagValues !== undefined && output.TagValues !== null + ? deserializeAws_restJson1CostEstimationTagValues(output.TagValues, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1TagCostEstimationResourceCollectionFilters = ( + output: any, + context: __SerdeContext +): TagCostEstimationResourceCollectionFilter[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1TagCostEstimationResourceCollectionFilter(entry, context); + }); +}; + +const deserializeAws_restJson1TagHealth = (output: any, context: __SerdeContext): TagHealth => { + return { + AppBoundaryKey: __expectString(output.AppBoundaryKey), + Insight: + output.Insight !== undefined && output.Insight !== null + ? deserializeAws_restJson1InsightHealth(output.Insight, context) + : undefined, + TagValue: __expectString(output.TagValue), + } as any; +}; + +const deserializeAws_restJson1TagHealths = (output: any, context: __SerdeContext): TagHealth[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1TagHealth(entry, context); + }); +}; + +const deserializeAws_restJson1TagValues = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_restJson1TimestampMetricValuePair = ( output: any, context: __SerdeContext diff --git a/clients/client-direct-connect/src/models/models_0.ts b/clients/client-direct-connect/src/models/models_0.ts index 9d40013f60fc..436babe97568 100644 --- a/clients/client-direct-connect/src/models/models_0.ts +++ b/clients/client-direct-connect/src/models/models_0.ts @@ -1022,6 +1022,11 @@ export interface VirtualInterface { *

The tags associated with the virtual interface.

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

Indicates whether SiteLink is enabled.

+ */ + siteLinkEnabled?: boolean; } export namespace VirtualInterface { @@ -1418,7 +1423,9 @@ export namespace ConfirmConnectionResponse { export interface ConfirmCustomerAgreementRequest { /** *

+ * * The name of the customer agreement. + * *

*/ agreementName?: string; @@ -2527,6 +2534,11 @@ export interface NewPrivateVirtualInterface { *

The tags associated with the private virtual interface.

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

Indicates whether to enable or disable SiteLink.

+ */ + enableSiteLink?: boolean; } export namespace NewPrivateVirtualInterface { @@ -2694,6 +2706,11 @@ export interface NewTransitVirtualInterface { *

The tags associated with the transitive virtual interface.

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

Indicates whether to enable or disable SiteLink.

+ */ + enableSiteLink?: boolean; } export namespace NewTransitVirtualInterface { @@ -3796,7 +3813,7 @@ export interface DescribeRouterConfigurationResponse { virtualInterfaceId?: string; /** - *

The name of the virtual interface assigned by the customer network.

+ *

Provides the details about a virtual interface's router.

*/ virtualInterfaceName?: string; } @@ -4434,6 +4451,16 @@ export interface UpdateVirtualInterfaceAttributesRequest { *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

*/ mtu?: number; + + /** + *

Indicates whether to enable or disable SiteLink.

+ */ + enableSiteLink?: boolean; + + /** + *

The name of the virtual private interface.

+ */ + virtualInterfaceName?: string; } export namespace UpdateVirtualInterfaceAttributesRequest { diff --git a/clients/client-direct-connect/src/protocols/Aws_json1_1.ts b/clients/client-direct-connect/src/protocols/Aws_json1_1.ts index 7b389e9e3220..c4b7a1abb332 100644 --- a/clients/client-direct-connect/src/protocols/Aws_json1_1.ts +++ b/clients/client-direct-connect/src/protocols/Aws_json1_1.ts @@ -5988,6 +5988,8 @@ const serializeAws_json1_1NewPrivateVirtualInterface = ( input.customerAddress !== null && { customerAddress: input.customerAddress }), ...(input.directConnectGatewayId !== undefined && input.directConnectGatewayId !== null && { directConnectGatewayId: input.directConnectGatewayId }), + ...(input.enableSiteLink !== undefined && + input.enableSiteLink !== null && { enableSiteLink: input.enableSiteLink }), ...(input.mtu !== undefined && input.mtu !== null && { mtu: input.mtu }), ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_json1_1TagList(input.tags, context) }), ...(input.virtualGatewayId !== undefined && @@ -6074,6 +6076,8 @@ const serializeAws_json1_1NewTransitVirtualInterface = ( input.customerAddress !== null && { customerAddress: input.customerAddress }), ...(input.directConnectGatewayId !== undefined && input.directConnectGatewayId !== null && { directConnectGatewayId: input.directConnectGatewayId }), + ...(input.enableSiteLink !== undefined && + input.enableSiteLink !== null && { enableSiteLink: input.enableSiteLink }), ...(input.mtu !== undefined && input.mtu !== null && { mtu: input.mtu }), ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_json1_1TagList(input.tags, context) }), ...(input.virtualInterfaceName !== undefined && @@ -6257,9 +6261,13 @@ const serializeAws_json1_1UpdateVirtualInterfaceAttributesRequest = ( context: __SerdeContext ): any => { return { + ...(input.enableSiteLink !== undefined && + input.enableSiteLink !== null && { enableSiteLink: input.enableSiteLink }), ...(input.mtu !== undefined && input.mtu !== null && { mtu: input.mtu }), ...(input.virtualInterfaceId !== undefined && input.virtualInterfaceId !== null && { virtualInterfaceId: input.virtualInterfaceId }), + ...(input.virtualInterfaceName !== undefined && + input.virtualInterfaceName !== null && { virtualInterfaceName: input.virtualInterfaceName }), }; }; @@ -7276,6 +7284,7 @@ const deserializeAws_json1_1VirtualInterface = (output: any, context: __SerdeCon output.routeFilterPrefixes !== undefined && output.routeFilterPrefixes !== null ? deserializeAws_json1_1RouteFilterPrefixList(output.routeFilterPrefixes, context) : undefined, + siteLinkEnabled: __expectBoolean(output.siteLinkEnabled), tags: output.tags !== undefined && output.tags !== null ? deserializeAws_json1_1TagList(output.tags, context) diff --git a/clients/client-dynamodb/src/models/models_0.ts b/clients/client-dynamodb/src/models/models_0.ts index f3db810e2d37..59b49cee8d78 100644 --- a/clients/client-dynamodb/src/models/models_0.ts +++ b/clients/client-dynamodb/src/models/models_0.ts @@ -1759,6 +1759,36 @@ export type ReplicaStatus = | "REGION_DISABLED" | "UPDATING"; +export enum TableClass { + STANDARD = "STANDARD", + STANDARD_INFREQUENT_ACCESS = "STANDARD_INFREQUENT_ACCESS", +} + +/** + *

Contains details of the table class.

+ */ +export interface TableClassSummary { + /** + *

The table class of the specified table. Valid values are STANDARD and + * STANDARD_INFREQUENT_ACCESS.

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

The date and time at which the table class was last updated.

+ */ + LastUpdateDateTime?: Date; +} + +export namespace TableClassSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TableClassSummary): any => ({ + ...obj, + }); +} + /** *

Contains the details of the replica.

*/ @@ -1845,6 +1875,11 @@ export interface ReplicaDescription { * of inaccessibility check the ReplicaStatus property.

*/ ReplicaInaccessibleDateTime?: Date; + + /** + *

Contains details of the table class.

+ */ + ReplicaTableClassSummary?: TableClassSummary; } export namespace ReplicaDescription { @@ -2019,6 +2054,12 @@ export interface CreateReplicationGroupMemberAction { *

Replica-specific global secondary index settings.

*/ GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndex[]; + + /** + *

Replica-specific table class. If not specified, uses the source table's + * table class.

+ */ + TableClassOverride?: TableClass | string; } export namespace CreateReplicationGroupMemberAction { @@ -2491,6 +2532,12 @@ export interface CreateTableInput { * for DynamoDB.

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

The table class of the new table. Valid values are STANDARD and + * STANDARD_INFREQUENT_ACCESS.

+ */ + TableClass?: TableClass | string; } export namespace CreateTableInput { @@ -3179,6 +3226,11 @@ export interface TableDescription { *

Contains information about the table archive.

*/ ArchivalSummary?: ArchivalSummary; + + /** + *

Contains details of the table class.

+ */ + TableClassSummary?: TableClassSummary; } export namespace TableDescription { @@ -3993,6 +4045,11 @@ export interface ReplicaSettingsDescription { *

Replica global secondary index settings for the global table.

*/ ReplicaGlobalSecondaryIndexSettings?: ReplicaGlobalSecondaryIndexSettingsDescription[]; + + /** + *

Contains details of the table class.

+ */ + ReplicaTableClassSummary?: TableClassSummary; } export namespace ReplicaSettingsDescription { @@ -5626,6 +5683,12 @@ export interface ReplicaSettingsUpdate { * modified.

*/ ReplicaGlobalSecondaryIndexSettingsUpdate?: ReplicaGlobalSecondaryIndexSettingsUpdate[]; + + /** + *

Replica-specific table class. If not specified, uses the source table's + * table class.

+ */ + ReplicaTableClass?: TableClass | string; } export namespace ReplicaSettingsUpdate { @@ -5846,6 +5909,12 @@ export interface UpdateReplicationGroupMemberAction { *

Replica-specific global secondary index settings.

*/ GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndex[]; + + /** + *

Replica-specific table class. If not specified, uses the source table's + * table class.

+ */ + TableClassOverride?: TableClass | string; } export namespace UpdateReplicationGroupMemberAction { @@ -5994,6 +6063,12 @@ export interface UpdateTableInput { * */ ReplicaUpdates?: ReplicationGroupUpdate[]; + + /** + *

The table class of the table to be updated. Valid values are STANDARD and + * STANDARD_INFREQUENT_ACCESS.

+ */ + TableClass?: TableClass | string; } export namespace UpdateTableInput { diff --git a/clients/client-dynamodb/src/protocols/Aws_json1_0.ts b/clients/client-dynamodb/src/protocols/Aws_json1_0.ts index 1d1f4db33e33..0ccbf610a334 100644 --- a/clients/client-dynamodb/src/protocols/Aws_json1_0.ts +++ b/clients/client-dynamodb/src/protocols/Aws_json1_0.ts @@ -306,6 +306,7 @@ import { StreamSpecification, TableAlreadyExistsException, TableAutoScalingDescription, + TableClassSummary, TableDescription, TableInUseException, TableNotFoundException, @@ -5848,6 +5849,8 @@ const serializeAws_json1_0CreateReplicationGroupMemberAction = ( ), }), ...(input.RegionName !== undefined && input.RegionName !== null && { RegionName: input.RegionName }), + ...(input.TableClassOverride !== undefined && + input.TableClassOverride !== null && { TableClassOverride: input.TableClassOverride }), }; }; @@ -5880,6 +5883,7 @@ const serializeAws_json1_0CreateTableInput = (input: CreateTableInput, context: input.StreamSpecification !== null && { StreamSpecification: serializeAws_json1_0StreamSpecification(input.StreamSpecification, context), }), + ...(input.TableClass !== undefined && input.TableClass !== null && { TableClass: input.TableClass }), ...(input.TableName !== undefined && input.TableName !== null && { TableName: input.TableName }), ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_0TagList(input.Tags, context) }), }; @@ -6956,6 +6960,8 @@ const serializeAws_json1_0ReplicaSettingsUpdate = (input: ReplicaSettingsUpdate, input.ReplicaProvisionedReadCapacityUnits !== null && { ReplicaProvisionedReadCapacityUnits: input.ReplicaProvisionedReadCapacityUnits, }), + ...(input.ReplicaTableClass !== undefined && + input.ReplicaTableClass !== null && { ReplicaTableClass: input.ReplicaTableClass }), }; }; @@ -7474,6 +7480,8 @@ const serializeAws_json1_0UpdateReplicationGroupMemberAction = ( ), }), ...(input.RegionName !== undefined && input.RegionName !== null && { RegionName: input.RegionName }), + ...(input.TableClassOverride !== undefined && + input.TableClassOverride !== null && { TableClassOverride: input.TableClassOverride }), }; }; @@ -7507,6 +7515,7 @@ const serializeAws_json1_0UpdateTableInput = (input: UpdateTableInput, context: input.StreamSpecification !== null && { StreamSpecification: serializeAws_json1_0StreamSpecification(input.StreamSpecification, context), }), + ...(input.TableClass !== undefined && input.TableClass !== null && { TableClass: input.TableClass }), ...(input.TableName !== undefined && input.TableName !== null && { TableName: input.TableName }), }; }; @@ -9269,6 +9278,10 @@ const deserializeAws_json1_0ReplicaDescription = (output: any, context: __SerdeC ReplicaStatus: __expectString(output.ReplicaStatus), ReplicaStatusDescription: __expectString(output.ReplicaStatusDescription), ReplicaStatusPercentProgress: __expectString(output.ReplicaStatusPercentProgress), + ReplicaTableClassSummary: + output.ReplicaTableClassSummary !== undefined && output.ReplicaTableClassSummary !== null + ? deserializeAws_json1_0TableClassSummary(output.ReplicaTableClassSummary, context) + : undefined, } as any; }; @@ -9448,6 +9461,10 @@ const deserializeAws_json1_0ReplicaSettingsDescription = ( : undefined, ReplicaProvisionedWriteCapacityUnits: __expectLong(output.ReplicaProvisionedWriteCapacityUnits), ReplicaStatus: __expectString(output.ReplicaStatus), + ReplicaTableClassSummary: + output.ReplicaTableClassSummary !== undefined && output.ReplicaTableClassSummary !== null + ? deserializeAws_json1_0TableClassSummary(output.ReplicaTableClassSummary, context) + : undefined, } as any; }; @@ -9660,6 +9677,16 @@ const deserializeAws_json1_0TableAutoScalingDescription = ( } as any; }; +const deserializeAws_json1_0TableClassSummary = (output: any, context: __SerdeContext): TableClassSummary => { + return { + LastUpdateDateTime: + output.LastUpdateDateTime !== undefined && output.LastUpdateDateTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdateDateTime))) + : undefined, + TableClass: __expectString(output.TableClass), + } as any; +}; + const deserializeAws_json1_0TableDescription = (output: any, context: __SerdeContext): TableDescription => { return { ArchivalSummary: @@ -9715,6 +9742,10 @@ const deserializeAws_json1_0TableDescription = (output: any, context: __SerdeCon ? deserializeAws_json1_0StreamSpecification(output.StreamSpecification, context) : undefined, TableArn: __expectString(output.TableArn), + TableClassSummary: + output.TableClassSummary !== undefined && output.TableClassSummary !== null + ? deserializeAws_json1_0TableClassSummary(output.TableClassSummary, context) + : undefined, TableId: __expectString(output.TableId), TableName: __expectString(output.TableName), TableSizeBytes: __expectLong(output.TableSizeBytes), diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 1688872d2527..79afc2648edd 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -45,6 +45,11 @@ import { AllocateHostsCommandInput, AllocateHostsCommandOutput, } from "./commands/AllocateHostsCommand"; +import { + AllocateIpamPoolCidrCommand, + AllocateIpamPoolCidrCommandInput, + AllocateIpamPoolCidrCommandOutput, +} from "./commands/AllocateIpamPoolCidrCommand"; import { ApplySecurityGroupsToClientVpnTargetNetworkCommand, ApplySecurityGroupsToClientVpnTargetNetworkCommandInput, @@ -303,6 +308,17 @@ import { CreateInternetGatewayCommandInput, CreateInternetGatewayCommandOutput, } from "./commands/CreateInternetGatewayCommand"; +import { CreateIpamCommand, CreateIpamCommandInput, CreateIpamCommandOutput } from "./commands/CreateIpamCommand"; +import { + CreateIpamPoolCommand, + CreateIpamPoolCommandInput, + CreateIpamPoolCommandOutput, +} from "./commands/CreateIpamPoolCommand"; +import { + CreateIpamScopeCommand, + CreateIpamScopeCommandInput, + CreateIpamScopeCommandOutput, +} from "./commands/CreateIpamScopeCommand"; import { CreateKeyPairCommand, CreateKeyPairCommandInput, @@ -348,6 +364,11 @@ import { CreateNetworkAclEntryCommandInput, CreateNetworkAclEntryCommandOutput, } from "./commands/CreateNetworkAclEntryCommand"; +import { + CreateNetworkInsightsAccessScopeCommand, + CreateNetworkInsightsAccessScopeCommandInput, + CreateNetworkInsightsAccessScopeCommandOutput, +} from "./commands/CreateNetworkInsightsAccessScopeCommand"; import { CreateNetworkInsightsPathCommand, CreateNetworkInsightsPathCommandInput, @@ -368,6 +389,11 @@ import { CreatePlacementGroupCommandInput, CreatePlacementGroupCommandOutput, } from "./commands/CreatePlacementGroupCommand"; +import { + CreatePublicIpv4PoolCommand, + CreatePublicIpv4PoolCommandInput, + CreatePublicIpv4PoolCommandOutput, +} from "./commands/CreatePublicIpv4PoolCommand"; import { CreateReplaceRootVolumeTaskCommand, CreateReplaceRootVolumeTaskCommandInput, @@ -586,6 +612,17 @@ import { DeleteInternetGatewayCommandInput, DeleteInternetGatewayCommandOutput, } from "./commands/DeleteInternetGatewayCommand"; +import { DeleteIpamCommand, DeleteIpamCommandInput, DeleteIpamCommandOutput } from "./commands/DeleteIpamCommand"; +import { + DeleteIpamPoolCommand, + DeleteIpamPoolCommandInput, + DeleteIpamPoolCommandOutput, +} from "./commands/DeleteIpamPoolCommand"; +import { + DeleteIpamScopeCommand, + DeleteIpamScopeCommandInput, + DeleteIpamScopeCommandOutput, +} from "./commands/DeleteIpamScopeCommand"; import { DeleteKeyPairCommand, DeleteKeyPairCommandInput, @@ -631,6 +668,16 @@ import { DeleteNetworkAclEntryCommandInput, DeleteNetworkAclEntryCommandOutput, } from "./commands/DeleteNetworkAclEntryCommand"; +import { + DeleteNetworkInsightsAccessScopeAnalysisCommand, + DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + DeleteNetworkInsightsAccessScopeAnalysisCommandOutput, +} from "./commands/DeleteNetworkInsightsAccessScopeAnalysisCommand"; +import { + DeleteNetworkInsightsAccessScopeCommand, + DeleteNetworkInsightsAccessScopeCommandInput, + DeleteNetworkInsightsAccessScopeCommandOutput, +} from "./commands/DeleteNetworkInsightsAccessScopeCommand"; import { DeleteNetworkInsightsAnalysisCommand, DeleteNetworkInsightsAnalysisCommandInput, @@ -656,6 +703,11 @@ import { DeletePlacementGroupCommandInput, DeletePlacementGroupCommandOutput, } from "./commands/DeletePlacementGroupCommand"; +import { + DeletePublicIpv4PoolCommand, + DeletePublicIpv4PoolCommandInput, + DeletePublicIpv4PoolCommandOutput, +} from "./commands/DeletePublicIpv4PoolCommand"; import { DeleteQueuedReservedInstancesCommand, DeleteQueuedReservedInstancesCommandInput, @@ -804,6 +856,16 @@ import { DeprovisionByoipCidrCommandInput, DeprovisionByoipCidrCommandOutput, } from "./commands/DeprovisionByoipCidrCommand"; +import { + DeprovisionIpamPoolCidrCommand, + DeprovisionIpamPoolCidrCommandInput, + DeprovisionIpamPoolCidrCommandOutput, +} from "./commands/DeprovisionIpamPoolCidrCommand"; +import { + DeprovisionPublicIpv4PoolCidrCommand, + DeprovisionPublicIpv4PoolCidrCommandInput, + DeprovisionPublicIpv4PoolCidrCommandOutput, +} from "./commands/DeprovisionPublicIpv4PoolCidrCommand"; import { DeregisterImageCommand, DeregisterImageCommandInput, @@ -1074,6 +1136,21 @@ import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput, } from "./commands/DescribeInternetGatewaysCommand"; +import { + DescribeIpamPoolsCommand, + DescribeIpamPoolsCommandInput, + DescribeIpamPoolsCommandOutput, +} from "./commands/DescribeIpamPoolsCommand"; +import { + DescribeIpamsCommand, + DescribeIpamsCommandInput, + DescribeIpamsCommandOutput, +} from "./commands/DescribeIpamsCommand"; +import { + DescribeIpamScopesCommand, + DescribeIpamScopesCommandInput, + DescribeIpamScopesCommandOutput, +} from "./commands/DescribeIpamScopesCommand"; import { DescribeIpv6PoolsCommand, DescribeIpv6PoolsCommandInput, @@ -1144,6 +1221,16 @@ import { DescribeNetworkAclsCommandInput, DescribeNetworkAclsCommandOutput, } from "./commands/DescribeNetworkAclsCommand"; +import { + DescribeNetworkInsightsAccessScopeAnalysesCommand, + DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + DescribeNetworkInsightsAccessScopeAnalysesCommandOutput, +} from "./commands/DescribeNetworkInsightsAccessScopeAnalysesCommand"; +import { + DescribeNetworkInsightsAccessScopesCommand, + DescribeNetworkInsightsAccessScopesCommandInput, + DescribeNetworkInsightsAccessScopesCommandOutput, +} from "./commands/DescribeNetworkInsightsAccessScopesCommand"; import { DescribeNetworkInsightsAnalysesCommand, DescribeNetworkInsightsAnalysesCommandInput, @@ -1499,6 +1586,11 @@ import { DisableImageDeprecationCommandInput, DisableImageDeprecationCommandOutput, } from "./commands/DisableImageDeprecationCommand"; +import { + DisableIpamOrganizationAdminAccountCommand, + DisableIpamOrganizationAdminAccountCommandInput, + DisableIpamOrganizationAdminAccountCommandOutput, +} from "./commands/DisableIpamOrganizationAdminAccountCommand"; import { DisableSerialConsoleAccessCommand, DisableSerialConsoleAccessCommandInput, @@ -1594,6 +1686,11 @@ import { EnableImageDeprecationCommandInput, EnableImageDeprecationCommandOutput, } from "./commands/EnableImageDeprecationCommand"; +import { + EnableIpamOrganizationAdminAccountCommand, + EnableIpamOrganizationAdminAccountCommandInput, + EnableIpamOrganizationAdminAccountCommandOutput, +} from "./commands/EnableIpamOrganizationAdminAccountCommand"; import { EnableSerialConsoleAccessCommand, EnableSerialConsoleAccessCommandInput, @@ -1705,6 +1802,26 @@ import { GetInstanceTypesFromInstanceRequirementsCommandInput, GetInstanceTypesFromInstanceRequirementsCommandOutput, } from "./commands/GetInstanceTypesFromInstanceRequirementsCommand"; +import { + GetIpamAddressHistoryCommand, + GetIpamAddressHistoryCommandInput, + GetIpamAddressHistoryCommandOutput, +} from "./commands/GetIpamAddressHistoryCommand"; +import { + GetIpamPoolAllocationsCommand, + GetIpamPoolAllocationsCommandInput, + GetIpamPoolAllocationsCommandOutput, +} from "./commands/GetIpamPoolAllocationsCommand"; +import { + GetIpamPoolCidrsCommand, + GetIpamPoolCidrsCommandInput, + GetIpamPoolCidrsCommandOutput, +} from "./commands/GetIpamPoolCidrsCommand"; +import { + GetIpamResourceCidrsCommand, + GetIpamResourceCidrsCommandInput, + GetIpamResourceCidrsCommandOutput, +} from "./commands/GetIpamResourceCidrsCommand"; import { GetLaunchTemplateDataCommand, GetLaunchTemplateDataCommandInput, @@ -1720,6 +1837,16 @@ import { GetManagedPrefixListEntriesCommandInput, GetManagedPrefixListEntriesCommandOutput, } from "./commands/GetManagedPrefixListEntriesCommand"; +import { + GetNetworkInsightsAccessScopeAnalysisFindingsCommand, + GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput, +} from "./commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand"; +import { + GetNetworkInsightsAccessScopeContentCommand, + GetNetworkInsightsAccessScopeContentCommandInput, + GetNetworkInsightsAccessScopeContentCommandOutput, +} from "./commands/GetNetworkInsightsAccessScopeContentCommand"; import { GetPasswordDataCommand, GetPasswordDataCommandInput, @@ -1903,6 +2030,22 @@ import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput, } from "./commands/ModifyInstancePlacementCommand"; +import { ModifyIpamCommand, ModifyIpamCommandInput, ModifyIpamCommandOutput } from "./commands/ModifyIpamCommand"; +import { + ModifyIpamPoolCommand, + ModifyIpamPoolCommandInput, + ModifyIpamPoolCommandOutput, +} from "./commands/ModifyIpamPoolCommand"; +import { + ModifyIpamResourceCidrCommand, + ModifyIpamResourceCidrCommandInput, + ModifyIpamResourceCidrCommandOutput, +} from "./commands/ModifyIpamResourceCidrCommand"; +import { + ModifyIpamScopeCommand, + ModifyIpamScopeCommandInput, + ModifyIpamScopeCommandOutput, +} from "./commands/ModifyIpamScopeCommand"; import { ModifyLaunchTemplateCommand, ModifyLaunchTemplateCommandInput, @@ -2058,11 +2201,26 @@ import { MoveAddressToVpcCommandInput, MoveAddressToVpcCommandOutput, } from "./commands/MoveAddressToVpcCommand"; +import { + MoveByoipCidrToIpamCommand, + MoveByoipCidrToIpamCommandInput, + MoveByoipCidrToIpamCommandOutput, +} from "./commands/MoveByoipCidrToIpamCommand"; import { ProvisionByoipCidrCommand, ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput, } from "./commands/ProvisionByoipCidrCommand"; +import { + ProvisionIpamPoolCidrCommand, + ProvisionIpamPoolCidrCommandInput, + ProvisionIpamPoolCidrCommandOutput, +} from "./commands/ProvisionIpamPoolCidrCommand"; +import { + ProvisionPublicIpv4PoolCidrCommand, + ProvisionPublicIpv4PoolCidrCommandInput, + ProvisionPublicIpv4PoolCidrCommandOutput, +} from "./commands/ProvisionPublicIpv4PoolCidrCommand"; import { PurchaseHostReservationCommand, PurchaseHostReservationCommandInput, @@ -2138,6 +2296,11 @@ import { ReleaseHostsCommandInput, ReleaseHostsCommandOutput, } from "./commands/ReleaseHostsCommand"; +import { + ReleaseIpamPoolAllocationCommand, + ReleaseIpamPoolAllocationCommandInput, + ReleaseIpamPoolAllocationCommandOutput, +} from "./commands/ReleaseIpamPoolAllocationCommand"; import { ReplaceIamInstanceProfileAssociationCommand, ReplaceIamInstanceProfileAssociationCommandInput, @@ -2288,6 +2451,11 @@ import { StartInstancesCommandInput, StartInstancesCommandOutput, } from "./commands/StartInstancesCommand"; +import { + StartNetworkInsightsAccessScopeAnalysisCommand, + StartNetworkInsightsAccessScopeAnalysisCommandInput, + StartNetworkInsightsAccessScopeAnalysisCommandOutput, +} from "./commands/StartNetworkInsightsAccessScopeAnalysisCommand"; import { StartNetworkInsightsAnalysisCommand, StartNetworkInsightsAnalysisCommandInput, @@ -2700,6 +2868,39 @@ export class EC2 extends EC2Client { } } + /** + *

Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide. + *

+ */ + public allocateIpamPoolCidr( + args: AllocateIpamPoolCidrCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public allocateIpamPoolCidr( + args: AllocateIpamPoolCidrCommandInput, + cb: (err: any, data?: AllocateIpamPoolCidrCommandOutput) => void + ): void; + public allocateIpamPoolCidr( + args: AllocateIpamPoolCidrCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AllocateIpamPoolCidrCommandOutput) => void + ): void; + public allocateIpamPoolCidr( + args: AllocateIpamPoolCidrCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AllocateIpamPoolCidrCommandOutput) => void), + cb?: (err: any, data?: AllocateIpamPoolCidrCommandOutput) => void + ): Promise | void { + const command = new AllocateIpamPoolCidrCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 security group to the association between the target network and the Client VPN endpoint. This action replaces the existing * security groups with the specified security groups.

@@ -4830,6 +5031,101 @@ export class EC2 extends EC2Client { } } + /** + *

Create an IPAM. Amazon VCP IP Address Manager (IPAM) is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization.

+ *

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide. + *

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

Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

+ *

For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide. + *

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

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

+ *

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

+ */ + public createIpamScope( + args: CreateIpamScopeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createIpamScope( + args: CreateIpamScopeCommandInput, + cb: (err: any, data?: CreateIpamScopeCommandOutput) => void + ): void; + public createIpamScope( + args: CreateIpamScopeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateIpamScopeCommandOutput) => void + ): void; + public createIpamScope( + args: CreateIpamScopeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateIpamScopeCommandOutput) => void), + cb?: (err: any, data?: CreateIpamScopeCommandOutput) => void + ): Promise | void { + const command = new CreateIpamScopeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 ED25519 or 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public * key and displays the private key for you to save to a file. The private key is returned @@ -5157,6 +5453,41 @@ export class EC2 extends EC2Client { } } + /** + *

Creates a Network Access Scope.

+ *

Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams + * to verify that their networks on Amazon Web Services conform to their network security and governance + * objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

+ */ + public createNetworkInsightsAccessScope( + args: CreateNetworkInsightsAccessScopeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createNetworkInsightsAccessScope( + args: CreateNetworkInsightsAccessScopeCommandInput, + cb: (err: any, data?: CreateNetworkInsightsAccessScopeCommandOutput) => void + ): void; + public createNetworkInsightsAccessScope( + args: CreateNetworkInsightsAccessScopeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateNetworkInsightsAccessScopeCommandOutput) => void + ): void; + public createNetworkInsightsAccessScope( + args: CreateNetworkInsightsAccessScopeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateNetworkInsightsAccessScopeCommandOutput) => void), + cb?: (err: any, data?: CreateNetworkInsightsAccessScopeCommandOutput) => void + ): Promise | void { + const command = new CreateNetworkInsightsAccessScopeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 path to analyze for reachability.

*

Reachability Analyzer enables you to analyze and debug network reachability between @@ -5301,6 +5632,38 @@ export class EC2 extends EC2Client { } } + /** + *

Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

+ */ + public createPublicIpv4Pool( + args: CreatePublicIpv4PoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createPublicIpv4Pool( + args: CreatePublicIpv4PoolCommandInput, + cb: (err: any, data?: CreatePublicIpv4PoolCommandOutput) => void + ): void; + public createPublicIpv4Pool( + args: CreatePublicIpv4PoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePublicIpv4PoolCommandOutput) => void + ): void; + public createPublicIpv4Pool( + args: CreatePublicIpv4PoolCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreatePublicIpv4PoolCommandOutput) => void), + cb?: (err: any, data?: CreatePublicIpv4PoolCommandOutput) => void + ): Promise | void { + const command = new CreatePublicIpv4PoolCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 root volume replacement task for an Amazon EC2 instance. The root volume * can either be restored to its initial launch state, or it can be restored using a @@ -7059,6 +7422,112 @@ export class EC2 extends EC2Client { } } + /** + *

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

+ * + *

You cannot delete an IPAM if there are CIDRs provisioned to pools or if there are allocations in the pools within the IPAM. To deprovision pool + * CIDRs, see DeprovisionIpamPoolCidr. To release allocations, see ReleaseIpamPoolAllocation. + *

+ *
+ *

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide. + *

+ */ + public deleteIpam(args: DeleteIpamCommandInput, options?: __HttpHandlerOptions): Promise; + public deleteIpam(args: DeleteIpamCommandInput, cb: (err: any, data?: DeleteIpamCommandOutput) => void): void; + public deleteIpam( + args: DeleteIpamCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteIpamCommandOutput) => void + ): void; + public deleteIpam( + args: DeleteIpamCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteIpamCommandOutput) => void), + cb?: (err: any, data?: DeleteIpamCommandOutput) => void + ): Promise | void { + const command = new DeleteIpamCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 IPAM pool.

+ * + *

You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release + * allocations, see ReleaseIpamPoolAllocation. To deprovision pool + * CIDRs, see DeprovisionIpamPoolCidr.

+ *
+ *

For more information, see Delete a pool in the Amazon VPC IPAM User Guide. + *

+ */ + public deleteIpamPool( + args: DeleteIpamPoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteIpamPool( + args: DeleteIpamPoolCommandInput, + cb: (err: any, data?: DeleteIpamPoolCommandOutput) => void + ): void; + public deleteIpamPool( + args: DeleteIpamPoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteIpamPoolCommandOutput) => void + ): void; + public deleteIpamPool( + args: DeleteIpamPoolCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteIpamPoolCommandOutput) => void), + cb?: (err: any, data?: DeleteIpamPoolCommandOutput) => void + ): Promise | void { + const command = new DeleteIpamPoolCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 the scope for an IPAM. You cannot delete the default scopes.

+ *

For more information, see Delete a scope in the Amazon VPC IPAM User Guide. + *

+ */ + public deleteIpamScope( + args: DeleteIpamScopeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteIpamScope( + args: DeleteIpamScopeCommandInput, + cb: (err: any, data?: DeleteIpamScopeCommandOutput) => void + ): void; + public deleteIpamScope( + args: DeleteIpamScopeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteIpamScopeCommandOutput) => void + ): void; + public deleteIpamScope( + args: DeleteIpamScopeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteIpamScopeCommandOutput) => void), + cb?: (err: any, data?: DeleteIpamScopeCommandOutput) => void + ): Promise | void { + const command = new DeleteIpamScopeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 key pair, by removing the public key from Amazon EC2.

*/ @@ -7354,6 +7823,72 @@ export class EC2 extends EC2Client { } } + /** + *

Deletes the specified Network Access Scope.

+ */ + public deleteNetworkInsightsAccessScope( + args: DeleteNetworkInsightsAccessScopeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteNetworkInsightsAccessScope( + args: DeleteNetworkInsightsAccessScopeCommandInput, + cb: (err: any, data?: DeleteNetworkInsightsAccessScopeCommandOutput) => void + ): void; + public deleteNetworkInsightsAccessScope( + args: DeleteNetworkInsightsAccessScopeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteNetworkInsightsAccessScopeCommandOutput) => void + ): void; + public deleteNetworkInsightsAccessScope( + args: DeleteNetworkInsightsAccessScopeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteNetworkInsightsAccessScopeCommandOutput) => void), + cb?: (err: any, data?: DeleteNetworkInsightsAccessScopeCommandOutput) => void + ): Promise | void { + const command = new DeleteNetworkInsightsAccessScopeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 Network Access Scope analysis.

+ */ + public deleteNetworkInsightsAccessScopeAnalysis( + args: DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteNetworkInsightsAccessScopeAnalysis( + args: DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + cb: (err: any, data?: DeleteNetworkInsightsAccessScopeAnalysisCommandOutput) => void + ): void; + public deleteNetworkInsightsAccessScopeAnalysis( + args: DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteNetworkInsightsAccessScopeAnalysisCommandOutput) => void + ): void; + public deleteNetworkInsightsAccessScopeAnalysis( + args: DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DeleteNetworkInsightsAccessScopeAnalysisCommandOutput) => void), + cb?: (err: any, data?: DeleteNetworkInsightsAccessScopeAnalysisCommandOutput) => void + ): Promise | void { + const command = new DeleteNetworkInsightsAccessScopeAnalysisCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 network insights analysis.

*/ @@ -7519,6 +8054,38 @@ export class EC2 extends EC2Client { } } + /** + *

Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

+ */ + public deletePublicIpv4Pool( + args: DeletePublicIpv4PoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePublicIpv4Pool( + args: DeletePublicIpv4PoolCommandInput, + cb: (err: any, data?: DeletePublicIpv4PoolCommandOutput) => void + ): void; + public deletePublicIpv4Pool( + args: DeletePublicIpv4PoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePublicIpv4PoolCommandOutput) => void + ): void; + public deletePublicIpv4Pool( + args: DeletePublicIpv4PoolCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePublicIpv4PoolCommandOutput) => void), + cb?: (err: any, data?: DeletePublicIpv4PoolCommandOutput) => void + ): Promise | void { + const command = new DeletePublicIpv4PoolCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 queued purchases for the specified Reserved Instances.

*/ @@ -8602,34 +9169,98 @@ export class EC2 extends EC2Client { } /** - *

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch - * new instances; however, it doesn't affect any instances that you've already launched - * from the AMI. You'll continue to incur usage costs for those instances until you - * terminate them.

- *

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was - * created for the root volume of the instance during the AMI creation process. When you - * deregister an instance store-backed AMI, it doesn't affect the files that you uploaded - * to Amazon S3 when you created the AMI.

+ *

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

*/ - public deregisterImage( - args: DeregisterImageCommandInput, + public deprovisionIpamPoolCidr( + args: DeprovisionIpamPoolCidrCommandInput, options?: __HttpHandlerOptions - ): Promise; - public deregisterImage( - args: DeregisterImageCommandInput, - cb: (err: any, data?: DeregisterImageCommandOutput) => void + ): Promise; + public deprovisionIpamPoolCidr( + args: DeprovisionIpamPoolCidrCommandInput, + cb: (err: any, data?: DeprovisionIpamPoolCidrCommandOutput) => void ): void; - public deregisterImage( - args: DeregisterImageCommandInput, + public deprovisionIpamPoolCidr( + args: DeprovisionIpamPoolCidrCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: DeregisterImageCommandOutput) => void + cb: (err: any, data?: DeprovisionIpamPoolCidrCommandOutput) => void ): void; - public deregisterImage( - args: DeregisterImageCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeregisterImageCommandOutput) => void), - cb?: (err: any, data?: DeregisterImageCommandOutput) => void - ): Promise | void { - const command = new DeregisterImageCommand(args); + public deprovisionIpamPoolCidr( + args: DeprovisionIpamPoolCidrCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeprovisionIpamPoolCidrCommandOutput) => void), + cb?: (err: any, data?: DeprovisionIpamPoolCidrCommandOutput) => void + ): Promise | void { + const command = new DeprovisionIpamPoolCidrCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deprovision a CIDR from a public IPv4 pool.

+ */ + public deprovisionPublicIpv4PoolCidr( + args: DeprovisionPublicIpv4PoolCidrCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deprovisionPublicIpv4PoolCidr( + args: DeprovisionPublicIpv4PoolCidrCommandInput, + cb: (err: any, data?: DeprovisionPublicIpv4PoolCidrCommandOutput) => void + ): void; + public deprovisionPublicIpv4PoolCidr( + args: DeprovisionPublicIpv4PoolCidrCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeprovisionPublicIpv4PoolCidrCommandOutput) => void + ): void; + public deprovisionPublicIpv4PoolCidr( + args: DeprovisionPublicIpv4PoolCidrCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeprovisionPublicIpv4PoolCidrCommandOutput) => void), + cb?: (err: any, data?: DeprovisionPublicIpv4PoolCidrCommandOutput) => void + ): Promise | void { + const command = new DeprovisionPublicIpv4PoolCidrCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 the specified AMI. After you deregister an AMI, it can't be used to launch + * new instances; however, it doesn't affect any instances that you've already launched + * from the AMI. You'll continue to incur usage costs for those instances until you + * terminate them.

+ *

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was + * created for the root volume of the instance during the AMI creation process. When you + * deregister an instance store-backed AMI, it doesn't affect the files that you uploaded + * to Amazon S3 when you created the AMI.

+ */ + public deregisterImage( + args: DeregisterImageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deregisterImage( + args: DeregisterImageCommandInput, + cb: (err: any, data?: DeregisterImageCommandOutput) => void + ): void; + public deregisterImage( + args: DeregisterImageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeregisterImageCommandOutput) => void + ): void; + public deregisterImage( + args: DeregisterImageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeregisterImageCommandOutput) => void), + cb?: (err: any, data?: DeregisterImageCommandOutput) => void + ): Promise | void { + const command = new DeregisterImageCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -10564,6 +11195,104 @@ export class EC2 extends EC2Client { } } + /** + *

Get information about your IPAM pools.

+ */ + public describeIpamPools( + args: DescribeIpamPoolsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeIpamPools( + args: DescribeIpamPoolsCommandInput, + cb: (err: any, data?: DescribeIpamPoolsCommandOutput) => void + ): void; + public describeIpamPools( + args: DescribeIpamPoolsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeIpamPoolsCommandOutput) => void + ): void; + public describeIpamPools( + args: DescribeIpamPoolsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeIpamPoolsCommandOutput) => void), + cb?: (err: any, data?: DescribeIpamPoolsCommandOutput) => void + ): Promise | void { + const command = new DescribeIpamPoolsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 information about your IPAM pools.

+ *

For more information, see What is IPAM? in the Amazon VPC IPAM User Guide. + *

+ */ + public describeIpams( + args: DescribeIpamsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeIpams( + args: DescribeIpamsCommandInput, + cb: (err: any, data?: DescribeIpamsCommandOutput) => void + ): void; + public describeIpams( + args: DescribeIpamsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeIpamsCommandOutput) => void + ): void; + public describeIpams( + args: DescribeIpamsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeIpamsCommandOutput) => void), + cb?: (err: any, data?: DescribeIpamsCommandOutput) => void + ): Promise | void { + const command = new DescribeIpamsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 information about your IPAM scopes.

+ */ + public describeIpamScopes( + args: DescribeIpamScopesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeIpamScopes( + args: DescribeIpamScopesCommandInput, + cb: (err: any, data?: DescribeIpamScopesCommandOutput) => void + ): void; + public describeIpamScopes( + args: DescribeIpamScopesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeIpamScopesCommandOutput) => void + ): void; + public describeIpamScopes( + args: DescribeIpamScopesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeIpamScopesCommandOutput) => void), + cb?: (err: any, data?: DescribeIpamScopesCommandOutput) => void + ): Promise | void { + const command = new DescribeIpamScopesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 your IPv6 address pools.

*/ @@ -11030,6 +11759,72 @@ export class EC2 extends EC2Client { } } + /** + *

Describes the specified Network Access Scope analyses.

+ */ + public describeNetworkInsightsAccessScopeAnalyses( + args: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeNetworkInsightsAccessScopeAnalyses( + args: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + cb: (err: any, data?: DescribeNetworkInsightsAccessScopeAnalysesCommandOutput) => void + ): void; + public describeNetworkInsightsAccessScopeAnalyses( + args: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeNetworkInsightsAccessScopeAnalysesCommandOutput) => void + ): void; + public describeNetworkInsightsAccessScopeAnalyses( + args: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeNetworkInsightsAccessScopeAnalysesCommandOutput) => void), + cb?: (err: any, data?: DescribeNetworkInsightsAccessScopeAnalysesCommandOutput) => void + ): Promise | void { + const command = new DescribeNetworkInsightsAccessScopeAnalysesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 Network Access Scopes.

+ */ + public describeNetworkInsightsAccessScopes( + args: DescribeNetworkInsightsAccessScopesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeNetworkInsightsAccessScopes( + args: DescribeNetworkInsightsAccessScopesCommandInput, + cb: (err: any, data?: DescribeNetworkInsightsAccessScopesCommandOutput) => void + ): void; + public describeNetworkInsightsAccessScopes( + args: DescribeNetworkInsightsAccessScopesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeNetworkInsightsAccessScopesCommandOutput) => void + ): void; + public describeNetworkInsightsAccessScopes( + args: DescribeNetworkInsightsAccessScopesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeNetworkInsightsAccessScopesCommandOutput) => void), + cb?: (err: any, data?: DescribeNetworkInsightsAccessScopesCommandOutput) => void + ): Promise | void { + const command = new DescribeNetworkInsightsAccessScopesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 network insights analyses.

*/ @@ -13545,6 +14340,39 @@ export class EC2 extends EC2Client { } } + /** + *

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide. + *

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

Disables access to the EC2 serial console of all instances for your account. By default, * access to the EC2 serial console is disabled for your account. For more information, see @@ -14226,6 +15054,39 @@ export class EC2 extends EC2Client { } } + /** + *

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide. + *

+ */ + public enableIpamOrganizationAdminAccount( + args: EnableIpamOrganizationAdminAccountCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public enableIpamOrganizationAdminAccount( + args: EnableIpamOrganizationAdminAccountCommandInput, + cb: (err: any, data?: EnableIpamOrganizationAdminAccountCommandOutput) => void + ): void; + public enableIpamOrganizationAdminAccount( + args: EnableIpamOrganizationAdminAccountCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: EnableIpamOrganizationAdminAccountCommandOutput) => void + ): void; + public enableIpamOrganizationAdminAccount( + args: EnableIpamOrganizationAdminAccountCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: EnableIpamOrganizationAdminAccountCommandOutput) => void), + cb?: (err: any, data?: EnableIpamOrganizationAdminAccountCommandOutput) => void + ): Promise | void { + const command = new EnableIpamOrganizationAdminAccountCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 access to the EC2 serial console of all instances for your account. By default, * access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console @@ -15047,6 +15908,134 @@ export class EC2 extends EC2Client { } } + /** + *

Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

+ */ + public getIpamAddressHistory( + args: GetIpamAddressHistoryCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getIpamAddressHistory( + args: GetIpamAddressHistoryCommandInput, + cb: (err: any, data?: GetIpamAddressHistoryCommandOutput) => void + ): void; + public getIpamAddressHistory( + args: GetIpamAddressHistoryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetIpamAddressHistoryCommandOutput) => void + ): void; + public getIpamAddressHistory( + args: GetIpamAddressHistoryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetIpamAddressHistoryCommandOutput) => void), + cb?: (err: any, data?: GetIpamAddressHistoryCommandOutput) => void + ): Promise | void { + const command = new GetIpamAddressHistoryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 a list of all the CIDR allocations in an IPAM pool.

+ */ + public getIpamPoolAllocations( + args: GetIpamPoolAllocationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getIpamPoolAllocations( + args: GetIpamPoolAllocationsCommandInput, + cb: (err: any, data?: GetIpamPoolAllocationsCommandOutput) => void + ): void; + public getIpamPoolAllocations( + args: GetIpamPoolAllocationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetIpamPoolAllocationsCommandOutput) => void + ): void; + public getIpamPoolAllocations( + args: GetIpamPoolAllocationsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetIpamPoolAllocationsCommandOutput) => void), + cb?: (err: any, data?: GetIpamPoolAllocationsCommandOutput) => void + ): Promise | void { + const command = new GetIpamPoolAllocationsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 CIDRs provisioned to an IPAM pool.

+ */ + public getIpamPoolCidrs( + args: GetIpamPoolCidrsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getIpamPoolCidrs( + args: GetIpamPoolCidrsCommandInput, + cb: (err: any, data?: GetIpamPoolCidrsCommandOutput) => void + ): void; + public getIpamPoolCidrs( + args: GetIpamPoolCidrsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetIpamPoolCidrsCommandOutput) => void + ): void; + public getIpamPoolCidrs( + args: GetIpamPoolCidrsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetIpamPoolCidrsCommandOutput) => void), + cb?: (err: any, data?: GetIpamPoolCidrsCommandOutput) => void + ): Promise | void { + const command = new GetIpamPoolCidrsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 information about the resources in a scope.

+ */ + public getIpamResourceCidrs( + args: GetIpamResourceCidrsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getIpamResourceCidrs( + args: GetIpamResourceCidrsCommandInput, + cb: (err: any, data?: GetIpamResourceCidrsCommandOutput) => void + ): void; + public getIpamResourceCidrs( + args: GetIpamResourceCidrsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetIpamResourceCidrsCommandOutput) => void + ): void; + public getIpamResourceCidrs( + args: GetIpamResourceCidrsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetIpamResourceCidrsCommandOutput) => void), + cb?: (err: any, data?: GetIpamResourceCidrsCommandOutput) => void + ): Promise | void { + const command = new GetIpamResourceCidrsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 configuration data of the specified instance. You can use this data * to create a launch template.

@@ -15147,6 +16136,72 @@ export class EC2 extends EC2Client { } } + /** + *

Gets the findings for the specified Network Access Scope analysis.

+ */ + public getNetworkInsightsAccessScopeAnalysisFindings( + args: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getNetworkInsightsAccessScopeAnalysisFindings( + args: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + cb: (err: any, data?: GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput) => void + ): void; + public getNetworkInsightsAccessScopeAnalysisFindings( + args: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput) => void + ): void; + public getNetworkInsightsAccessScopeAnalysisFindings( + args: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput) => void), + cb?: (err: any, data?: GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput) => void + ): Promise | void { + const command = new GetNetworkInsightsAccessScopeAnalysisFindingsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 content for the specified Network Access Scope.

+ */ + public getNetworkInsightsAccessScopeContent( + args: GetNetworkInsightsAccessScopeContentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getNetworkInsightsAccessScopeContent( + args: GetNetworkInsightsAccessScopeContentCommandInput, + cb: (err: any, data?: GetNetworkInsightsAccessScopeContentCommandOutput) => void + ): void; + public getNetworkInsightsAccessScopeContent( + args: GetNetworkInsightsAccessScopeContentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetNetworkInsightsAccessScopeContentCommandOutput) => void + ): void; + public getNetworkInsightsAccessScopeContent( + args: GetNetworkInsightsAccessScopeContentCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetNetworkInsightsAccessScopeContentCommandOutput) => void), + cb?: (err: any, data?: GetNetworkInsightsAccessScopeContentCommandOutput) => void + ): Promise | void { + const command = new GetNetworkInsightsAccessScopeContentCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 encrypted administrator password for a running Windows instance.

*

The Windows password is generated at boot by the EC2Config service or @@ -16600,6 +17655,132 @@ export class EC2 extends EC2Client { } } + /** + *

Modify the configurations of an IPAM. + *

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

Modify the configurations of an IPAM pool.

+ *

For more information, see Modify a pool in the Amazon VPC IPAM User Guide. + *

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

Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.

+ *

For more information, see Move resource CIDRs between scopes and Change the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide.

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

Modify an IPAM scope.

+ */ + public modifyIpamScope( + args: ModifyIpamScopeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyIpamScope( + args: ModifyIpamScopeCommandInput, + cb: (err: any, data?: ModifyIpamScopeCommandOutput) => void + ): void; + public modifyIpamScope( + args: ModifyIpamScopeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyIpamScopeCommandOutput) => void + ): void; + public modifyIpamScope( + args: ModifyIpamScopeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyIpamScopeCommandOutput) => void), + cb?: (err: any, data?: ModifyIpamScopeCommandOutput) => void + ): Promise | void { + const command = new ModifyIpamScopeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 launch template. You can specify which version of the launch template to * set as the default version. When launching an instance, the default version applies when @@ -17797,6 +18978,38 @@ export class EC2 extends EC2Client { } } + /** + *

Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool.

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

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP * addresses (BYOIP) and creates a corresponding address pool. After the address range is @@ -17840,6 +19053,74 @@ export class EC2 extends EC2Client { } } + /** + *

Provision a CIDR to an IPAM pool. You can use thsi action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

+ *

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide. + *

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

Provision a CIDR to a public IPv4 pool.

+ *

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide. + *

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

Purchase a reservation with configurations that match those of your Dedicated Host. * You must have active Dedicated Hosts in your account before you purchase a reservation. @@ -18438,6 +19719,39 @@ export class EC2 extends EC2Client { } } + /** + *

Release an allocation within an IPAM pool. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide. + *

+ */ + public releaseIpamPoolAllocation( + args: ReleaseIpamPoolAllocationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public releaseIpamPoolAllocation( + args: ReleaseIpamPoolAllocationCommandInput, + cb: (err: any, data?: ReleaseIpamPoolAllocationCommandOutput) => void + ): void; + public releaseIpamPoolAllocation( + args: ReleaseIpamPoolAllocationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ReleaseIpamPoolAllocationCommandOutput) => void + ): void; + public releaseIpamPoolAllocation( + args: ReleaseIpamPoolAllocationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ReleaseIpamPoolAllocationCommandOutput) => void), + cb?: (err: any, data?: ReleaseIpamPoolAllocationCommandOutput) => void + ): Promise | void { + const command = new ReleaseIpamPoolAllocationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 an IAM instance profile for the specified running instance. You can use * this action to change the IAM instance profile that's associated with an instance @@ -19580,6 +20894,40 @@ export class EC2 extends EC2Client { } } + /** + *

Starts analyzing the specified Network Access Scope.

+ */ + public startNetworkInsightsAccessScopeAnalysis( + args: StartNetworkInsightsAccessScopeAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startNetworkInsightsAccessScopeAnalysis( + args: StartNetworkInsightsAccessScopeAnalysisCommandInput, + cb: (err: any, data?: StartNetworkInsightsAccessScopeAnalysisCommandOutput) => void + ): void; + public startNetworkInsightsAccessScopeAnalysis( + args: StartNetworkInsightsAccessScopeAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartNetworkInsightsAccessScopeAnalysisCommandOutput) => void + ): void; + public startNetworkInsightsAccessScopeAnalysis( + args: StartNetworkInsightsAccessScopeAnalysisCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: StartNetworkInsightsAccessScopeAnalysisCommandOutput) => void), + cb?: (err: any, data?: StartNetworkInsightsAccessScopeAnalysisCommandOutput) => void + ): Promise | void { + const command = new StartNetworkInsightsAccessScopeAnalysisCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 analyzing the specified path. If the path is reachable, the * operation returns the shortest feasible path.

diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index 8a36dd17cf56..bcb935c2afa7 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -76,6 +76,10 @@ import { import { AdvertiseByoipCidrCommandInput, AdvertiseByoipCidrCommandOutput } from "./commands/AdvertiseByoipCidrCommand"; import { AllocateAddressCommandInput, AllocateAddressCommandOutput } from "./commands/AllocateAddressCommand"; import { AllocateHostsCommandInput, AllocateHostsCommandOutput } from "./commands/AllocateHostsCommand"; +import { + AllocateIpamPoolCidrCommandInput, + AllocateIpamPoolCidrCommandOutput, +} from "./commands/AllocateIpamPoolCidrCommand"; import { ApplySecurityGroupsToClientVpnTargetNetworkCommandInput, ApplySecurityGroupsToClientVpnTargetNetworkCommandOutput, @@ -244,6 +248,9 @@ import { CreateInternetGatewayCommandInput, CreateInternetGatewayCommandOutput, } from "./commands/CreateInternetGatewayCommand"; +import { CreateIpamCommandInput, CreateIpamCommandOutput } from "./commands/CreateIpamCommand"; +import { CreateIpamPoolCommandInput, CreateIpamPoolCommandOutput } from "./commands/CreateIpamPoolCommand"; +import { CreateIpamScopeCommandInput, CreateIpamScopeCommandOutput } from "./commands/CreateIpamScopeCommand"; import { CreateKeyPairCommandInput, CreateKeyPairCommandOutput } from "./commands/CreateKeyPairCommand"; import { CreateLaunchTemplateCommandInput, @@ -271,6 +278,10 @@ import { CreateNetworkAclEntryCommandInput, CreateNetworkAclEntryCommandOutput, } from "./commands/CreateNetworkAclEntryCommand"; +import { + CreateNetworkInsightsAccessScopeCommandInput, + CreateNetworkInsightsAccessScopeCommandOutput, +} from "./commands/CreateNetworkInsightsAccessScopeCommand"; import { CreateNetworkInsightsPathCommandInput, CreateNetworkInsightsPathCommandOutput, @@ -287,6 +298,10 @@ import { CreatePlacementGroupCommandInput, CreatePlacementGroupCommandOutput, } from "./commands/CreatePlacementGroupCommand"; +import { + CreatePublicIpv4PoolCommandInput, + CreatePublicIpv4PoolCommandOutput, +} from "./commands/CreatePublicIpv4PoolCommand"; import { CreateReplaceRootVolumeTaskCommandInput, CreateReplaceRootVolumeTaskCommandOutput, @@ -429,6 +444,9 @@ import { DeleteInternetGatewayCommandInput, DeleteInternetGatewayCommandOutput, } from "./commands/DeleteInternetGatewayCommand"; +import { DeleteIpamCommandInput, DeleteIpamCommandOutput } from "./commands/DeleteIpamCommand"; +import { DeleteIpamPoolCommandInput, DeleteIpamPoolCommandOutput } from "./commands/DeleteIpamPoolCommand"; +import { DeleteIpamScopeCommandInput, DeleteIpamScopeCommandOutput } from "./commands/DeleteIpamScopeCommand"; import { DeleteKeyPairCommandInput, DeleteKeyPairCommandOutput } from "./commands/DeleteKeyPairCommand"; import { DeleteLaunchTemplateCommandInput, @@ -456,6 +474,14 @@ import { DeleteNetworkAclEntryCommandInput, DeleteNetworkAclEntryCommandOutput, } from "./commands/DeleteNetworkAclEntryCommand"; +import { + DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + DeleteNetworkInsightsAccessScopeAnalysisCommandOutput, +} from "./commands/DeleteNetworkInsightsAccessScopeAnalysisCommand"; +import { + DeleteNetworkInsightsAccessScopeCommandInput, + DeleteNetworkInsightsAccessScopeCommandOutput, +} from "./commands/DeleteNetworkInsightsAccessScopeCommand"; import { DeleteNetworkInsightsAnalysisCommandInput, DeleteNetworkInsightsAnalysisCommandOutput, @@ -476,6 +502,10 @@ import { DeletePlacementGroupCommandInput, DeletePlacementGroupCommandOutput, } from "./commands/DeletePlacementGroupCommand"; +import { + DeletePublicIpv4PoolCommandInput, + DeletePublicIpv4PoolCommandOutput, +} from "./commands/DeletePublicIpv4PoolCommand"; import { DeleteQueuedReservedInstancesCommandInput, DeleteQueuedReservedInstancesCommandOutput, @@ -577,6 +607,14 @@ import { DeprovisionByoipCidrCommandInput, DeprovisionByoipCidrCommandOutput, } from "./commands/DeprovisionByoipCidrCommand"; +import { + DeprovisionIpamPoolCidrCommandInput, + DeprovisionIpamPoolCidrCommandOutput, +} from "./commands/DeprovisionIpamPoolCidrCommand"; +import { + DeprovisionPublicIpv4PoolCidrCommandInput, + DeprovisionPublicIpv4PoolCidrCommandOutput, +} from "./commands/DeprovisionPublicIpv4PoolCidrCommand"; import { DeregisterImageCommandInput, DeregisterImageCommandOutput } from "./commands/DeregisterImageCommand"; import { DeregisterInstanceEventNotificationAttributesCommandInput, @@ -760,6 +798,9 @@ import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput, } from "./commands/DescribeInternetGatewaysCommand"; +import { DescribeIpamPoolsCommandInput, DescribeIpamPoolsCommandOutput } from "./commands/DescribeIpamPoolsCommand"; +import { DescribeIpamsCommandInput, DescribeIpamsCommandOutput } from "./commands/DescribeIpamsCommand"; +import { DescribeIpamScopesCommandInput, DescribeIpamScopesCommandOutput } from "./commands/DescribeIpamScopesCommand"; import { DescribeIpv6PoolsCommandInput, DescribeIpv6PoolsCommandOutput } from "./commands/DescribeIpv6PoolsCommand"; import { DescribeKeyPairsCommandInput, DescribeKeyPairsCommandOutput } from "./commands/DescribeKeyPairsCommand"; import { @@ -810,6 +851,14 @@ import { DescribeNetworkAclsCommandInput, DescribeNetworkAclsCommandOutput, } from "./commands/DescribeNetworkAclsCommand"; +import { + DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + DescribeNetworkInsightsAccessScopeAnalysesCommandOutput, +} from "./commands/DescribeNetworkInsightsAccessScopeAnalysesCommand"; +import { + DescribeNetworkInsightsAccessScopesCommandInput, + DescribeNetworkInsightsAccessScopesCommandOutput, +} from "./commands/DescribeNetworkInsightsAccessScopesCommand"; import { DescribeNetworkInsightsAnalysesCommandInput, DescribeNetworkInsightsAnalysesCommandOutput, @@ -1070,6 +1119,10 @@ import { DisableImageDeprecationCommandInput, DisableImageDeprecationCommandOutput, } from "./commands/DisableImageDeprecationCommand"; +import { + DisableIpamOrganizationAdminAccountCommandInput, + DisableIpamOrganizationAdminAccountCommandOutput, +} from "./commands/DisableIpamOrganizationAdminAccountCommand"; import { DisableSerialConsoleAccessCommandInput, DisableSerialConsoleAccessCommandOutput, @@ -1146,6 +1199,10 @@ import { EnableImageDeprecationCommandInput, EnableImageDeprecationCommandOutput, } from "./commands/EnableImageDeprecationCommand"; +import { + EnableIpamOrganizationAdminAccountCommandInput, + EnableIpamOrganizationAdminAccountCommandOutput, +} from "./commands/EnableIpamOrganizationAdminAccountCommand"; import { EnableSerialConsoleAccessCommandInput, EnableSerialConsoleAccessCommandOutput, @@ -1226,6 +1283,19 @@ import { GetInstanceTypesFromInstanceRequirementsCommandInput, GetInstanceTypesFromInstanceRequirementsCommandOutput, } from "./commands/GetInstanceTypesFromInstanceRequirementsCommand"; +import { + GetIpamAddressHistoryCommandInput, + GetIpamAddressHistoryCommandOutput, +} from "./commands/GetIpamAddressHistoryCommand"; +import { + GetIpamPoolAllocationsCommandInput, + GetIpamPoolAllocationsCommandOutput, +} from "./commands/GetIpamPoolAllocationsCommand"; +import { GetIpamPoolCidrsCommandInput, GetIpamPoolCidrsCommandOutput } from "./commands/GetIpamPoolCidrsCommand"; +import { + GetIpamResourceCidrsCommandInput, + GetIpamResourceCidrsCommandOutput, +} from "./commands/GetIpamResourceCidrsCommand"; import { GetLaunchTemplateDataCommandInput, GetLaunchTemplateDataCommandOutput, @@ -1238,6 +1308,14 @@ import { GetManagedPrefixListEntriesCommandInput, GetManagedPrefixListEntriesCommandOutput, } from "./commands/GetManagedPrefixListEntriesCommand"; +import { + GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput, +} from "./commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand"; +import { + GetNetworkInsightsAccessScopeContentCommandInput, + GetNetworkInsightsAccessScopeContentCommandOutput, +} from "./commands/GetNetworkInsightsAccessScopeContentCommand"; import { GetPasswordDataCommandInput, GetPasswordDataCommandOutput } from "./commands/GetPasswordDataCommand"; import { GetReservedInstancesExchangeQuoteCommandInput, @@ -1367,6 +1445,13 @@ import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput, } from "./commands/ModifyInstancePlacementCommand"; +import { ModifyIpamCommandInput, ModifyIpamCommandOutput } from "./commands/ModifyIpamCommand"; +import { ModifyIpamPoolCommandInput, ModifyIpamPoolCommandOutput } from "./commands/ModifyIpamPoolCommand"; +import { + ModifyIpamResourceCidrCommandInput, + ModifyIpamResourceCidrCommandOutput, +} from "./commands/ModifyIpamResourceCidrCommand"; +import { ModifyIpamScopeCommandInput, ModifyIpamScopeCommandOutput } from "./commands/ModifyIpamScopeCommand"; import { ModifyLaunchTemplateCommandInput, ModifyLaunchTemplateCommandOutput, @@ -1470,7 +1555,19 @@ import { } from "./commands/ModifyVpnTunnelOptionsCommand"; import { MonitorInstancesCommandInput, MonitorInstancesCommandOutput } from "./commands/MonitorInstancesCommand"; import { MoveAddressToVpcCommandInput, MoveAddressToVpcCommandOutput } from "./commands/MoveAddressToVpcCommand"; +import { + MoveByoipCidrToIpamCommandInput, + MoveByoipCidrToIpamCommandOutput, +} from "./commands/MoveByoipCidrToIpamCommand"; import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput } from "./commands/ProvisionByoipCidrCommand"; +import { + ProvisionIpamPoolCidrCommandInput, + ProvisionIpamPoolCidrCommandOutput, +} from "./commands/ProvisionIpamPoolCidrCommand"; +import { + ProvisionPublicIpv4PoolCidrCommandInput, + ProvisionPublicIpv4PoolCidrCommandOutput, +} from "./commands/ProvisionPublicIpv4PoolCidrCommand"; import { PurchaseHostReservationCommandInput, PurchaseHostReservationCommandOutput, @@ -1519,6 +1616,10 @@ import { } from "./commands/RejectVpcPeeringConnectionCommand"; import { ReleaseAddressCommandInput, ReleaseAddressCommandOutput } from "./commands/ReleaseAddressCommand"; import { ReleaseHostsCommandInput, ReleaseHostsCommandOutput } from "./commands/ReleaseHostsCommand"; +import { + ReleaseIpamPoolAllocationCommandInput, + ReleaseIpamPoolAllocationCommandOutput, +} from "./commands/ReleaseIpamPoolAllocationCommand"; import { ReplaceIamInstanceProfileAssociationCommandInput, ReplaceIamInstanceProfileAssociationCommandOutput, @@ -1627,6 +1728,10 @@ import { SendDiagnosticInterruptCommandOutput, } from "./commands/SendDiagnosticInterruptCommand"; import { StartInstancesCommandInput, StartInstancesCommandOutput } from "./commands/StartInstancesCommand"; +import { + StartNetworkInsightsAccessScopeAnalysisCommandInput, + StartNetworkInsightsAccessScopeAnalysisCommandOutput, +} from "./commands/StartNetworkInsightsAccessScopeAnalysisCommand"; import { StartNetworkInsightsAnalysisCommandInput, StartNetworkInsightsAnalysisCommandOutput, @@ -1671,6 +1776,7 @@ export type ServiceInputTypes = | AdvertiseByoipCidrCommandInput | AllocateAddressCommandInput | AllocateHostsCommandInput + | AllocateIpamPoolCidrCommandInput | ApplySecurityGroupsToClientVpnTargetNetworkCommandInput | AssignIpv6AddressesCommandInput | AssignPrivateIpAddressesCommandInput @@ -1725,6 +1831,9 @@ export type ServiceInputTypes = | CreateInstanceEventWindowCommandInput | CreateInstanceExportTaskCommandInput | CreateInternetGatewayCommandInput + | CreateIpamCommandInput + | CreateIpamPoolCommandInput + | CreateIpamScopeCommandInput | CreateKeyPairCommandInput | CreateLaunchTemplateCommandInput | CreateLaunchTemplateVersionCommandInput @@ -1734,10 +1843,12 @@ export type ServiceInputTypes = | CreateNatGatewayCommandInput | CreateNetworkAclCommandInput | CreateNetworkAclEntryCommandInput + | CreateNetworkInsightsAccessScopeCommandInput | CreateNetworkInsightsPathCommandInput | CreateNetworkInterfaceCommandInput | CreateNetworkInterfacePermissionCommandInput | CreatePlacementGroupCommandInput + | CreatePublicIpv4PoolCommandInput | CreateReplaceRootVolumeTaskCommandInput | CreateReservedInstancesListingCommandInput | CreateRestoreImageTaskCommandInput @@ -1784,6 +1895,9 @@ export type ServiceInputTypes = | DeleteFpgaImageCommandInput | DeleteInstanceEventWindowCommandInput | DeleteInternetGatewayCommandInput + | DeleteIpamCommandInput + | DeleteIpamPoolCommandInput + | DeleteIpamScopeCommandInput | DeleteKeyPairCommandInput | DeleteLaunchTemplateCommandInput | DeleteLaunchTemplateVersionsCommandInput @@ -1793,11 +1907,14 @@ export type ServiceInputTypes = | DeleteNatGatewayCommandInput | DeleteNetworkAclCommandInput | DeleteNetworkAclEntryCommandInput + | DeleteNetworkInsightsAccessScopeAnalysisCommandInput + | DeleteNetworkInsightsAccessScopeCommandInput | DeleteNetworkInsightsAnalysisCommandInput | DeleteNetworkInsightsPathCommandInput | DeleteNetworkInterfaceCommandInput | DeleteNetworkInterfacePermissionCommandInput | DeletePlacementGroupCommandInput + | DeletePublicIpv4PoolCommandInput | DeleteQueuedReservedInstancesCommandInput | DeleteRouteCommandInput | DeleteRouteTableCommandInput @@ -1830,6 +1947,8 @@ export type ServiceInputTypes = | DeleteVpnConnectionRouteCommandInput | DeleteVpnGatewayCommandInput | DeprovisionByoipCidrCommandInput + | DeprovisionIpamPoolCidrCommandInput + | DeprovisionPublicIpv4PoolCidrCommandInput | DeregisterImageCommandInput | DeregisterInstanceEventNotificationAttributesCommandInput | DeregisterTransitGatewayMulticastGroupMembersCommandInput @@ -1884,6 +2003,9 @@ export type ServiceInputTypes = | DescribeInstanceTypesCommandInput | DescribeInstancesCommandInput | DescribeInternetGatewaysCommandInput + | DescribeIpamPoolsCommandInput + | DescribeIpamScopesCommandInput + | DescribeIpamsCommandInput | DescribeIpv6PoolsCommandInput | DescribeKeyPairsCommandInput | DescribeLaunchTemplateVersionsCommandInput @@ -1898,6 +2020,8 @@ export type ServiceInputTypes = | DescribeMovingAddressesCommandInput | DescribeNatGatewaysCommandInput | DescribeNetworkAclsCommandInput + | DescribeNetworkInsightsAccessScopeAnalysesCommandInput + | DescribeNetworkInsightsAccessScopesCommandInput | DescribeNetworkInsightsAnalysesCommandInput | DescribeNetworkInsightsPathsCommandInput | DescribeNetworkInterfaceAttributeCommandInput @@ -1969,6 +2093,7 @@ export type ServiceInputTypes = | DisableEbsEncryptionByDefaultCommandInput | DisableFastSnapshotRestoresCommandInput | DisableImageDeprecationCommandInput + | DisableIpamOrganizationAdminAccountCommandInput | DisableSerialConsoleAccessCommandInput | DisableTransitGatewayRouteTablePropagationCommandInput | DisableVgwRoutePropagationCommandInput @@ -1988,6 +2113,7 @@ export type ServiceInputTypes = | EnableEbsEncryptionByDefaultCommandInput | EnableFastSnapshotRestoresCommandInput | EnableImageDeprecationCommandInput + | EnableIpamOrganizationAdminAccountCommandInput | EnableSerialConsoleAccessCommandInput | EnableTransitGatewayRouteTablePropagationCommandInput | EnableVgwRoutePropagationCommandInput @@ -2011,9 +2137,15 @@ export type ServiceInputTypes = | GetGroupsForCapacityReservationCommandInput | GetHostReservationPurchasePreviewCommandInput | GetInstanceTypesFromInstanceRequirementsCommandInput + | GetIpamAddressHistoryCommandInput + | GetIpamPoolAllocationsCommandInput + | GetIpamPoolCidrsCommandInput + | GetIpamResourceCidrsCommandInput | GetLaunchTemplateDataCommandInput | GetManagedPrefixListAssociationsCommandInput | GetManagedPrefixListEntriesCommandInput + | GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput + | GetNetworkInsightsAccessScopeContentCommandInput | GetPasswordDataCommandInput | GetReservedInstancesExchangeQuoteCommandInput | GetSerialConsoleAccessStatusCommandInput @@ -2053,6 +2185,10 @@ export type ServiceInputTypes = | ModifyInstanceEventWindowCommandInput | ModifyInstanceMetadataOptionsCommandInput | ModifyInstancePlacementCommandInput + | ModifyIpamCommandInput + | ModifyIpamPoolCommandInput + | ModifyIpamResourceCidrCommandInput + | ModifyIpamScopeCommandInput | ModifyLaunchTemplateCommandInput | ModifyManagedPrefixListCommandInput | ModifyNetworkInterfaceAttributeCommandInput @@ -2084,7 +2220,10 @@ export type ServiceInputTypes = | ModifyVpnTunnelOptionsCommandInput | MonitorInstancesCommandInput | MoveAddressToVpcCommandInput + | MoveByoipCidrToIpamCommandInput | ProvisionByoipCidrCommandInput + | ProvisionIpamPoolCidrCommandInput + | ProvisionPublicIpv4PoolCidrCommandInput | PurchaseHostReservationCommandInput | PurchaseReservedInstancesOfferingCommandInput | PurchaseScheduledInstancesCommandInput @@ -2100,6 +2239,7 @@ export type ServiceInputTypes = | RejectVpcPeeringConnectionCommandInput | ReleaseAddressCommandInput | ReleaseHostsCommandInput + | ReleaseIpamPoolAllocationCommandInput | ReplaceIamInstanceProfileAssociationCommandInput | ReplaceNetworkAclAssociationCommandInput | ReplaceNetworkAclEntryCommandInput @@ -2130,6 +2270,7 @@ export type ServiceInputTypes = | SearchTransitGatewayRoutesCommandInput | SendDiagnosticInterruptCommandInput | StartInstancesCommandInput + | StartNetworkInsightsAccessScopeAnalysisCommandInput | StartNetworkInsightsAnalysisCommandInput | StartVpcEndpointServicePrivateDnsVerificationCommandInput | StopInstancesCommandInput @@ -2152,6 +2293,7 @@ export type ServiceOutputTypes = | AdvertiseByoipCidrCommandOutput | AllocateAddressCommandOutput | AllocateHostsCommandOutput + | AllocateIpamPoolCidrCommandOutput | ApplySecurityGroupsToClientVpnTargetNetworkCommandOutput | AssignIpv6AddressesCommandOutput | AssignPrivateIpAddressesCommandOutput @@ -2206,6 +2348,9 @@ export type ServiceOutputTypes = | CreateInstanceEventWindowCommandOutput | CreateInstanceExportTaskCommandOutput | CreateInternetGatewayCommandOutput + | CreateIpamCommandOutput + | CreateIpamPoolCommandOutput + | CreateIpamScopeCommandOutput | CreateKeyPairCommandOutput | CreateLaunchTemplateCommandOutput | CreateLaunchTemplateVersionCommandOutput @@ -2215,10 +2360,12 @@ export type ServiceOutputTypes = | CreateNatGatewayCommandOutput | CreateNetworkAclCommandOutput | CreateNetworkAclEntryCommandOutput + | CreateNetworkInsightsAccessScopeCommandOutput | CreateNetworkInsightsPathCommandOutput | CreateNetworkInterfaceCommandOutput | CreateNetworkInterfacePermissionCommandOutput | CreatePlacementGroupCommandOutput + | CreatePublicIpv4PoolCommandOutput | CreateReplaceRootVolumeTaskCommandOutput | CreateReservedInstancesListingCommandOutput | CreateRestoreImageTaskCommandOutput @@ -2265,6 +2412,9 @@ export type ServiceOutputTypes = | DeleteFpgaImageCommandOutput | DeleteInstanceEventWindowCommandOutput | DeleteInternetGatewayCommandOutput + | DeleteIpamCommandOutput + | DeleteIpamPoolCommandOutput + | DeleteIpamScopeCommandOutput | DeleteKeyPairCommandOutput | DeleteLaunchTemplateCommandOutput | DeleteLaunchTemplateVersionsCommandOutput @@ -2274,11 +2424,14 @@ export type ServiceOutputTypes = | DeleteNatGatewayCommandOutput | DeleteNetworkAclCommandOutput | DeleteNetworkAclEntryCommandOutput + | DeleteNetworkInsightsAccessScopeAnalysisCommandOutput + | DeleteNetworkInsightsAccessScopeCommandOutput | DeleteNetworkInsightsAnalysisCommandOutput | DeleteNetworkInsightsPathCommandOutput | DeleteNetworkInterfaceCommandOutput | DeleteNetworkInterfacePermissionCommandOutput | DeletePlacementGroupCommandOutput + | DeletePublicIpv4PoolCommandOutput | DeleteQueuedReservedInstancesCommandOutput | DeleteRouteCommandOutput | DeleteRouteTableCommandOutput @@ -2311,6 +2464,8 @@ export type ServiceOutputTypes = | DeleteVpnConnectionRouteCommandOutput | DeleteVpnGatewayCommandOutput | DeprovisionByoipCidrCommandOutput + | DeprovisionIpamPoolCidrCommandOutput + | DeprovisionPublicIpv4PoolCidrCommandOutput | DeregisterImageCommandOutput | DeregisterInstanceEventNotificationAttributesCommandOutput | DeregisterTransitGatewayMulticastGroupMembersCommandOutput @@ -2365,6 +2520,9 @@ export type ServiceOutputTypes = | DescribeInstanceTypesCommandOutput | DescribeInstancesCommandOutput | DescribeInternetGatewaysCommandOutput + | DescribeIpamPoolsCommandOutput + | DescribeIpamScopesCommandOutput + | DescribeIpamsCommandOutput | DescribeIpv6PoolsCommandOutput | DescribeKeyPairsCommandOutput | DescribeLaunchTemplateVersionsCommandOutput @@ -2379,6 +2537,8 @@ export type ServiceOutputTypes = | DescribeMovingAddressesCommandOutput | DescribeNatGatewaysCommandOutput | DescribeNetworkAclsCommandOutput + | DescribeNetworkInsightsAccessScopeAnalysesCommandOutput + | DescribeNetworkInsightsAccessScopesCommandOutput | DescribeNetworkInsightsAnalysesCommandOutput | DescribeNetworkInsightsPathsCommandOutput | DescribeNetworkInterfaceAttributeCommandOutput @@ -2450,6 +2610,7 @@ export type ServiceOutputTypes = | DisableEbsEncryptionByDefaultCommandOutput | DisableFastSnapshotRestoresCommandOutput | DisableImageDeprecationCommandOutput + | DisableIpamOrganizationAdminAccountCommandOutput | DisableSerialConsoleAccessCommandOutput | DisableTransitGatewayRouteTablePropagationCommandOutput | DisableVgwRoutePropagationCommandOutput @@ -2469,6 +2630,7 @@ export type ServiceOutputTypes = | EnableEbsEncryptionByDefaultCommandOutput | EnableFastSnapshotRestoresCommandOutput | EnableImageDeprecationCommandOutput + | EnableIpamOrganizationAdminAccountCommandOutput | EnableSerialConsoleAccessCommandOutput | EnableTransitGatewayRouteTablePropagationCommandOutput | EnableVgwRoutePropagationCommandOutput @@ -2492,9 +2654,15 @@ export type ServiceOutputTypes = | GetGroupsForCapacityReservationCommandOutput | GetHostReservationPurchasePreviewCommandOutput | GetInstanceTypesFromInstanceRequirementsCommandOutput + | GetIpamAddressHistoryCommandOutput + | GetIpamPoolAllocationsCommandOutput + | GetIpamPoolCidrsCommandOutput + | GetIpamResourceCidrsCommandOutput | GetLaunchTemplateDataCommandOutput | GetManagedPrefixListAssociationsCommandOutput | GetManagedPrefixListEntriesCommandOutput + | GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput + | GetNetworkInsightsAccessScopeContentCommandOutput | GetPasswordDataCommandOutput | GetReservedInstancesExchangeQuoteCommandOutput | GetSerialConsoleAccessStatusCommandOutput @@ -2534,6 +2702,10 @@ export type ServiceOutputTypes = | ModifyInstanceEventWindowCommandOutput | ModifyInstanceMetadataOptionsCommandOutput | ModifyInstancePlacementCommandOutput + | ModifyIpamCommandOutput + | ModifyIpamPoolCommandOutput + | ModifyIpamResourceCidrCommandOutput + | ModifyIpamScopeCommandOutput | ModifyLaunchTemplateCommandOutput | ModifyManagedPrefixListCommandOutput | ModifyNetworkInterfaceAttributeCommandOutput @@ -2565,7 +2737,10 @@ export type ServiceOutputTypes = | ModifyVpnTunnelOptionsCommandOutput | MonitorInstancesCommandOutput | MoveAddressToVpcCommandOutput + | MoveByoipCidrToIpamCommandOutput | ProvisionByoipCidrCommandOutput + | ProvisionIpamPoolCidrCommandOutput + | ProvisionPublicIpv4PoolCidrCommandOutput | PurchaseHostReservationCommandOutput | PurchaseReservedInstancesOfferingCommandOutput | PurchaseScheduledInstancesCommandOutput @@ -2581,6 +2756,7 @@ export type ServiceOutputTypes = | RejectVpcPeeringConnectionCommandOutput | ReleaseAddressCommandOutput | ReleaseHostsCommandOutput + | ReleaseIpamPoolAllocationCommandOutput | ReplaceIamInstanceProfileAssociationCommandOutput | ReplaceNetworkAclAssociationCommandOutput | ReplaceNetworkAclEntryCommandOutput @@ -2611,6 +2787,7 @@ export type ServiceOutputTypes = | SearchTransitGatewayRoutesCommandOutput | SendDiagnosticInterruptCommandOutput | StartInstancesCommandOutput + | StartNetworkInsightsAccessScopeAnalysisCommandOutput | StartNetworkInsightsAnalysisCommandOutput | StartVpcEndpointServicePrivateDnsVerificationCommandOutput | StopInstancesCommandOutput diff --git a/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts b/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts new file mode 100644 index 000000000000..6122d43693ca --- /dev/null +++ b/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { AllocateIpamPoolCidrRequest, AllocateIpamPoolCidrResult } from "../models/models_0"; +import { + deserializeAws_ec2AllocateIpamPoolCidrCommand, + serializeAws_ec2AllocateIpamPoolCidrCommand, +} from "../protocols/Aws_ec2"; + +export interface AllocateIpamPoolCidrCommandInput extends AllocateIpamPoolCidrRequest {} +export interface AllocateIpamPoolCidrCommandOutput extends AllocateIpamPoolCidrResult, __MetadataBearer {} + +/** + *

Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, AllocateIpamPoolCidrCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, AllocateIpamPoolCidrCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new AllocateIpamPoolCidrCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AllocateIpamPoolCidrCommandInput} for command's `input` shape. + * @see {@link AllocateIpamPoolCidrCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class AllocateIpamPoolCidrCommand extends $Command< + AllocateIpamPoolCidrCommandInput, + AllocateIpamPoolCidrCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AllocateIpamPoolCidrCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "AllocateIpamPoolCidrCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AllocateIpamPoolCidrRequest.filterSensitiveLog, + outputFilterSensitiveLog: AllocateIpamPoolCidrResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AllocateIpamPoolCidrCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2AllocateIpamPoolCidrCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2AllocateIpamPoolCidrCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/CreateFleetCommand.ts b/clients/client-ec2/src/commands/CreateFleetCommand.ts index 78772d29c7c9..8dcbd61260db 100644 --- a/clients/client-ec2/src/commands/CreateFleetCommand.ts +++ b/clients/client-ec2/src/commands/CreateFleetCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateFleetRequest } from "../models/models_0"; -import { CreateFleetResult } from "../models/models_1"; +import { CreateFleetRequest, CreateFleetResult } from "../models/models_1"; import { deserializeAws_ec2CreateFleetCommand, serializeAws_ec2CreateFleetCommand } from "../protocols/Aws_ec2"; export interface CreateFleetCommandInput extends CreateFleetRequest {} diff --git a/clients/client-ec2/src/commands/CreateIpamCommand.ts b/clients/client-ec2/src/commands/CreateIpamCommand.ts new file mode 100644 index 000000000000..77fb02129c30 --- /dev/null +++ b/clients/client-ec2/src/commands/CreateIpamCommand.ts @@ -0,0 +1,94 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { CreateIpamRequest, CreateIpamResult } from "../models/models_1"; +import { deserializeAws_ec2CreateIpamCommand, serializeAws_ec2CreateIpamCommand } from "../protocols/Aws_ec2"; + +export interface CreateIpamCommandInput extends CreateIpamRequest {} +export interface CreateIpamCommandOutput extends CreateIpamResult, __MetadataBearer {} + +/** + *

Create an IPAM. Amazon VCP IP Address Manager (IPAM) is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization.

+ *

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreateIpamCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreateIpamCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new CreateIpamCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateIpamCommandInput} for command's `input` shape. + * @see {@link CreateIpamCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class CreateIpamCommand extends $Command< + CreateIpamCommandInput, + CreateIpamCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateIpamCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "CreateIpamCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateIpamRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateIpamResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateIpamCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2CreateIpamCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2CreateIpamCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts b/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts new file mode 100644 index 000000000000..0695358a8e66 --- /dev/null +++ b/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts @@ -0,0 +1,94 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { CreateIpamPoolRequest, CreateIpamPoolResult } from "../models/models_1"; +import { deserializeAws_ec2CreateIpamPoolCommand, serializeAws_ec2CreateIpamPoolCommand } from "../protocols/Aws_ec2"; + +export interface CreateIpamPoolCommandInput extends CreateIpamPoolRequest {} +export interface CreateIpamPoolCommandOutput extends CreateIpamPoolResult, __MetadataBearer {} + +/** + *

Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

+ *

For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreateIpamPoolCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreateIpamPoolCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new CreateIpamPoolCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateIpamPoolCommandInput} for command's `input` shape. + * @see {@link CreateIpamPoolCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class CreateIpamPoolCommand extends $Command< + CreateIpamPoolCommandInput, + CreateIpamPoolCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateIpamPoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "CreateIpamPoolCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateIpamPoolRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateIpamPoolResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateIpamPoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2CreateIpamPoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2CreateIpamPoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/CreateIpamScopeCommand.ts b/clients/client-ec2/src/commands/CreateIpamScopeCommand.ts new file mode 100644 index 000000000000..54867a99f695 --- /dev/null +++ b/clients/client-ec2/src/commands/CreateIpamScopeCommand.ts @@ -0,0 +1,93 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { CreateIpamScopeRequest, CreateIpamScopeResult } from "../models/models_1"; +import { deserializeAws_ec2CreateIpamScopeCommand, serializeAws_ec2CreateIpamScopeCommand } from "../protocols/Aws_ec2"; + +export interface CreateIpamScopeCommandInput extends CreateIpamScopeRequest {} +export interface CreateIpamScopeCommandOutput extends CreateIpamScopeResult, __MetadataBearer {} + +/** + *

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

+ *

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreateIpamScopeCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreateIpamScopeCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new CreateIpamScopeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateIpamScopeCommandInput} for command's `input` shape. + * @see {@link CreateIpamScopeCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class CreateIpamScopeCommand extends $Command< + CreateIpamScopeCommandInput, + CreateIpamScopeCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateIpamScopeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "CreateIpamScopeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateIpamScopeRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateIpamScopeResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateIpamScopeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2CreateIpamScopeCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2CreateIpamScopeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts b/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts new file mode 100644 index 000000000000..f41e4b37935b --- /dev/null +++ b/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts @@ -0,0 +1,106 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { CreateNetworkInsightsAccessScopeRequest, CreateNetworkInsightsAccessScopeResult } from "../models/models_1"; +import { + deserializeAws_ec2CreateNetworkInsightsAccessScopeCommand, + serializeAws_ec2CreateNetworkInsightsAccessScopeCommand, +} from "../protocols/Aws_ec2"; + +export interface CreateNetworkInsightsAccessScopeCommandInput extends CreateNetworkInsightsAccessScopeRequest {} +export interface CreateNetworkInsightsAccessScopeCommandOutput + extends CreateNetworkInsightsAccessScopeResult, + __MetadataBearer {} + +/** + *

Creates a Network Access Scope.

+ *

Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams + * to verify that their networks on Amazon Web Services conform to their network security and governance + * objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreateNetworkInsightsAccessScopeCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreateNetworkInsightsAccessScopeCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new CreateNetworkInsightsAccessScopeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateNetworkInsightsAccessScopeCommandInput} for command's `input` shape. + * @see {@link CreateNetworkInsightsAccessScopeCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class CreateNetworkInsightsAccessScopeCommand extends $Command< + CreateNetworkInsightsAccessScopeCommandInput, + CreateNetworkInsightsAccessScopeCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateNetworkInsightsAccessScopeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "CreateNetworkInsightsAccessScopeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateNetworkInsightsAccessScopeRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateNetworkInsightsAccessScopeResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: CreateNetworkInsightsAccessScopeCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2CreateNetworkInsightsAccessScopeCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2CreateNetworkInsightsAccessScopeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/CreatePublicIpv4PoolCommand.ts b/clients/client-ec2/src/commands/CreatePublicIpv4PoolCommand.ts new file mode 100644 index 000000000000..3bdc7aa1d4af --- /dev/null +++ b/clients/client-ec2/src/commands/CreatePublicIpv4PoolCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { CreatePublicIpv4PoolRequest, CreatePublicIpv4PoolResult } from "../models/models_1"; +import { + deserializeAws_ec2CreatePublicIpv4PoolCommand, + serializeAws_ec2CreatePublicIpv4PoolCommand, +} from "../protocols/Aws_ec2"; + +export interface CreatePublicIpv4PoolCommandInput extends CreatePublicIpv4PoolRequest {} +export interface CreatePublicIpv4PoolCommandOutput extends CreatePublicIpv4PoolResult, __MetadataBearer {} + +/** + *

Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreatePublicIpv4PoolCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreatePublicIpv4PoolCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new CreatePublicIpv4PoolCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreatePublicIpv4PoolCommandInput} for command's `input` shape. + * @see {@link CreatePublicIpv4PoolCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class CreatePublicIpv4PoolCommand extends $Command< + CreatePublicIpv4PoolCommandInput, + CreatePublicIpv4PoolCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreatePublicIpv4PoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "CreatePublicIpv4PoolCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreatePublicIpv4PoolRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreatePublicIpv4PoolResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreatePublicIpv4PoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2CreatePublicIpv4PoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2CreatePublicIpv4PoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayConnectPeerCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayConnectPeerCommand.ts index 2e9722d44d80..6daf982dcecc 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayConnectPeerCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayConnectPeerCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateTransitGatewayConnectPeerRequest, CreateTransitGatewayConnectPeerResult } from "../models/models_1"; +import { CreateTransitGatewayConnectPeerRequest } from "../models/models_1"; +import { CreateTransitGatewayConnectPeerResult } from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayConnectPeerCommand, serializeAws_ec2CreateTransitGatewayConnectPeerCommand, diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayMulticastDomainCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayMulticastDomainCommand.ts index ffebd2d53c8f..122f79fa0330 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayMulticastDomainCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayMulticastDomainCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { CreateTransitGatewayMulticastDomainRequest, CreateTransitGatewayMulticastDomainResult, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayMulticastDomainCommand, serializeAws_ec2CreateTransitGatewayMulticastDomainCommand, diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayPeeringAttachmentCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayPeeringAttachmentCommand.ts index 033c5bd5bcdd..672646310373 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayPeeringAttachmentCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayPeeringAttachmentCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { CreateTransitGatewayPeeringAttachmentRequest, CreateTransitGatewayPeeringAttachmentResult, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommand, serializeAws_ec2CreateTransitGatewayPeeringAttachmentCommand, diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayPrefixListReferenceCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayPrefixListReferenceCommand.ts index 1a61c8089998..09a2c4e008ee 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayPrefixListReferenceCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayPrefixListReferenceCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { CreateTransitGatewayPrefixListReferenceRequest, CreateTransitGatewayPrefixListReferenceResult, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand, serializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand, diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayRouteCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayRouteCommand.ts index e2f9f7fdf2c1..461c9fabffa9 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayRouteCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayRouteCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateTransitGatewayRouteRequest, CreateTransitGatewayRouteResult } from "../models/models_1"; +import { CreateTransitGatewayRouteRequest, CreateTransitGatewayRouteResult } from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayRouteCommand, serializeAws_ec2CreateTransitGatewayRouteCommand, diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayRouteTableCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayRouteTableCommand.ts index 2b94db0de4c9..ba3130b8c767 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayRouteTableCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayRouteTableCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateTransitGatewayRouteTableRequest, CreateTransitGatewayRouteTableResult } from "../models/models_1"; +import { CreateTransitGatewayRouteTableRequest, CreateTransitGatewayRouteTableResult } from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayRouteTableCommand, serializeAws_ec2CreateTransitGatewayRouteTableCommand, diff --git a/clients/client-ec2/src/commands/CreateTransitGatewayVpcAttachmentCommand.ts b/clients/client-ec2/src/commands/CreateTransitGatewayVpcAttachmentCommand.ts index 7f4bcb21b3ed..f3b803dada50 100644 --- a/clients/client-ec2/src/commands/CreateTransitGatewayVpcAttachmentCommand.ts +++ b/clients/client-ec2/src/commands/CreateTransitGatewayVpcAttachmentCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateTransitGatewayVpcAttachmentRequest, CreateTransitGatewayVpcAttachmentResult } from "../models/models_1"; +import { CreateTransitGatewayVpcAttachmentRequest, CreateTransitGatewayVpcAttachmentResult } from "../models/models_2"; import { deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommand, serializeAws_ec2CreateTransitGatewayVpcAttachmentCommand, diff --git a/clients/client-ec2/src/commands/CreateVolumeCommand.ts b/clients/client-ec2/src/commands/CreateVolumeCommand.ts index c5247dca85e0..3b49a875e286 100644 --- a/clients/client-ec2/src/commands/CreateVolumeCommand.ts +++ b/clients/client-ec2/src/commands/CreateVolumeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateVolumeRequest, Volume } from "../models/models_1"; +import { CreateVolumeRequest, Volume } from "../models/models_2"; import { deserializeAws_ec2CreateVolumeCommand, serializeAws_ec2CreateVolumeCommand } from "../protocols/Aws_ec2"; export interface CreateVolumeCommandInput extends CreateVolumeRequest {} diff --git a/clients/client-ec2/src/commands/CreateVpcCommand.ts b/clients/client-ec2/src/commands/CreateVpcCommand.ts index d57bf3ec9948..001a3df74a89 100644 --- a/clients/client-ec2/src/commands/CreateVpcCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateVpcRequest, CreateVpcResult } from "../models/models_1"; +import { CreateVpcRequest, CreateVpcResult } from "../models/models_2"; import { deserializeAws_ec2CreateVpcCommand, serializeAws_ec2CreateVpcCommand } from "../protocols/Aws_ec2"; export interface CreateVpcCommandInput extends CreateVpcRequest {} diff --git a/clients/client-ec2/src/commands/CreateVpcEndpointCommand.ts b/clients/client-ec2/src/commands/CreateVpcEndpointCommand.ts index 1128bf430176..6791760e71b9 100644 --- a/clients/client-ec2/src/commands/CreateVpcEndpointCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcEndpointCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateVpcEndpointRequest, CreateVpcEndpointResult } from "../models/models_1"; +import { CreateVpcEndpointRequest, CreateVpcEndpointResult } from "../models/models_2"; import { deserializeAws_ec2CreateVpcEndpointCommand, serializeAws_ec2CreateVpcEndpointCommand, diff --git a/clients/client-ec2/src/commands/DeleteIpamCommand.ts b/clients/client-ec2/src/commands/DeleteIpamCommand.ts new file mode 100644 index 000000000000..92cd71d46365 --- /dev/null +++ b/clients/client-ec2/src/commands/DeleteIpamCommand.ts @@ -0,0 +1,99 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeleteIpamRequest, DeleteIpamResult } from "../models/models_2"; +import { deserializeAws_ec2DeleteIpamCommand, serializeAws_ec2DeleteIpamCommand } from "../protocols/Aws_ec2"; + +export interface DeleteIpamCommandInput extends DeleteIpamRequest {} +export interface DeleteIpamCommandOutput extends DeleteIpamResult, __MetadataBearer {} + +/** + *

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

+ * + *

You cannot delete an IPAM if there are CIDRs provisioned to pools or if there are allocations in the pools within the IPAM. To deprovision pool + * CIDRs, see DeprovisionIpamPoolCidr. To release allocations, see ReleaseIpamPoolAllocation. + *

+ *
+ *

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeleteIpamCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeleteIpamCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeleteIpamCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteIpamCommandInput} for command's `input` shape. + * @see {@link DeleteIpamCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeleteIpamCommand extends $Command< + DeleteIpamCommandInput, + DeleteIpamCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteIpamCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeleteIpamCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteIpamRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteIpamResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteIpamCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeleteIpamCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DeleteIpamCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts b/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts new file mode 100644 index 000000000000..c4d71df66059 --- /dev/null +++ b/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts @@ -0,0 +1,99 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeleteIpamPoolRequest, DeleteIpamPoolResult } from "../models/models_2"; +import { deserializeAws_ec2DeleteIpamPoolCommand, serializeAws_ec2DeleteIpamPoolCommand } from "../protocols/Aws_ec2"; + +export interface DeleteIpamPoolCommandInput extends DeleteIpamPoolRequest {} +export interface DeleteIpamPoolCommandOutput extends DeleteIpamPoolResult, __MetadataBearer {} + +/** + *

Delete an IPAM pool.

+ * + *

You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release + * allocations, see ReleaseIpamPoolAllocation. To deprovision pool + * CIDRs, see DeprovisionIpamPoolCidr.

+ *
+ *

For more information, see Delete a pool in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeleteIpamPoolCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeleteIpamPoolCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeleteIpamPoolCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteIpamPoolCommandInput} for command's `input` shape. + * @see {@link DeleteIpamPoolCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeleteIpamPoolCommand extends $Command< + DeleteIpamPoolCommandInput, + DeleteIpamPoolCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteIpamPoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeleteIpamPoolCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteIpamPoolRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteIpamPoolResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteIpamPoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeleteIpamPoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DeleteIpamPoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts b/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts new file mode 100644 index 000000000000..e7b7e07e4225 --- /dev/null +++ b/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts @@ -0,0 +1,94 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeleteIpamScopeRequest, DeleteIpamScopeResult } from "../models/models_2"; +import { deserializeAws_ec2DeleteIpamScopeCommand, serializeAws_ec2DeleteIpamScopeCommand } from "../protocols/Aws_ec2"; + +export interface DeleteIpamScopeCommandInput extends DeleteIpamScopeRequest {} +export interface DeleteIpamScopeCommandOutput extends DeleteIpamScopeResult, __MetadataBearer {} + +/** + *

Delete the scope for an IPAM. You cannot delete the default scopes.

+ *

For more information, see Delete a scope in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeleteIpamScopeCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeleteIpamScopeCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeleteIpamScopeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteIpamScopeCommandInput} for command's `input` shape. + * @see {@link DeleteIpamScopeCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeleteIpamScopeCommand extends $Command< + DeleteIpamScopeCommandInput, + DeleteIpamScopeCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteIpamScopeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeleteIpamScopeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteIpamScopeRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteIpamScopeResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteIpamScopeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeleteIpamScopeCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DeleteIpamScopeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts new file mode 100644 index 000000000000..b5aebe76a8ab --- /dev/null +++ b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts @@ -0,0 +1,110 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + DeleteNetworkInsightsAccessScopeAnalysisRequest, + DeleteNetworkInsightsAccessScopeAnalysisResult, +} from "../models/models_2"; +import { + deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommand, + serializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommand, +} from "../protocols/Aws_ec2"; + +export interface DeleteNetworkInsightsAccessScopeAnalysisCommandInput + extends DeleteNetworkInsightsAccessScopeAnalysisRequest {} +export interface DeleteNetworkInsightsAccessScopeAnalysisCommandOutput + extends DeleteNetworkInsightsAccessScopeAnalysisResult, + __MetadataBearer {} + +/** + *

Deletes the specified Network Access Scope analysis.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeleteNetworkInsightsAccessScopeAnalysisCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeleteNetworkInsightsAccessScopeAnalysisCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeleteNetworkInsightsAccessScopeAnalysisCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteNetworkInsightsAccessScopeAnalysisCommandInput} for command's `input` shape. + * @see {@link DeleteNetworkInsightsAccessScopeAnalysisCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeleteNetworkInsightsAccessScopeAnalysisCommand extends $Command< + DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + DeleteNetworkInsightsAccessScopeAnalysisCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteNetworkInsightsAccessScopeAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + DeleteNetworkInsightsAccessScopeAnalysisCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DeleteNetworkInsightsAccessScopeAnalysisCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteNetworkInsightsAccessScopeAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteNetworkInsightsAccessScopeAnalysisResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts new file mode 100644 index 000000000000..972a677df6db --- /dev/null +++ b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts @@ -0,0 +1,103 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeleteNetworkInsightsAccessScopeRequest, DeleteNetworkInsightsAccessScopeResult } from "../models/models_2"; +import { + deserializeAws_ec2DeleteNetworkInsightsAccessScopeCommand, + serializeAws_ec2DeleteNetworkInsightsAccessScopeCommand, +} from "../protocols/Aws_ec2"; + +export interface DeleteNetworkInsightsAccessScopeCommandInput extends DeleteNetworkInsightsAccessScopeRequest {} +export interface DeleteNetworkInsightsAccessScopeCommandOutput + extends DeleteNetworkInsightsAccessScopeResult, + __MetadataBearer {} + +/** + *

Deletes the specified Network Access Scope.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeleteNetworkInsightsAccessScopeCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeleteNetworkInsightsAccessScopeCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeleteNetworkInsightsAccessScopeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteNetworkInsightsAccessScopeCommandInput} for command's `input` shape. + * @see {@link DeleteNetworkInsightsAccessScopeCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeleteNetworkInsightsAccessScopeCommand extends $Command< + DeleteNetworkInsightsAccessScopeCommandInput, + DeleteNetworkInsightsAccessScopeCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteNetworkInsightsAccessScopeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeleteNetworkInsightsAccessScopeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteNetworkInsightsAccessScopeRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteNetworkInsightsAccessScopeResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteNetworkInsightsAccessScopeCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2DeleteNetworkInsightsAccessScopeCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DeleteNetworkInsightsAccessScopeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeletePublicIpv4PoolCommand.ts b/clients/client-ec2/src/commands/DeletePublicIpv4PoolCommand.ts new file mode 100644 index 000000000000..a259eec87853 --- /dev/null +++ b/clients/client-ec2/src/commands/DeletePublicIpv4PoolCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeletePublicIpv4PoolRequest, DeletePublicIpv4PoolResult } from "../models/models_2"; +import { + deserializeAws_ec2DeletePublicIpv4PoolCommand, + serializeAws_ec2DeletePublicIpv4PoolCommand, +} from "../protocols/Aws_ec2"; + +export interface DeletePublicIpv4PoolCommandInput extends DeletePublicIpv4PoolRequest {} +export interface DeletePublicIpv4PoolCommandOutput extends DeletePublicIpv4PoolResult, __MetadataBearer {} + +/** + *

Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeletePublicIpv4PoolCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeletePublicIpv4PoolCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeletePublicIpv4PoolCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeletePublicIpv4PoolCommandInput} for command's `input` shape. + * @see {@link DeletePublicIpv4PoolCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeletePublicIpv4PoolCommand extends $Command< + DeletePublicIpv4PoolCommandInput, + DeletePublicIpv4PoolCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePublicIpv4PoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeletePublicIpv4PoolCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeletePublicIpv4PoolRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeletePublicIpv4PoolResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeletePublicIpv4PoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeletePublicIpv4PoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DeletePublicIpv4PoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeprovisionIpamPoolCidrCommand.ts b/clients/client-ec2/src/commands/DeprovisionIpamPoolCidrCommand.ts new file mode 100644 index 000000000000..73d7698e4053 --- /dev/null +++ b/clients/client-ec2/src/commands/DeprovisionIpamPoolCidrCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeprovisionIpamPoolCidrRequest, DeprovisionIpamPoolCidrResult } from "../models/models_2"; +import { + deserializeAws_ec2DeprovisionIpamPoolCidrCommand, + serializeAws_ec2DeprovisionIpamPoolCidrCommand, +} from "../protocols/Aws_ec2"; + +export interface DeprovisionIpamPoolCidrCommandInput extends DeprovisionIpamPoolCidrRequest {} +export interface DeprovisionIpamPoolCidrCommandOutput extends DeprovisionIpamPoolCidrResult, __MetadataBearer {} + +/** + *

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeprovisionIpamPoolCidrCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeprovisionIpamPoolCidrCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeprovisionIpamPoolCidrCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeprovisionIpamPoolCidrCommandInput} for command's `input` shape. + * @see {@link DeprovisionIpamPoolCidrCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeprovisionIpamPoolCidrCommand extends $Command< + DeprovisionIpamPoolCidrCommandInput, + DeprovisionIpamPoolCidrCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeprovisionIpamPoolCidrCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeprovisionIpamPoolCidrCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeprovisionIpamPoolCidrRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeprovisionIpamPoolCidrResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeprovisionIpamPoolCidrCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeprovisionIpamPoolCidrCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DeprovisionIpamPoolCidrCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DeprovisionPublicIpv4PoolCidrCommand.ts b/clients/client-ec2/src/commands/DeprovisionPublicIpv4PoolCidrCommand.ts new file mode 100644 index 000000000000..6a957eacc628 --- /dev/null +++ b/clients/client-ec2/src/commands/DeprovisionPublicIpv4PoolCidrCommand.ts @@ -0,0 +1,100 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeprovisionPublicIpv4PoolCidrRequest, DeprovisionPublicIpv4PoolCidrResult } from "../models/models_2"; +import { + deserializeAws_ec2DeprovisionPublicIpv4PoolCidrCommand, + serializeAws_ec2DeprovisionPublicIpv4PoolCidrCommand, +} from "../protocols/Aws_ec2"; + +export interface DeprovisionPublicIpv4PoolCidrCommandInput extends DeprovisionPublicIpv4PoolCidrRequest {} +export interface DeprovisionPublicIpv4PoolCidrCommandOutput + extends DeprovisionPublicIpv4PoolCidrResult, + __MetadataBearer {} + +/** + *

Deprovision a CIDR from a public IPv4 pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeprovisionPublicIpv4PoolCidrCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeprovisionPublicIpv4PoolCidrCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DeprovisionPublicIpv4PoolCidrCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeprovisionPublicIpv4PoolCidrCommandInput} for command's `input` shape. + * @see {@link DeprovisionPublicIpv4PoolCidrCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DeprovisionPublicIpv4PoolCidrCommand extends $Command< + DeprovisionPublicIpv4PoolCidrCommandInput, + DeprovisionPublicIpv4PoolCidrCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeprovisionPublicIpv4PoolCidrCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DeprovisionPublicIpv4PoolCidrCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeprovisionPublicIpv4PoolCidrRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeprovisionPublicIpv4PoolCidrResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeprovisionPublicIpv4PoolCidrCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeprovisionPublicIpv4PoolCidrCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DeprovisionPublicIpv4PoolCidrCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeConversionTasksCommand.ts b/clients/client-ec2/src/commands/DescribeConversionTasksCommand.ts index 67c72a5d8e4d..8efe31e9c3e7 100644 --- a/clients/client-ec2/src/commands/DescribeConversionTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeConversionTasksCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeConversionTasksRequest, DescribeConversionTasksResult } from "../models/models_2"; +import { DescribeConversionTasksRequest } from "../models/models_2"; +import { DescribeConversionTasksResult } from "../models/models_3"; import { deserializeAws_ec2DescribeConversionTasksCommand, serializeAws_ec2DescribeConversionTasksCommand, diff --git a/clients/client-ec2/src/commands/DescribeCustomerGatewaysCommand.ts b/clients/client-ec2/src/commands/DescribeCustomerGatewaysCommand.ts index 6fb42687c06c..9a8fee45a4f3 100644 --- a/clients/client-ec2/src/commands/DescribeCustomerGatewaysCommand.ts +++ b/clients/client-ec2/src/commands/DescribeCustomerGatewaysCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeCustomerGatewaysRequest, DescribeCustomerGatewaysResult } from "../models/models_2"; +import { DescribeCustomerGatewaysRequest, DescribeCustomerGatewaysResult } from "../models/models_3"; import { deserializeAws_ec2DescribeCustomerGatewaysCommand, serializeAws_ec2DescribeCustomerGatewaysCommand, diff --git a/clients/client-ec2/src/commands/DescribeDhcpOptionsCommand.ts b/clients/client-ec2/src/commands/DescribeDhcpOptionsCommand.ts index db0cc114353d..31e793f9e8e1 100644 --- a/clients/client-ec2/src/commands/DescribeDhcpOptionsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeDhcpOptionsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeDhcpOptionsRequest, DescribeDhcpOptionsResult } from "../models/models_2"; +import { DescribeDhcpOptionsRequest, DescribeDhcpOptionsResult } from "../models/models_3"; import { deserializeAws_ec2DescribeDhcpOptionsCommand, serializeAws_ec2DescribeDhcpOptionsCommand, diff --git a/clients/client-ec2/src/commands/DescribeEgressOnlyInternetGatewaysCommand.ts b/clients/client-ec2/src/commands/DescribeEgressOnlyInternetGatewaysCommand.ts index d833f55a6931..009330090b19 100644 --- a/clients/client-ec2/src/commands/DescribeEgressOnlyInternetGatewaysCommand.ts +++ b/clients/client-ec2/src/commands/DescribeEgressOnlyInternetGatewaysCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeEgressOnlyInternetGatewaysRequest, DescribeEgressOnlyInternetGatewaysResult, -} from "../models/models_2"; +} from "../models/models_3"; import { deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommand, serializeAws_ec2DescribeEgressOnlyInternetGatewaysCommand, diff --git a/clients/client-ec2/src/commands/DescribeElasticGpusCommand.ts b/clients/client-ec2/src/commands/DescribeElasticGpusCommand.ts index 08ef13672dec..36ed2aa14aee 100644 --- a/clients/client-ec2/src/commands/DescribeElasticGpusCommand.ts +++ b/clients/client-ec2/src/commands/DescribeElasticGpusCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeElasticGpusRequest, DescribeElasticGpusResult } from "../models/models_2"; +import { DescribeElasticGpusRequest, DescribeElasticGpusResult } from "../models/models_3"; import { deserializeAws_ec2DescribeElasticGpusCommand, serializeAws_ec2DescribeElasticGpusCommand, diff --git a/clients/client-ec2/src/commands/DescribeExportImageTasksCommand.ts b/clients/client-ec2/src/commands/DescribeExportImageTasksCommand.ts index 2484e8232d2e..4df131dc60e0 100644 --- a/clients/client-ec2/src/commands/DescribeExportImageTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeExportImageTasksCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeExportImageTasksRequest, DescribeExportImageTasksResult } from "../models/models_2"; +import { DescribeExportImageTasksRequest, DescribeExportImageTasksResult } from "../models/models_3"; import { deserializeAws_ec2DescribeExportImageTasksCommand, serializeAws_ec2DescribeExportImageTasksCommand, diff --git a/clients/client-ec2/src/commands/DescribeExportTasksCommand.ts b/clients/client-ec2/src/commands/DescribeExportTasksCommand.ts index 4ab2c5519ef7..071074dfeb4c 100644 --- a/clients/client-ec2/src/commands/DescribeExportTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeExportTasksCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeExportTasksRequest, DescribeExportTasksResult } from "../models/models_2"; +import { DescribeExportTasksRequest, DescribeExportTasksResult } from "../models/models_3"; import { deserializeAws_ec2DescribeExportTasksCommand, serializeAws_ec2DescribeExportTasksCommand, diff --git a/clients/client-ec2/src/commands/DescribeFastSnapshotRestoresCommand.ts b/clients/client-ec2/src/commands/DescribeFastSnapshotRestoresCommand.ts index 40bab40463fe..633059b9c71b 100644 --- a/clients/client-ec2/src/commands/DescribeFastSnapshotRestoresCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFastSnapshotRestoresCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFastSnapshotRestoresRequest, DescribeFastSnapshotRestoresResult } from "../models/models_2"; +import { DescribeFastSnapshotRestoresRequest, DescribeFastSnapshotRestoresResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFastSnapshotRestoresCommand, serializeAws_ec2DescribeFastSnapshotRestoresCommand, diff --git a/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts b/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts index a25d26b74f53..89623610e703 100644 --- a/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetHistoryCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFleetHistoryRequest, DescribeFleetHistoryResult } from "../models/models_2"; +import { DescribeFleetHistoryRequest, DescribeFleetHistoryResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFleetHistoryCommand, serializeAws_ec2DescribeFleetHistoryCommand, diff --git a/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts index 52caa46902e7..f0f24444abd1 100644 --- a/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFleetInstancesRequest, DescribeFleetInstancesResult } from "../models/models_2"; +import { DescribeFleetInstancesRequest, DescribeFleetInstancesResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFleetInstancesCommand, serializeAws_ec2DescribeFleetInstancesCommand, diff --git a/clients/client-ec2/src/commands/DescribeFleetsCommand.ts b/clients/client-ec2/src/commands/DescribeFleetsCommand.ts index b72b69336fc3..ebf6cfdbb057 100644 --- a/clients/client-ec2/src/commands/DescribeFleetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFleetsRequest, DescribeFleetsResult } from "../models/models_2"; +import { DescribeFleetsRequest, DescribeFleetsResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFleetsCommand, serializeAws_ec2DescribeFleetsCommand } from "../protocols/Aws_ec2"; export interface DescribeFleetsCommandInput extends DescribeFleetsRequest {} diff --git a/clients/client-ec2/src/commands/DescribeFlowLogsCommand.ts b/clients/client-ec2/src/commands/DescribeFlowLogsCommand.ts index 79479ecdf2ea..344cd66a7e57 100644 --- a/clients/client-ec2/src/commands/DescribeFlowLogsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFlowLogsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFlowLogsRequest, DescribeFlowLogsResult } from "../models/models_2"; +import { DescribeFlowLogsRequest, DescribeFlowLogsResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFlowLogsCommand, serializeAws_ec2DescribeFlowLogsCommand, diff --git a/clients/client-ec2/src/commands/DescribeFpgaImageAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeFpgaImageAttributeCommand.ts index 1374b41f476e..683fadc7ecfc 100644 --- a/clients/client-ec2/src/commands/DescribeFpgaImageAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFpgaImageAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFpgaImageAttributeRequest, DescribeFpgaImageAttributeResult } from "../models/models_2"; +import { DescribeFpgaImageAttributeRequest, DescribeFpgaImageAttributeResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFpgaImageAttributeCommand, serializeAws_ec2DescribeFpgaImageAttributeCommand, diff --git a/clients/client-ec2/src/commands/DescribeFpgaImagesCommand.ts b/clients/client-ec2/src/commands/DescribeFpgaImagesCommand.ts index f5306cc5e76b..12ed023a8d83 100644 --- a/clients/client-ec2/src/commands/DescribeFpgaImagesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFpgaImagesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeFpgaImagesRequest, DescribeFpgaImagesResult } from "../models/models_2"; +import { DescribeFpgaImagesRequest, DescribeFpgaImagesResult } from "../models/models_3"; import { deserializeAws_ec2DescribeFpgaImagesCommand, serializeAws_ec2DescribeFpgaImagesCommand, diff --git a/clients/client-ec2/src/commands/DescribeHostReservationOfferingsCommand.ts b/clients/client-ec2/src/commands/DescribeHostReservationOfferingsCommand.ts index e258dbaff417..b123925816b8 100644 --- a/clients/client-ec2/src/commands/DescribeHostReservationOfferingsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeHostReservationOfferingsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeHostReservationOfferingsRequest, DescribeHostReservationOfferingsResult } from "../models/models_2"; +import { DescribeHostReservationOfferingsRequest, DescribeHostReservationOfferingsResult } from "../models/models_3"; import { deserializeAws_ec2DescribeHostReservationOfferingsCommand, serializeAws_ec2DescribeHostReservationOfferingsCommand, diff --git a/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts b/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts new file mode 100644 index 000000000000..ff4c76bcd6e8 --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeIpamPoolsRequest, DescribeIpamPoolsResult } from "../models/models_3"; +import { + deserializeAws_ec2DescribeIpamPoolsCommand, + serializeAws_ec2DescribeIpamPoolsCommand, +} from "../protocols/Aws_ec2"; + +export interface DescribeIpamPoolsCommandInput extends DescribeIpamPoolsRequest {} +export interface DescribeIpamPoolsCommandOutput extends DescribeIpamPoolsResult, __MetadataBearer {} + +/** + *

Get information about your IPAM pools.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeIpamPoolsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeIpamPoolsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DescribeIpamPoolsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeIpamPoolsCommandInput} for command's `input` shape. + * @see {@link DescribeIpamPoolsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DescribeIpamPoolsCommand extends $Command< + DescribeIpamPoolsCommandInput, + DescribeIpamPoolsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeIpamPoolsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DescribeIpamPoolsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeIpamPoolsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeIpamPoolsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeIpamPoolsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DescribeIpamPoolsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DescribeIpamPoolsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeIpamScopesCommand.ts b/clients/client-ec2/src/commands/DescribeIpamScopesCommand.ts new file mode 100644 index 000000000000..c3fc05ce640e --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeIpamScopesCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeIpamScopesRequest, DescribeIpamScopesResult } from "../models/models_3"; +import { + deserializeAws_ec2DescribeIpamScopesCommand, + serializeAws_ec2DescribeIpamScopesCommand, +} from "../protocols/Aws_ec2"; + +export interface DescribeIpamScopesCommandInput extends DescribeIpamScopesRequest {} +export interface DescribeIpamScopesCommandOutput extends DescribeIpamScopesResult, __MetadataBearer {} + +/** + *

Get information about your IPAM scopes.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeIpamScopesCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeIpamScopesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DescribeIpamScopesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeIpamScopesCommandInput} for command's `input` shape. + * @see {@link DescribeIpamScopesCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DescribeIpamScopesCommand extends $Command< + DescribeIpamScopesCommandInput, + DescribeIpamScopesCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeIpamScopesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DescribeIpamScopesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeIpamScopesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeIpamScopesResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeIpamScopesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DescribeIpamScopesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DescribeIpamScopesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeIpamsCommand.ts b/clients/client-ec2/src/commands/DescribeIpamsCommand.ts new file mode 100644 index 000000000000..c0433b8ac8ab --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeIpamsCommand.ts @@ -0,0 +1,94 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeIpamsRequest, DescribeIpamsResult } from "../models/models_3"; +import { deserializeAws_ec2DescribeIpamsCommand, serializeAws_ec2DescribeIpamsCommand } from "../protocols/Aws_ec2"; + +export interface DescribeIpamsCommandInput extends DescribeIpamsRequest {} +export interface DescribeIpamsCommandOutput extends DescribeIpamsResult, __MetadataBearer {} + +/** + *

Get information about your IPAM pools.

+ *

For more information, see What is IPAM? in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeIpamsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeIpamsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DescribeIpamsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeIpamsCommandInput} for command's `input` shape. + * @see {@link DescribeIpamsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DescribeIpamsCommand extends $Command< + DescribeIpamsCommandInput, + DescribeIpamsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeIpamsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DescribeIpamsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeIpamsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeIpamsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeIpamsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DescribeIpamsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DescribeIpamsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopeAnalysesCommand.ts b/clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopeAnalysesCommand.ts new file mode 100644 index 000000000000..4fd74a89b20e --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopeAnalysesCommand.ts @@ -0,0 +1,110 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + DescribeNetworkInsightsAccessScopeAnalysesRequest, + DescribeNetworkInsightsAccessScopeAnalysesResult, +} from "../models/models_3"; +import { + deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommand, + serializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommand, +} from "../protocols/Aws_ec2"; + +export interface DescribeNetworkInsightsAccessScopeAnalysesCommandInput + extends DescribeNetworkInsightsAccessScopeAnalysesRequest {} +export interface DescribeNetworkInsightsAccessScopeAnalysesCommandOutput + extends DescribeNetworkInsightsAccessScopeAnalysesResult, + __MetadataBearer {} + +/** + *

Describes the specified Network Access Scope analyses.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeNetworkInsightsAccessScopeAnalysesCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeNetworkInsightsAccessScopeAnalysesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DescribeNetworkInsightsAccessScopeAnalysesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeNetworkInsightsAccessScopeAnalysesCommandInput} for command's `input` shape. + * @see {@link DescribeNetworkInsightsAccessScopeAnalysesCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DescribeNetworkInsightsAccessScopeAnalysesCommand extends $Command< + DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + DescribeNetworkInsightsAccessScopeAnalysesCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeNetworkInsightsAccessScopeAnalysesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + DescribeNetworkInsightsAccessScopeAnalysesCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DescribeNetworkInsightsAccessScopeAnalysesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeNetworkInsightsAccessScopeAnalysesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeNetworkInsightsAccessScopeAnalysesResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopesCommand.ts b/clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopesCommand.ts new file mode 100644 index 000000000000..3905dbdd74fb --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeNetworkInsightsAccessScopesCommand.ts @@ -0,0 +1,106 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + DescribeNetworkInsightsAccessScopesRequest, + DescribeNetworkInsightsAccessScopesResult, +} from "../models/models_3"; +import { + deserializeAws_ec2DescribeNetworkInsightsAccessScopesCommand, + serializeAws_ec2DescribeNetworkInsightsAccessScopesCommand, +} from "../protocols/Aws_ec2"; + +export interface DescribeNetworkInsightsAccessScopesCommandInput extends DescribeNetworkInsightsAccessScopesRequest {} +export interface DescribeNetworkInsightsAccessScopesCommandOutput + extends DescribeNetworkInsightsAccessScopesResult, + __MetadataBearer {} + +/** + *

Describes the specified Network Access Scopes.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeNetworkInsightsAccessScopesCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeNetworkInsightsAccessScopesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DescribeNetworkInsightsAccessScopesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeNetworkInsightsAccessScopesCommandInput} for command's `input` shape. + * @see {@link DescribeNetworkInsightsAccessScopesCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DescribeNetworkInsightsAccessScopesCommand extends $Command< + DescribeNetworkInsightsAccessScopesCommandInput, + DescribeNetworkInsightsAccessScopesCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeNetworkInsightsAccessScopesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DescribeNetworkInsightsAccessScopesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeNetworkInsightsAccessScopesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeNetworkInsightsAccessScopesResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeNetworkInsightsAccessScopesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2DescribeNetworkInsightsAccessScopesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DescribeNetworkInsightsAccessScopesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts b/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts index be0398eef8f5..6b5c52c072f0 100644 --- a/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts @@ -12,10 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { - DescribeReservedInstancesModificationsRequest, - DescribeReservedInstancesModificationsResult, -} from "../models/models_3"; +import { DescribeReservedInstancesModificationsRequest } from "../models/models_3"; +import { DescribeReservedInstancesModificationsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeReservedInstancesModificationsCommand, serializeAws_ec2DescribeReservedInstancesModificationsCommand, diff --git a/clients/client-ec2/src/commands/DescribeReservedInstancesOfferingsCommand.ts b/clients/client-ec2/src/commands/DescribeReservedInstancesOfferingsCommand.ts index 5b91945695ae..e6ade3b50f68 100644 --- a/clients/client-ec2/src/commands/DescribeReservedInstancesOfferingsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeReservedInstancesOfferingsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeReservedInstancesOfferingsRequest, DescribeReservedInstancesOfferingsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2DescribeReservedInstancesOfferingsCommand, serializeAws_ec2DescribeReservedInstancesOfferingsCommand, diff --git a/clients/client-ec2/src/commands/DescribeRouteTablesCommand.ts b/clients/client-ec2/src/commands/DescribeRouteTablesCommand.ts index b918f7670098..5b032a51c732 100644 --- a/clients/client-ec2/src/commands/DescribeRouteTablesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeRouteTablesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeRouteTablesRequest, DescribeRouteTablesResult } from "../models/models_3"; +import { DescribeRouteTablesRequest, DescribeRouteTablesResult } from "../models/models_4"; import { deserializeAws_ec2DescribeRouteTablesCommand, serializeAws_ec2DescribeRouteTablesCommand, diff --git a/clients/client-ec2/src/commands/DescribeScheduledInstanceAvailabilityCommand.ts b/clients/client-ec2/src/commands/DescribeScheduledInstanceAvailabilityCommand.ts index fe86b995e850..f6490b70d5fb 100644 --- a/clients/client-ec2/src/commands/DescribeScheduledInstanceAvailabilityCommand.ts +++ b/clients/client-ec2/src/commands/DescribeScheduledInstanceAvailabilityCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeScheduledInstanceAvailabilityRequest, DescribeScheduledInstanceAvailabilityResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommand, serializeAws_ec2DescribeScheduledInstanceAvailabilityCommand, diff --git a/clients/client-ec2/src/commands/DescribeScheduledInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeScheduledInstancesCommand.ts index 6bb54f06a959..fec661aa9cf4 100644 --- a/clients/client-ec2/src/commands/DescribeScheduledInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeScheduledInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeScheduledInstancesRequest, DescribeScheduledInstancesResult } from "../models/models_3"; +import { DescribeScheduledInstancesRequest, DescribeScheduledInstancesResult } from "../models/models_4"; import { deserializeAws_ec2DescribeScheduledInstancesCommand, serializeAws_ec2DescribeScheduledInstancesCommand, diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts index 32c61dcc6ab3..f451d914b526 100644 --- a/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSecurityGroupReferencesRequest, DescribeSecurityGroupReferencesResult } from "../models/models_3"; +import { DescribeSecurityGroupReferencesRequest, DescribeSecurityGroupReferencesResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSecurityGroupReferencesCommand, serializeAws_ec2DescribeSecurityGroupReferencesCommand, diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts index ba741bc8369e..250f68039074 100644 --- a/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSecurityGroupRulesRequest, DescribeSecurityGroupRulesResult } from "../models/models_3"; +import { DescribeSecurityGroupRulesRequest, DescribeSecurityGroupRulesResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSecurityGroupRulesCommand, serializeAws_ec2DescribeSecurityGroupRulesCommand, diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts index c3393a86299f..3bccbd1d91c7 100644 --- a/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSecurityGroupsRequest, DescribeSecurityGroupsResult } from "../models/models_3"; +import { DescribeSecurityGroupsRequest, DescribeSecurityGroupsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSecurityGroupsCommand, serializeAws_ec2DescribeSecurityGroupsCommand, diff --git a/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts index 4ba038ff0be8..b5c553879c4a 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSnapshotAttributeRequest, DescribeSnapshotAttributeResult } from "../models/models_3"; +import { DescribeSnapshotAttributeRequest, DescribeSnapshotAttributeResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSnapshotAttributeCommand, serializeAws_ec2DescribeSnapshotAttributeCommand, diff --git a/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts index be3f2e9c78bd..64699bdfdfe5 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSnapshotTierStatusRequest, DescribeSnapshotTierStatusResult } from "../models/models_3"; +import { DescribeSnapshotTierStatusRequest, DescribeSnapshotTierStatusResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSnapshotTierStatusCommand, serializeAws_ec2DescribeSnapshotTierStatusCommand, diff --git a/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts index daaa2fd48615..937684b85e5c 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSnapshotsRequest, DescribeSnapshotsResult } from "../models/models_3"; +import { DescribeSnapshotsRequest, DescribeSnapshotsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSnapshotsCommand, serializeAws_ec2DescribeSnapshotsCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts b/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts index 813188dfa811..8deb3101aa1b 100644 --- a/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSpotDatafeedSubscriptionRequest, DescribeSpotDatafeedSubscriptionResult } from "../models/models_3"; +import { DescribeSpotDatafeedSubscriptionRequest, DescribeSpotDatafeedSubscriptionResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommand, serializeAws_ec2DescribeSpotDatafeedSubscriptionCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts index 1db2d9a0e313..d9f014fbd674 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSpotFleetInstancesRequest, DescribeSpotFleetInstancesResponse } from "../models/models_3"; +import { DescribeSpotFleetInstancesRequest, DescribeSpotFleetInstancesResponse } from "../models/models_4"; import { deserializeAws_ec2DescribeSpotFleetInstancesCommand, serializeAws_ec2DescribeSpotFleetInstancesCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts index 1b1c5752d423..5179b52d7e87 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSpotFleetRequestHistoryRequest, DescribeSpotFleetRequestHistoryResponse } from "../models/models_3"; +import { DescribeSpotFleetRequestHistoryRequest, DescribeSpotFleetRequestHistoryResponse } from "../models/models_4"; import { deserializeAws_ec2DescribeSpotFleetRequestHistoryCommand, serializeAws_ec2DescribeSpotFleetRequestHistoryCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts index 7b544f238b6d..abafaaf51966 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSpotFleetRequestsRequest, DescribeSpotFleetRequestsResponse } from "../models/models_3"; +import { DescribeSpotFleetRequestsRequest, DescribeSpotFleetRequestsResponse } from "../models/models_4"; import { deserializeAws_ec2DescribeSpotFleetRequestsCommand, serializeAws_ec2DescribeSpotFleetRequestsCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts b/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts index 89069f6053e4..212f29554fee 100644 --- a/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSpotInstanceRequestsRequest, DescribeSpotInstanceRequestsResult } from "../models/models_3"; +import { DescribeSpotInstanceRequestsRequest, DescribeSpotInstanceRequestsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSpotInstanceRequestsCommand, serializeAws_ec2DescribeSpotInstanceRequestsCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotPriceHistoryCommand.ts b/clients/client-ec2/src/commands/DescribeSpotPriceHistoryCommand.ts index db69132c3e97..817f0f2870af 100644 --- a/clients/client-ec2/src/commands/DescribeSpotPriceHistoryCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotPriceHistoryCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeSpotPriceHistoryRequest } from "../models/models_3"; -import { DescribeSpotPriceHistoryResult } from "../models/models_4"; +import { DescribeSpotPriceHistoryRequest, DescribeSpotPriceHistoryResult } from "../models/models_4"; import { deserializeAws_ec2DescribeSpotPriceHistoryCommand, serializeAws_ec2DescribeSpotPriceHistoryCommand, diff --git a/clients/client-ec2/src/commands/DisableIpamOrganizationAdminAccountCommand.ts b/clients/client-ec2/src/commands/DisableIpamOrganizationAdminAccountCommand.ts new file mode 100644 index 000000000000..5a1241099e9c --- /dev/null +++ b/clients/client-ec2/src/commands/DisableIpamOrganizationAdminAccountCommand.ts @@ -0,0 +1,107 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + DisableIpamOrganizationAdminAccountRequest, + DisableIpamOrganizationAdminAccountResult, +} from "../models/models_4"; +import { + deserializeAws_ec2DisableIpamOrganizationAdminAccountCommand, + serializeAws_ec2DisableIpamOrganizationAdminAccountCommand, +} from "../protocols/Aws_ec2"; + +export interface DisableIpamOrganizationAdminAccountCommandInput extends DisableIpamOrganizationAdminAccountRequest {} +export interface DisableIpamOrganizationAdminAccountCommandOutput + extends DisableIpamOrganizationAdminAccountResult, + __MetadataBearer {} + +/** + *

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DisableIpamOrganizationAdminAccountCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DisableIpamOrganizationAdminAccountCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DisableIpamOrganizationAdminAccountCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DisableIpamOrganizationAdminAccountCommandInput} for command's `input` shape. + * @see {@link DisableIpamOrganizationAdminAccountCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DisableIpamOrganizationAdminAccountCommand extends $Command< + DisableIpamOrganizationAdminAccountCommandInput, + DisableIpamOrganizationAdminAccountCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisableIpamOrganizationAdminAccountCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "DisableIpamOrganizationAdminAccountCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisableIpamOrganizationAdminAccountRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisableIpamOrganizationAdminAccountResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisableIpamOrganizationAdminAccountCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2DisableIpamOrganizationAdminAccountCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DisableIpamOrganizationAdminAccountCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/EnableIpamOrganizationAdminAccountCommand.ts b/clients/client-ec2/src/commands/EnableIpamOrganizationAdminAccountCommand.ts new file mode 100644 index 000000000000..ff1738011751 --- /dev/null +++ b/clients/client-ec2/src/commands/EnableIpamOrganizationAdminAccountCommand.ts @@ -0,0 +1,107 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + EnableIpamOrganizationAdminAccountRequest, + EnableIpamOrganizationAdminAccountResult, +} from "../models/models_4"; +import { + deserializeAws_ec2EnableIpamOrganizationAdminAccountCommand, + serializeAws_ec2EnableIpamOrganizationAdminAccountCommand, +} from "../protocols/Aws_ec2"; + +export interface EnableIpamOrganizationAdminAccountCommandInput extends EnableIpamOrganizationAdminAccountRequest {} +export interface EnableIpamOrganizationAdminAccountCommandOutput + extends EnableIpamOrganizationAdminAccountResult, + __MetadataBearer {} + +/** + *

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, EnableIpamOrganizationAdminAccountCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, EnableIpamOrganizationAdminAccountCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new EnableIpamOrganizationAdminAccountCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link EnableIpamOrganizationAdminAccountCommandInput} for command's `input` shape. + * @see {@link EnableIpamOrganizationAdminAccountCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class EnableIpamOrganizationAdminAccountCommand extends $Command< + EnableIpamOrganizationAdminAccountCommandInput, + EnableIpamOrganizationAdminAccountCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: EnableIpamOrganizationAdminAccountCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "EnableIpamOrganizationAdminAccountCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: EnableIpamOrganizationAdminAccountRequest.filterSensitiveLog, + outputFilterSensitiveLog: EnableIpamOrganizationAdminAccountResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: EnableIpamOrganizationAdminAccountCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2EnableIpamOrganizationAdminAccountCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2EnableIpamOrganizationAdminAccountCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts b/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts new file mode 100644 index 000000000000..812ccbe1bea7 --- /dev/null +++ b/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { GetIpamAddressHistoryRequest, GetIpamAddressHistoryResult } from "../models/models_4"; +import { + deserializeAws_ec2GetIpamAddressHistoryCommand, + serializeAws_ec2GetIpamAddressHistoryCommand, +} from "../protocols/Aws_ec2"; + +export interface GetIpamAddressHistoryCommandInput extends GetIpamAddressHistoryRequest {} +export interface GetIpamAddressHistoryCommandOutput extends GetIpamAddressHistoryResult, __MetadataBearer {} + +/** + *

Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetIpamAddressHistoryCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetIpamAddressHistoryCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetIpamAddressHistoryCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetIpamAddressHistoryCommandInput} for command's `input` shape. + * @see {@link GetIpamAddressHistoryCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class GetIpamAddressHistoryCommand extends $Command< + GetIpamAddressHistoryCommandInput, + GetIpamAddressHistoryCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetIpamAddressHistoryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "GetIpamAddressHistoryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetIpamAddressHistoryRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetIpamAddressHistoryResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetIpamAddressHistoryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2GetIpamAddressHistoryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2GetIpamAddressHistoryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts b/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts new file mode 100644 index 000000000000..58650621836c --- /dev/null +++ b/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { GetIpamPoolAllocationsRequest, GetIpamPoolAllocationsResult } from "../models/models_4"; +import { + deserializeAws_ec2GetIpamPoolAllocationsCommand, + serializeAws_ec2GetIpamPoolAllocationsCommand, +} from "../protocols/Aws_ec2"; + +export interface GetIpamPoolAllocationsCommandInput extends GetIpamPoolAllocationsRequest {} +export interface GetIpamPoolAllocationsCommandOutput extends GetIpamPoolAllocationsResult, __MetadataBearer {} + +/** + *

Get a list of all the CIDR allocations in an IPAM pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetIpamPoolAllocationsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetIpamPoolAllocationsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetIpamPoolAllocationsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetIpamPoolAllocationsCommandInput} for command's `input` shape. + * @see {@link GetIpamPoolAllocationsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class GetIpamPoolAllocationsCommand extends $Command< + GetIpamPoolAllocationsCommandInput, + GetIpamPoolAllocationsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetIpamPoolAllocationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "GetIpamPoolAllocationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetIpamPoolAllocationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetIpamPoolAllocationsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetIpamPoolAllocationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2GetIpamPoolAllocationsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2GetIpamPoolAllocationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts new file mode 100644 index 000000000000..ff553a94dc4e --- /dev/null +++ b/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { GetIpamPoolCidrsRequest, GetIpamPoolCidrsResult } from "../models/models_4"; +import { + deserializeAws_ec2GetIpamPoolCidrsCommand, + serializeAws_ec2GetIpamPoolCidrsCommand, +} from "../protocols/Aws_ec2"; + +export interface GetIpamPoolCidrsCommandInput extends GetIpamPoolCidrsRequest {} +export interface GetIpamPoolCidrsCommandOutput extends GetIpamPoolCidrsResult, __MetadataBearer {} + +/** + *

Get the CIDRs provisioned to an IPAM pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetIpamPoolCidrsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetIpamPoolCidrsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetIpamPoolCidrsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetIpamPoolCidrsCommandInput} for command's `input` shape. + * @see {@link GetIpamPoolCidrsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class GetIpamPoolCidrsCommand extends $Command< + GetIpamPoolCidrsCommandInput, + GetIpamPoolCidrsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetIpamPoolCidrsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "GetIpamPoolCidrsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetIpamPoolCidrsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetIpamPoolCidrsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetIpamPoolCidrsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2GetIpamPoolCidrsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2GetIpamPoolCidrsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts new file mode 100644 index 000000000000..97b194efd08c --- /dev/null +++ b/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { GetIpamResourceCidrsRequest, GetIpamResourceCidrsResult } from "../models/models_4"; +import { + deserializeAws_ec2GetIpamResourceCidrsCommand, + serializeAws_ec2GetIpamResourceCidrsCommand, +} from "../protocols/Aws_ec2"; + +export interface GetIpamResourceCidrsCommandInput extends GetIpamResourceCidrsRequest {} +export interface GetIpamResourceCidrsCommandOutput extends GetIpamResourceCidrsResult, __MetadataBearer {} + +/** + *

Get information about the resources in a scope.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetIpamResourceCidrsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetIpamResourceCidrsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetIpamResourceCidrsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetIpamResourceCidrsCommandInput} for command's `input` shape. + * @see {@link GetIpamResourceCidrsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class GetIpamResourceCidrsCommand extends $Command< + GetIpamResourceCidrsCommandInput, + GetIpamResourceCidrsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetIpamResourceCidrsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "GetIpamResourceCidrsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetIpamResourceCidrsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetIpamResourceCidrsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetIpamResourceCidrsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2GetIpamResourceCidrsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2GetIpamResourceCidrsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts index ccb6ca80f76b..fd1514926a76 100644 --- a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts +++ b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetLaunchTemplateDataRequest, GetLaunchTemplateDataResult } from "../models/models_4"; +import { GetLaunchTemplateDataRequest } from "../models/models_4"; +import { GetLaunchTemplateDataResult } from "../models/models_5"; import { deserializeAws_ec2GetLaunchTemplateDataCommand, serializeAws_ec2GetLaunchTemplateDataCommand, diff --git a/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts b/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts index df03ca1b221f..86242ad730bf 100644 --- a/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetManagedPrefixListAssociationsRequest, GetManagedPrefixListAssociationsResult } from "../models/models_4"; +import { GetManagedPrefixListAssociationsRequest, GetManagedPrefixListAssociationsResult } from "../models/models_5"; import { deserializeAws_ec2GetManagedPrefixListAssociationsCommand, serializeAws_ec2GetManagedPrefixListAssociationsCommand, diff --git a/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts b/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts index 2057ea803e6c..e27e34d4afe2 100644 --- a/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts +++ b/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetManagedPrefixListEntriesRequest, GetManagedPrefixListEntriesResult } from "../models/models_4"; +import { GetManagedPrefixListEntriesRequest, GetManagedPrefixListEntriesResult } from "../models/models_5"; import { deserializeAws_ec2GetManagedPrefixListEntriesCommand, serializeAws_ec2GetManagedPrefixListEntriesCommand, diff --git a/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts new file mode 100644 index 000000000000..29cadbcac25d --- /dev/null +++ b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts @@ -0,0 +1,110 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + GetNetworkInsightsAccessScopeAnalysisFindingsRequest, + GetNetworkInsightsAccessScopeAnalysisFindingsResult, +} from "../models/models_5"; +import { + deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommand, + serializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommand, +} from "../protocols/Aws_ec2"; + +export interface GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput + extends GetNetworkInsightsAccessScopeAnalysisFindingsRequest {} +export interface GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput + extends GetNetworkInsightsAccessScopeAnalysisFindingsResult, + __MetadataBearer {} + +/** + *

Gets the findings for the specified Network Access Scope analysis.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetNetworkInsightsAccessScopeAnalysisFindingsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetNetworkInsightsAccessScopeAnalysisFindingsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetNetworkInsightsAccessScopeAnalysisFindingsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput} for command's `input` shape. + * @see {@link GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class GetNetworkInsightsAccessScopeAnalysisFindingsCommand extends $Command< + GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "GetNetworkInsightsAccessScopeAnalysisFindingsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetNetworkInsightsAccessScopeAnalysisFindingsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetNetworkInsightsAccessScopeAnalysisFindingsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts new file mode 100644 index 000000000000..e02ae1f2ef6d --- /dev/null +++ b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts @@ -0,0 +1,106 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + GetNetworkInsightsAccessScopeContentRequest, + GetNetworkInsightsAccessScopeContentResult, +} from "../models/models_5"; +import { + deserializeAws_ec2GetNetworkInsightsAccessScopeContentCommand, + serializeAws_ec2GetNetworkInsightsAccessScopeContentCommand, +} from "../protocols/Aws_ec2"; + +export interface GetNetworkInsightsAccessScopeContentCommandInput extends GetNetworkInsightsAccessScopeContentRequest {} +export interface GetNetworkInsightsAccessScopeContentCommandOutput + extends GetNetworkInsightsAccessScopeContentResult, + __MetadataBearer {} + +/** + *

Gets the content for the specified Network Access Scope.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetNetworkInsightsAccessScopeContentCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetNetworkInsightsAccessScopeContentCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetNetworkInsightsAccessScopeContentCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetNetworkInsightsAccessScopeContentCommandInput} for command's `input` shape. + * @see {@link GetNetworkInsightsAccessScopeContentCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class GetNetworkInsightsAccessScopeContentCommand extends $Command< + GetNetworkInsightsAccessScopeContentCommandInput, + GetNetworkInsightsAccessScopeContentCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetNetworkInsightsAccessScopeContentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "GetNetworkInsightsAccessScopeContentCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetNetworkInsightsAccessScopeContentRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetNetworkInsightsAccessScopeContentResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetNetworkInsightsAccessScopeContentCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2GetNetworkInsightsAccessScopeContentCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2GetNetworkInsightsAccessScopeContentCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetPasswordDataCommand.ts b/clients/client-ec2/src/commands/GetPasswordDataCommand.ts index 6319075476d7..febbf01e82cf 100644 --- a/clients/client-ec2/src/commands/GetPasswordDataCommand.ts +++ b/clients/client-ec2/src/commands/GetPasswordDataCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetPasswordDataRequest, GetPasswordDataResult } from "../models/models_4"; +import { GetPasswordDataRequest, GetPasswordDataResult } from "../models/models_5"; import { deserializeAws_ec2GetPasswordDataCommand, serializeAws_ec2GetPasswordDataCommand } from "../protocols/Aws_ec2"; export interface GetPasswordDataCommandInput extends GetPasswordDataRequest {} diff --git a/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts b/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts index 12c243b57091..041ede0d3f53 100644 --- a/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts +++ b/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetReservedInstancesExchangeQuoteRequest, GetReservedInstancesExchangeQuoteResult } from "../models/models_4"; +import { GetReservedInstancesExchangeQuoteRequest, GetReservedInstancesExchangeQuoteResult } from "../models/models_5"; import { deserializeAws_ec2GetReservedInstancesExchangeQuoteCommand, serializeAws_ec2GetReservedInstancesExchangeQuoteCommand, diff --git a/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts b/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts index 9d4451065da5..5b617024e3db 100644 --- a/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts +++ b/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetSerialConsoleAccessStatusRequest, GetSerialConsoleAccessStatusResult } from "../models/models_4"; +import { GetSerialConsoleAccessStatusRequest, GetSerialConsoleAccessStatusResult } from "../models/models_5"; import { deserializeAws_ec2GetSerialConsoleAccessStatusCommand, serializeAws_ec2GetSerialConsoleAccessStatusCommand, diff --git a/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts b/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts index 1aa04952043c..8adcff9ca781 100644 --- a/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts +++ b/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetSpotPlacementScoresRequest, GetSpotPlacementScoresResult } from "../models/models_4"; +import { GetSpotPlacementScoresRequest, GetSpotPlacementScoresResult } from "../models/models_5"; import { deserializeAws_ec2GetSpotPlacementScoresCommand, serializeAws_ec2GetSpotPlacementScoresCommand, diff --git a/clients/client-ec2/src/commands/GetSubnetCidrReservationsCommand.ts b/clients/client-ec2/src/commands/GetSubnetCidrReservationsCommand.ts index 75b36e5e869c..91e8017bc0fb 100644 --- a/clients/client-ec2/src/commands/GetSubnetCidrReservationsCommand.ts +++ b/clients/client-ec2/src/commands/GetSubnetCidrReservationsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetSubnetCidrReservationsRequest, GetSubnetCidrReservationsResult } from "../models/models_4"; +import { GetSubnetCidrReservationsRequest, GetSubnetCidrReservationsResult } from "../models/models_5"; import { deserializeAws_ec2GetSubnetCidrReservationsCommand, serializeAws_ec2GetSubnetCidrReservationsCommand, diff --git a/clients/client-ec2/src/commands/GetTransitGatewayAttachmentPropagationsCommand.ts b/clients/client-ec2/src/commands/GetTransitGatewayAttachmentPropagationsCommand.ts index fcaf966477cb..70fc06c51a51 100644 --- a/clients/client-ec2/src/commands/GetTransitGatewayAttachmentPropagationsCommand.ts +++ b/clients/client-ec2/src/commands/GetTransitGatewayAttachmentPropagationsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayAttachmentPropagationsRequest, GetTransitGatewayAttachmentPropagationsResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommand, serializeAws_ec2GetTransitGatewayAttachmentPropagationsCommand, diff --git a/clients/client-ec2/src/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts b/clients/client-ec2/src/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts index 6b9cfc24cd3f..7744f43fc563 100644 --- a/clients/client-ec2/src/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayMulticastDomainAssociationsRequest, GetTransitGatewayMulticastDomainAssociationsResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand, serializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand, diff --git a/clients/client-ec2/src/commands/GetTransitGatewayPrefixListReferencesCommand.ts b/clients/client-ec2/src/commands/GetTransitGatewayPrefixListReferencesCommand.ts index d64cb33d5763..2e6bb0569653 100644 --- a/clients/client-ec2/src/commands/GetTransitGatewayPrefixListReferencesCommand.ts +++ b/clients/client-ec2/src/commands/GetTransitGatewayPrefixListReferencesCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayPrefixListReferencesRequest, GetTransitGatewayPrefixListReferencesResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommand, serializeAws_ec2GetTransitGatewayPrefixListReferencesCommand, diff --git a/clients/client-ec2/src/commands/GetTransitGatewayRouteTableAssociationsCommand.ts b/clients/client-ec2/src/commands/GetTransitGatewayRouteTableAssociationsCommand.ts index 8fa9168f0d45..9dd4553d47fd 100644 --- a/clients/client-ec2/src/commands/GetTransitGatewayRouteTableAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/GetTransitGatewayRouteTableAssociationsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayRouteTableAssociationsRequest, GetTransitGatewayRouteTableAssociationsResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand, serializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand, diff --git a/clients/client-ec2/src/commands/GetTransitGatewayRouteTablePropagationsCommand.ts b/clients/client-ec2/src/commands/GetTransitGatewayRouteTablePropagationsCommand.ts index a15e2d11781e..6028dbcefed8 100644 --- a/clients/client-ec2/src/commands/GetTransitGatewayRouteTablePropagationsCommand.ts +++ b/clients/client-ec2/src/commands/GetTransitGatewayRouteTablePropagationsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayRouteTablePropagationsRequest, GetTransitGatewayRouteTablePropagationsResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommand, serializeAws_ec2GetTransitGatewayRouteTablePropagationsCommand, diff --git a/clients/client-ec2/src/commands/GetVpnConnectionDeviceSampleConfigurationCommand.ts b/clients/client-ec2/src/commands/GetVpnConnectionDeviceSampleConfigurationCommand.ts index 1aa1fe10706d..2237b88b91e3 100644 --- a/clients/client-ec2/src/commands/GetVpnConnectionDeviceSampleConfigurationCommand.ts +++ b/clients/client-ec2/src/commands/GetVpnConnectionDeviceSampleConfigurationCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetVpnConnectionDeviceSampleConfigurationRequest, GetVpnConnectionDeviceSampleConfigurationResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommand, serializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommand, diff --git a/clients/client-ec2/src/commands/GetVpnConnectionDeviceTypesCommand.ts b/clients/client-ec2/src/commands/GetVpnConnectionDeviceTypesCommand.ts index c7d9378444c1..dcfa32dd292e 100644 --- a/clients/client-ec2/src/commands/GetVpnConnectionDeviceTypesCommand.ts +++ b/clients/client-ec2/src/commands/GetVpnConnectionDeviceTypesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetVpnConnectionDeviceTypesRequest, GetVpnConnectionDeviceTypesResult } from "../models/models_4"; +import { GetVpnConnectionDeviceTypesRequest, GetVpnConnectionDeviceTypesResult } from "../models/models_5"; import { deserializeAws_ec2GetVpnConnectionDeviceTypesCommand, serializeAws_ec2GetVpnConnectionDeviceTypesCommand, diff --git a/clients/client-ec2/src/commands/ImportClientVpnClientCertificateRevocationListCommand.ts b/clients/client-ec2/src/commands/ImportClientVpnClientCertificateRevocationListCommand.ts index 0aa9b131549c..08c189086730 100644 --- a/clients/client-ec2/src/commands/ImportClientVpnClientCertificateRevocationListCommand.ts +++ b/clients/client-ec2/src/commands/ImportClientVpnClientCertificateRevocationListCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { ImportClientVpnClientCertificateRevocationListRequest, ImportClientVpnClientCertificateRevocationListResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommand, serializeAws_ec2ImportClientVpnClientCertificateRevocationListCommand, diff --git a/clients/client-ec2/src/commands/ImportImageCommand.ts b/clients/client-ec2/src/commands/ImportImageCommand.ts index 6614b5386460..7b85a042948e 100644 --- a/clients/client-ec2/src/commands/ImportImageCommand.ts +++ b/clients/client-ec2/src/commands/ImportImageCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ImportImageRequest, ImportImageResult } from "../models/models_4"; +import { ImportImageRequest, ImportImageResult } from "../models/models_5"; import { deserializeAws_ec2ImportImageCommand, serializeAws_ec2ImportImageCommand } from "../protocols/Aws_ec2"; export interface ImportImageCommandInput extends ImportImageRequest {} diff --git a/clients/client-ec2/src/commands/ImportInstanceCommand.ts b/clients/client-ec2/src/commands/ImportInstanceCommand.ts index ec5517d87fc9..a33fb7da84af 100644 --- a/clients/client-ec2/src/commands/ImportInstanceCommand.ts +++ b/clients/client-ec2/src/commands/ImportInstanceCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ImportInstanceRequest, ImportInstanceResult } from "../models/models_4"; +import { ImportInstanceRequest, ImportInstanceResult } from "../models/models_5"; import { deserializeAws_ec2ImportInstanceCommand, serializeAws_ec2ImportInstanceCommand } from "../protocols/Aws_ec2"; export interface ImportInstanceCommandInput extends ImportInstanceRequest {} diff --git a/clients/client-ec2/src/commands/ImportKeyPairCommand.ts b/clients/client-ec2/src/commands/ImportKeyPairCommand.ts index 2f7ad07e38ff..44ee2ac6cc19 100644 --- a/clients/client-ec2/src/commands/ImportKeyPairCommand.ts +++ b/clients/client-ec2/src/commands/ImportKeyPairCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ImportKeyPairRequest, ImportKeyPairResult } from "../models/models_4"; +import { ImportKeyPairRequest, ImportKeyPairResult } from "../models/models_5"; import { deserializeAws_ec2ImportKeyPairCommand, serializeAws_ec2ImportKeyPairCommand } from "../protocols/Aws_ec2"; export interface ImportKeyPairCommandInput extends ImportKeyPairRequest {} diff --git a/clients/client-ec2/src/commands/ImportSnapshotCommand.ts b/clients/client-ec2/src/commands/ImportSnapshotCommand.ts index 593aea926471..f9fa8fa0cc9e 100644 --- a/clients/client-ec2/src/commands/ImportSnapshotCommand.ts +++ b/clients/client-ec2/src/commands/ImportSnapshotCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ImportSnapshotRequest, ImportSnapshotResult } from "../models/models_4"; +import { ImportSnapshotRequest, ImportSnapshotResult } from "../models/models_5"; import { deserializeAws_ec2ImportSnapshotCommand, serializeAws_ec2ImportSnapshotCommand } from "../protocols/Aws_ec2"; export interface ImportSnapshotCommandInput extends ImportSnapshotRequest {} diff --git a/clients/client-ec2/src/commands/ImportVolumeCommand.ts b/clients/client-ec2/src/commands/ImportVolumeCommand.ts index e2f6a2e14f8a..1a55e9bf5e5c 100644 --- a/clients/client-ec2/src/commands/ImportVolumeCommand.ts +++ b/clients/client-ec2/src/commands/ImportVolumeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ImportVolumeRequest, ImportVolumeResult } from "../models/models_4"; +import { ImportVolumeRequest, ImportVolumeResult } from "../models/models_5"; import { deserializeAws_ec2ImportVolumeCommand, serializeAws_ec2ImportVolumeCommand } from "../protocols/Aws_ec2"; export interface ImportVolumeCommandInput extends ImportVolumeRequest {} diff --git a/clients/client-ec2/src/commands/ListSnapshotsInRecycleBinCommand.ts b/clients/client-ec2/src/commands/ListSnapshotsInRecycleBinCommand.ts index 3df608946acf..868d3747e0e8 100644 --- a/clients/client-ec2/src/commands/ListSnapshotsInRecycleBinCommand.ts +++ b/clients/client-ec2/src/commands/ListSnapshotsInRecycleBinCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ListSnapshotsInRecycleBinRequest, ListSnapshotsInRecycleBinResult } from "../models/models_4"; +import { ListSnapshotsInRecycleBinRequest, ListSnapshotsInRecycleBinResult } from "../models/models_5"; import { deserializeAws_ec2ListSnapshotsInRecycleBinCommand, serializeAws_ec2ListSnapshotsInRecycleBinCommand, diff --git a/clients/client-ec2/src/commands/ModifyAddressAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyAddressAttributeCommand.ts index 0940555f9f01..98d0fb8bf849 100644 --- a/clients/client-ec2/src/commands/ModifyAddressAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyAddressAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyAddressAttributeRequest, ModifyAddressAttributeResult } from "../models/models_4"; +import { ModifyAddressAttributeRequest, ModifyAddressAttributeResult } from "../models/models_5"; import { deserializeAws_ec2ModifyAddressAttributeCommand, serializeAws_ec2ModifyAddressAttributeCommand, diff --git a/clients/client-ec2/src/commands/ModifyAvailabilityZoneGroupCommand.ts b/clients/client-ec2/src/commands/ModifyAvailabilityZoneGroupCommand.ts index 203d2383033b..ebfd3454ca17 100644 --- a/clients/client-ec2/src/commands/ModifyAvailabilityZoneGroupCommand.ts +++ b/clients/client-ec2/src/commands/ModifyAvailabilityZoneGroupCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyAvailabilityZoneGroupRequest, ModifyAvailabilityZoneGroupResult } from "../models/models_4"; +import { ModifyAvailabilityZoneGroupRequest, ModifyAvailabilityZoneGroupResult } from "../models/models_5"; import { deserializeAws_ec2ModifyAvailabilityZoneGroupCommand, serializeAws_ec2ModifyAvailabilityZoneGroupCommand, diff --git a/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts b/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts index b2fbdb7b381f..df5c3ea8e760 100644 --- a/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyCapacityReservationRequest, ModifyCapacityReservationResult } from "../models/models_4"; +import { ModifyCapacityReservationRequest, ModifyCapacityReservationResult } from "../models/models_5"; import { deserializeAws_ec2ModifyCapacityReservationCommand, serializeAws_ec2ModifyCapacityReservationCommand, diff --git a/clients/client-ec2/src/commands/ModifyCapacityReservationFleetCommand.ts b/clients/client-ec2/src/commands/ModifyCapacityReservationFleetCommand.ts index 72e92d8c7ecc..11ad20979acf 100644 --- a/clients/client-ec2/src/commands/ModifyCapacityReservationFleetCommand.ts +++ b/clients/client-ec2/src/commands/ModifyCapacityReservationFleetCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyCapacityReservationFleetRequest, ModifyCapacityReservationFleetResult } from "../models/models_4"; +import { ModifyCapacityReservationFleetRequest, ModifyCapacityReservationFleetResult } from "../models/models_5"; import { deserializeAws_ec2ModifyCapacityReservationFleetCommand, serializeAws_ec2ModifyCapacityReservationFleetCommand, diff --git a/clients/client-ec2/src/commands/ModifyClientVpnEndpointCommand.ts b/clients/client-ec2/src/commands/ModifyClientVpnEndpointCommand.ts index 07089365314d..bea9dfe0f008 100644 --- a/clients/client-ec2/src/commands/ModifyClientVpnEndpointCommand.ts +++ b/clients/client-ec2/src/commands/ModifyClientVpnEndpointCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyClientVpnEndpointRequest, ModifyClientVpnEndpointResult } from "../models/models_4"; +import { ModifyClientVpnEndpointRequest, ModifyClientVpnEndpointResult } from "../models/models_5"; import { deserializeAws_ec2ModifyClientVpnEndpointCommand, serializeAws_ec2ModifyClientVpnEndpointCommand, diff --git a/clients/client-ec2/src/commands/ModifyDefaultCreditSpecificationCommand.ts b/clients/client-ec2/src/commands/ModifyDefaultCreditSpecificationCommand.ts index 9bf5bc15b81f..930b3ef4a0fd 100644 --- a/clients/client-ec2/src/commands/ModifyDefaultCreditSpecificationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyDefaultCreditSpecificationCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyDefaultCreditSpecificationRequest, ModifyDefaultCreditSpecificationResult } from "../models/models_4"; +import { ModifyDefaultCreditSpecificationRequest, ModifyDefaultCreditSpecificationResult } from "../models/models_5"; import { deserializeAws_ec2ModifyDefaultCreditSpecificationCommand, serializeAws_ec2ModifyDefaultCreditSpecificationCommand, diff --git a/clients/client-ec2/src/commands/ModifyEbsDefaultKmsKeyIdCommand.ts b/clients/client-ec2/src/commands/ModifyEbsDefaultKmsKeyIdCommand.ts index 18089a58f735..880f2a3d8b8e 100644 --- a/clients/client-ec2/src/commands/ModifyEbsDefaultKmsKeyIdCommand.ts +++ b/clients/client-ec2/src/commands/ModifyEbsDefaultKmsKeyIdCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyEbsDefaultKmsKeyIdRequest, ModifyEbsDefaultKmsKeyIdResult } from "../models/models_4"; +import { ModifyEbsDefaultKmsKeyIdRequest, ModifyEbsDefaultKmsKeyIdResult } from "../models/models_5"; import { deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommand, serializeAws_ec2ModifyEbsDefaultKmsKeyIdCommand, diff --git a/clients/client-ec2/src/commands/ModifyFleetCommand.ts b/clients/client-ec2/src/commands/ModifyFleetCommand.ts index c796c9e9fe84..465cf6344359 100644 --- a/clients/client-ec2/src/commands/ModifyFleetCommand.ts +++ b/clients/client-ec2/src/commands/ModifyFleetCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyFleetRequest, ModifyFleetResult } from "../models/models_4"; +import { ModifyFleetRequest, ModifyFleetResult } from "../models/models_5"; import { deserializeAws_ec2ModifyFleetCommand, serializeAws_ec2ModifyFleetCommand } from "../protocols/Aws_ec2"; export interface ModifyFleetCommandInput extends ModifyFleetRequest {} diff --git a/clients/client-ec2/src/commands/ModifyFpgaImageAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyFpgaImageAttributeCommand.ts index d2c6cd2d64da..be1d5e10d5c2 100644 --- a/clients/client-ec2/src/commands/ModifyFpgaImageAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyFpgaImageAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyFpgaImageAttributeRequest, ModifyFpgaImageAttributeResult } from "../models/models_4"; +import { ModifyFpgaImageAttributeRequest, ModifyFpgaImageAttributeResult } from "../models/models_5"; import { deserializeAws_ec2ModifyFpgaImageAttributeCommand, serializeAws_ec2ModifyFpgaImageAttributeCommand, diff --git a/clients/client-ec2/src/commands/ModifyHostsCommand.ts b/clients/client-ec2/src/commands/ModifyHostsCommand.ts index f148d8480222..af5632634fc6 100644 --- a/clients/client-ec2/src/commands/ModifyHostsCommand.ts +++ b/clients/client-ec2/src/commands/ModifyHostsCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyHostsRequest } from "../models/models_4"; -import { ModifyHostsResult } from "../models/models_5"; +import { ModifyHostsRequest, ModifyHostsResult } from "../models/models_5"; import { deserializeAws_ec2ModifyHostsCommand, serializeAws_ec2ModifyHostsCommand } from "../protocols/Aws_ec2"; export interface ModifyHostsCommandInput extends ModifyHostsRequest {} diff --git a/clients/client-ec2/src/commands/ModifyIpamCommand.ts b/clients/client-ec2/src/commands/ModifyIpamCommand.ts new file mode 100644 index 000000000000..a1189a103ff6 --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyIpamCommand.ts @@ -0,0 +1,93 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ModifyIpamRequest, ModifyIpamResult } from "../models/models_5"; +import { deserializeAws_ec2ModifyIpamCommand, serializeAws_ec2ModifyIpamCommand } from "../protocols/Aws_ec2"; + +export interface ModifyIpamCommandInput extends ModifyIpamRequest {} +export interface ModifyIpamCommandOutput extends ModifyIpamResult, __MetadataBearer {} + +/** + *

Modify the configurations of an IPAM. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyIpamCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyIpamCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ModifyIpamCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ModifyIpamCommandInput} for command's `input` shape. + * @see {@link ModifyIpamCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ModifyIpamCommand extends $Command< + ModifyIpamCommandInput, + ModifyIpamCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyIpamCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ModifyIpamCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyIpamRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyIpamResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyIpamCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ModifyIpamCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2ModifyIpamCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts b/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts new file mode 100644 index 000000000000..4c3b3044ddc9 --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts @@ -0,0 +1,94 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ModifyIpamPoolRequest, ModifyIpamPoolResult } from "../models/models_5"; +import { deserializeAws_ec2ModifyIpamPoolCommand, serializeAws_ec2ModifyIpamPoolCommand } from "../protocols/Aws_ec2"; + +export interface ModifyIpamPoolCommandInput extends ModifyIpamPoolRequest {} +export interface ModifyIpamPoolCommandOutput extends ModifyIpamPoolResult, __MetadataBearer {} + +/** + *

Modify the configurations of an IPAM pool.

+ *

For more information, see Modify a pool in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyIpamPoolCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyIpamPoolCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ModifyIpamPoolCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ModifyIpamPoolCommandInput} for command's `input` shape. + * @see {@link ModifyIpamPoolCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ModifyIpamPoolCommand extends $Command< + ModifyIpamPoolCommandInput, + ModifyIpamPoolCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyIpamPoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ModifyIpamPoolCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyIpamPoolRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyIpamPoolResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyIpamPoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ModifyIpamPoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2ModifyIpamPoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts b/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts new file mode 100644 index 000000000000..d194add2ff7c --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ModifyIpamResourceCidrRequest, ModifyIpamResourceCidrResult } from "../models/models_5"; +import { + deserializeAws_ec2ModifyIpamResourceCidrCommand, + serializeAws_ec2ModifyIpamResourceCidrCommand, +} from "../protocols/Aws_ec2"; + +export interface ModifyIpamResourceCidrCommandInput extends ModifyIpamResourceCidrRequest {} +export interface ModifyIpamResourceCidrCommandOutput extends ModifyIpamResourceCidrResult, __MetadataBearer {} + +/** + *

Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.

+ *

For more information, see Move resource CIDRs between scopes and Change the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyIpamResourceCidrCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyIpamResourceCidrCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ModifyIpamResourceCidrCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ModifyIpamResourceCidrCommandInput} for command's `input` shape. + * @see {@link ModifyIpamResourceCidrCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ModifyIpamResourceCidrCommand extends $Command< + ModifyIpamResourceCidrCommandInput, + ModifyIpamResourceCidrCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyIpamResourceCidrCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ModifyIpamResourceCidrCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyIpamResourceCidrRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyIpamResourceCidrResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyIpamResourceCidrCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ModifyIpamResourceCidrCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2ModifyIpamResourceCidrCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ModifyIpamScopeCommand.ts b/clients/client-ec2/src/commands/ModifyIpamScopeCommand.ts new file mode 100644 index 000000000000..3df447119b02 --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyIpamScopeCommand.ts @@ -0,0 +1,92 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ModifyIpamScopeRequest, ModifyIpamScopeResult } from "../models/models_5"; +import { deserializeAws_ec2ModifyIpamScopeCommand, serializeAws_ec2ModifyIpamScopeCommand } from "../protocols/Aws_ec2"; + +export interface ModifyIpamScopeCommandInput extends ModifyIpamScopeRequest {} +export interface ModifyIpamScopeCommandOutput extends ModifyIpamScopeResult, __MetadataBearer {} + +/** + *

Modify an IPAM scope.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyIpamScopeCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyIpamScopeCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ModifyIpamScopeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ModifyIpamScopeCommandInput} for command's `input` shape. + * @see {@link ModifyIpamScopeCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ModifyIpamScopeCommand extends $Command< + ModifyIpamScopeCommandInput, + ModifyIpamScopeCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyIpamScopeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ModifyIpamScopeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyIpamScopeRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyIpamScopeResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyIpamScopeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ModifyIpamScopeCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2ModifyIpamScopeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts b/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts new file mode 100644 index 000000000000..46393f0e8ce5 --- /dev/null +++ b/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { MoveByoipCidrToIpamRequest, MoveByoipCidrToIpamResult } from "../models/models_5"; +import { + deserializeAws_ec2MoveByoipCidrToIpamCommand, + serializeAws_ec2MoveByoipCidrToIpamCommand, +} from "../protocols/Aws_ec2"; + +export interface MoveByoipCidrToIpamCommandInput extends MoveByoipCidrToIpamRequest {} +export interface MoveByoipCidrToIpamCommandOutput extends MoveByoipCidrToIpamResult, __MetadataBearer {} + +/** + *

Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, MoveByoipCidrToIpamCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, MoveByoipCidrToIpamCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new MoveByoipCidrToIpamCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link MoveByoipCidrToIpamCommandInput} for command's `input` shape. + * @see {@link MoveByoipCidrToIpamCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class MoveByoipCidrToIpamCommand extends $Command< + MoveByoipCidrToIpamCommandInput, + MoveByoipCidrToIpamCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: MoveByoipCidrToIpamCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "MoveByoipCidrToIpamCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: MoveByoipCidrToIpamRequest.filterSensitiveLog, + outputFilterSensitiveLog: MoveByoipCidrToIpamResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: MoveByoipCidrToIpamCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2MoveByoipCidrToIpamCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2MoveByoipCidrToIpamCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ProvisionIpamPoolCidrCommand.ts b/clients/client-ec2/src/commands/ProvisionIpamPoolCidrCommand.ts new file mode 100644 index 000000000000..9cb198a90783 --- /dev/null +++ b/clients/client-ec2/src/commands/ProvisionIpamPoolCidrCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ProvisionIpamPoolCidrRequest, ProvisionIpamPoolCidrResult } from "../models/models_5"; +import { + deserializeAws_ec2ProvisionIpamPoolCidrCommand, + serializeAws_ec2ProvisionIpamPoolCidrCommand, +} from "../protocols/Aws_ec2"; + +export interface ProvisionIpamPoolCidrCommandInput extends ProvisionIpamPoolCidrRequest {} +export interface ProvisionIpamPoolCidrCommandOutput extends ProvisionIpamPoolCidrResult, __MetadataBearer {} + +/** + *

Provision a CIDR to an IPAM pool. You can use thsi action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

+ *

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ProvisionIpamPoolCidrCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ProvisionIpamPoolCidrCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ProvisionIpamPoolCidrCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ProvisionIpamPoolCidrCommandInput} for command's `input` shape. + * @see {@link ProvisionIpamPoolCidrCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ProvisionIpamPoolCidrCommand extends $Command< + ProvisionIpamPoolCidrCommandInput, + ProvisionIpamPoolCidrCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ProvisionIpamPoolCidrCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ProvisionIpamPoolCidrCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ProvisionIpamPoolCidrRequest.filterSensitiveLog, + outputFilterSensitiveLog: ProvisionIpamPoolCidrResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ProvisionIpamPoolCidrCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ProvisionIpamPoolCidrCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2ProvisionIpamPoolCidrCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ProvisionPublicIpv4PoolCidrCommand.ts b/clients/client-ec2/src/commands/ProvisionPublicIpv4PoolCidrCommand.ts new file mode 100644 index 000000000000..1e61e145050a --- /dev/null +++ b/clients/client-ec2/src/commands/ProvisionPublicIpv4PoolCidrCommand.ts @@ -0,0 +1,100 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ProvisionPublicIpv4PoolCidrRequest, ProvisionPublicIpv4PoolCidrResult } from "../models/models_5"; +import { + deserializeAws_ec2ProvisionPublicIpv4PoolCidrCommand, + serializeAws_ec2ProvisionPublicIpv4PoolCidrCommand, +} from "../protocols/Aws_ec2"; + +export interface ProvisionPublicIpv4PoolCidrCommandInput extends ProvisionPublicIpv4PoolCidrRequest {} +export interface ProvisionPublicIpv4PoolCidrCommandOutput extends ProvisionPublicIpv4PoolCidrResult, __MetadataBearer {} + +/** + *

Provision a CIDR to a public IPv4 pool.

+ *

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ProvisionPublicIpv4PoolCidrCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ProvisionPublicIpv4PoolCidrCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ProvisionPublicIpv4PoolCidrCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ProvisionPublicIpv4PoolCidrCommandInput} for command's `input` shape. + * @see {@link ProvisionPublicIpv4PoolCidrCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ProvisionPublicIpv4PoolCidrCommand extends $Command< + ProvisionPublicIpv4PoolCidrCommandInput, + ProvisionPublicIpv4PoolCidrCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ProvisionPublicIpv4PoolCidrCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ProvisionPublicIpv4PoolCidrCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ProvisionPublicIpv4PoolCidrRequest.filterSensitiveLog, + outputFilterSensitiveLog: ProvisionPublicIpv4PoolCidrResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ProvisionPublicIpv4PoolCidrCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ProvisionPublicIpv4PoolCidrCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2ProvisionPublicIpv4PoolCidrCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts b/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts new file mode 100644 index 000000000000..a686f2385f14 --- /dev/null +++ b/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts @@ -0,0 +1,99 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ReleaseIpamPoolAllocationRequest, ReleaseIpamPoolAllocationResult } from "../models/models_5"; +import { + deserializeAws_ec2ReleaseIpamPoolAllocationCommand, + serializeAws_ec2ReleaseIpamPoolAllocationCommand, +} from "../protocols/Aws_ec2"; + +export interface ReleaseIpamPoolAllocationCommandInput extends ReleaseIpamPoolAllocationRequest {} +export interface ReleaseIpamPoolAllocationCommandOutput extends ReleaseIpamPoolAllocationResult, __MetadataBearer {} + +/** + *

Release an allocation within an IPAM pool. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ReleaseIpamPoolAllocationCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ReleaseIpamPoolAllocationCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new ReleaseIpamPoolAllocationCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ReleaseIpamPoolAllocationCommandInput} for command's `input` shape. + * @see {@link ReleaseIpamPoolAllocationCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class ReleaseIpamPoolAllocationCommand extends $Command< + ReleaseIpamPoolAllocationCommandInput, + ReleaseIpamPoolAllocationCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ReleaseIpamPoolAllocationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + 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 clientName = "EC2Client"; + const commandName = "ReleaseIpamPoolAllocationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ReleaseIpamPoolAllocationRequest.filterSensitiveLog, + outputFilterSensitiveLog: ReleaseIpamPoolAllocationResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ReleaseIpamPoolAllocationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ReleaseIpamPoolAllocationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2ReleaseIpamPoolAllocationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/RunInstancesCommand.ts b/clients/client-ec2/src/commands/RunInstancesCommand.ts index 5156f015bf3d..39e83c374417 100644 --- a/clients/client-ec2/src/commands/RunInstancesCommand.ts +++ b/clients/client-ec2/src/commands/RunInstancesCommand.ts @@ -13,7 +13,7 @@ import { import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { Reservation } from "../models/models_3"; -import { RunInstancesRequest } from "../models/models_5"; +import { RunInstancesRequest } from "../models/models_6"; import { deserializeAws_ec2RunInstancesCommand, serializeAws_ec2RunInstancesCommand } from "../protocols/Aws_ec2"; export interface RunInstancesCommandInput extends RunInstancesRequest {} diff --git a/clients/client-ec2/src/commands/RunScheduledInstancesCommand.ts b/clients/client-ec2/src/commands/RunScheduledInstancesCommand.ts index 372fc9d4d543..9ba5c5fbae5c 100644 --- a/clients/client-ec2/src/commands/RunScheduledInstancesCommand.ts +++ b/clients/client-ec2/src/commands/RunScheduledInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RunScheduledInstancesRequest, RunScheduledInstancesResult } from "../models/models_5"; +import { RunScheduledInstancesRequest, RunScheduledInstancesResult } from "../models/models_6"; import { deserializeAws_ec2RunScheduledInstancesCommand, serializeAws_ec2RunScheduledInstancesCommand, diff --git a/clients/client-ec2/src/commands/SearchLocalGatewayRoutesCommand.ts b/clients/client-ec2/src/commands/SearchLocalGatewayRoutesCommand.ts index a7f8f97cafcb..5de74ca5c64f 100644 --- a/clients/client-ec2/src/commands/SearchLocalGatewayRoutesCommand.ts +++ b/clients/client-ec2/src/commands/SearchLocalGatewayRoutesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { SearchLocalGatewayRoutesRequest, SearchLocalGatewayRoutesResult } from "../models/models_5"; +import { SearchLocalGatewayRoutesRequest, SearchLocalGatewayRoutesResult } from "../models/models_6"; import { deserializeAws_ec2SearchLocalGatewayRoutesCommand, serializeAws_ec2SearchLocalGatewayRoutesCommand, diff --git a/clients/client-ec2/src/commands/SearchTransitGatewayMulticastGroupsCommand.ts b/clients/client-ec2/src/commands/SearchTransitGatewayMulticastGroupsCommand.ts index 6afcf961076c..4bb16ba69b48 100644 --- a/clients/client-ec2/src/commands/SearchTransitGatewayMulticastGroupsCommand.ts +++ b/clients/client-ec2/src/commands/SearchTransitGatewayMulticastGroupsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { SearchTransitGatewayMulticastGroupsRequest, SearchTransitGatewayMulticastGroupsResult, -} from "../models/models_5"; +} from "../models/models_6"; import { deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommand, serializeAws_ec2SearchTransitGatewayMulticastGroupsCommand, diff --git a/clients/client-ec2/src/commands/SearchTransitGatewayRoutesCommand.ts b/clients/client-ec2/src/commands/SearchTransitGatewayRoutesCommand.ts index 6f9bfee2eb1a..b4ae9fd0e782 100644 --- a/clients/client-ec2/src/commands/SearchTransitGatewayRoutesCommand.ts +++ b/clients/client-ec2/src/commands/SearchTransitGatewayRoutesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { SearchTransitGatewayRoutesRequest, SearchTransitGatewayRoutesResult } from "../models/models_5"; +import { SearchTransitGatewayRoutesRequest, SearchTransitGatewayRoutesResult } from "../models/models_6"; import { deserializeAws_ec2SearchTransitGatewayRoutesCommand, serializeAws_ec2SearchTransitGatewayRoutesCommand, diff --git a/clients/client-ec2/src/commands/SendDiagnosticInterruptCommand.ts b/clients/client-ec2/src/commands/SendDiagnosticInterruptCommand.ts index daec80ea5e77..3f62b379a1bc 100644 --- a/clients/client-ec2/src/commands/SendDiagnosticInterruptCommand.ts +++ b/clients/client-ec2/src/commands/SendDiagnosticInterruptCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { SendDiagnosticInterruptRequest } from "../models/models_5"; +import { SendDiagnosticInterruptRequest } from "../models/models_6"; import { deserializeAws_ec2SendDiagnosticInterruptCommand, serializeAws_ec2SendDiagnosticInterruptCommand, diff --git a/clients/client-ec2/src/commands/StartInstancesCommand.ts b/clients/client-ec2/src/commands/StartInstancesCommand.ts index c30cfa33fd0c..6bd0faead433 100644 --- a/clients/client-ec2/src/commands/StartInstancesCommand.ts +++ b/clients/client-ec2/src/commands/StartInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { StartInstancesRequest, StartInstancesResult } from "../models/models_5"; +import { StartInstancesRequest, StartInstancesResult } from "../models/models_6"; import { deserializeAws_ec2StartInstancesCommand, serializeAws_ec2StartInstancesCommand } from "../protocols/Aws_ec2"; export interface StartInstancesCommandInput extends StartInstancesRequest {} diff --git a/clients/client-ec2/src/commands/StartNetworkInsightsAccessScopeAnalysisCommand.ts b/clients/client-ec2/src/commands/StartNetworkInsightsAccessScopeAnalysisCommand.ts new file mode 100644 index 000000000000..9ecaf17b0a7e --- /dev/null +++ b/clients/client-ec2/src/commands/StartNetworkInsightsAccessScopeAnalysisCommand.ts @@ -0,0 +1,110 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + StartNetworkInsightsAccessScopeAnalysisRequest, + StartNetworkInsightsAccessScopeAnalysisResult, +} from "../models/models_6"; +import { + deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommand, + serializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommand, +} from "../protocols/Aws_ec2"; + +export interface StartNetworkInsightsAccessScopeAnalysisCommandInput + extends StartNetworkInsightsAccessScopeAnalysisRequest {} +export interface StartNetworkInsightsAccessScopeAnalysisCommandOutput + extends StartNetworkInsightsAccessScopeAnalysisResult, + __MetadataBearer {} + +/** + *

Starts analyzing the specified Network Access Scope.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, StartNetworkInsightsAccessScopeAnalysisCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, StartNetworkInsightsAccessScopeAnalysisCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new StartNetworkInsightsAccessScopeAnalysisCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartNetworkInsightsAccessScopeAnalysisCommandInput} for command's `input` shape. + * @see {@link StartNetworkInsightsAccessScopeAnalysisCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class StartNetworkInsightsAccessScopeAnalysisCommand extends $Command< + StartNetworkInsightsAccessScopeAnalysisCommandInput, + StartNetworkInsightsAccessScopeAnalysisCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartNetworkInsightsAccessScopeAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + StartNetworkInsightsAccessScopeAnalysisCommandInput, + StartNetworkInsightsAccessScopeAnalysisCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "StartNetworkInsightsAccessScopeAnalysisCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartNetworkInsightsAccessScopeAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartNetworkInsightsAccessScopeAnalysisResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: StartNetworkInsightsAccessScopeAnalysisCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/StartNetworkInsightsAnalysisCommand.ts b/clients/client-ec2/src/commands/StartNetworkInsightsAnalysisCommand.ts index 783d0d1d8609..8994ec131dbc 100644 --- a/clients/client-ec2/src/commands/StartNetworkInsightsAnalysisCommand.ts +++ b/clients/client-ec2/src/commands/StartNetworkInsightsAnalysisCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { StartNetworkInsightsAnalysisRequest, StartNetworkInsightsAnalysisResult } from "../models/models_5"; +import { StartNetworkInsightsAnalysisRequest, StartNetworkInsightsAnalysisResult } from "../models/models_6"; import { deserializeAws_ec2StartNetworkInsightsAnalysisCommand, serializeAws_ec2StartNetworkInsightsAnalysisCommand, diff --git a/clients/client-ec2/src/commands/StartVpcEndpointServicePrivateDnsVerificationCommand.ts b/clients/client-ec2/src/commands/StartVpcEndpointServicePrivateDnsVerificationCommand.ts index 5ee5fff8b4e5..aaf6deea874d 100644 --- a/clients/client-ec2/src/commands/StartVpcEndpointServicePrivateDnsVerificationCommand.ts +++ b/clients/client-ec2/src/commands/StartVpcEndpointServicePrivateDnsVerificationCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { StartVpcEndpointServicePrivateDnsVerificationRequest, StartVpcEndpointServicePrivateDnsVerificationResult, -} from "../models/models_5"; +} from "../models/models_6"; import { deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommand, serializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommand, diff --git a/clients/client-ec2/src/commands/StopInstancesCommand.ts b/clients/client-ec2/src/commands/StopInstancesCommand.ts index 2afcd795732c..130a69ce9b74 100644 --- a/clients/client-ec2/src/commands/StopInstancesCommand.ts +++ b/clients/client-ec2/src/commands/StopInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { StopInstancesRequest, StopInstancesResult } from "../models/models_5"; +import { StopInstancesRequest, StopInstancesResult } from "../models/models_6"; import { deserializeAws_ec2StopInstancesCommand, serializeAws_ec2StopInstancesCommand } from "../protocols/Aws_ec2"; export interface StopInstancesCommandInput extends StopInstancesRequest {} diff --git a/clients/client-ec2/src/commands/TerminateClientVpnConnectionsCommand.ts b/clients/client-ec2/src/commands/TerminateClientVpnConnectionsCommand.ts index ec1c2f55e32c..3510b74b30f3 100644 --- a/clients/client-ec2/src/commands/TerminateClientVpnConnectionsCommand.ts +++ b/clients/client-ec2/src/commands/TerminateClientVpnConnectionsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { TerminateClientVpnConnectionsRequest, TerminateClientVpnConnectionsResult } from "../models/models_5"; +import { TerminateClientVpnConnectionsRequest, TerminateClientVpnConnectionsResult } from "../models/models_6"; import { deserializeAws_ec2TerminateClientVpnConnectionsCommand, serializeAws_ec2TerminateClientVpnConnectionsCommand, diff --git a/clients/client-ec2/src/commands/TerminateInstancesCommand.ts b/clients/client-ec2/src/commands/TerminateInstancesCommand.ts index a08ceda0d1d1..154844c7b644 100644 --- a/clients/client-ec2/src/commands/TerminateInstancesCommand.ts +++ b/clients/client-ec2/src/commands/TerminateInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { TerminateInstancesRequest, TerminateInstancesResult } from "../models/models_5"; +import { TerminateInstancesRequest, TerminateInstancesResult } from "../models/models_6"; import { deserializeAws_ec2TerminateInstancesCommand, serializeAws_ec2TerminateInstancesCommand, diff --git a/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts b/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts index 0b19abccdce5..8bf5f8d5304b 100644 --- a/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts +++ b/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { UnassignIpv6AddressesRequest, UnassignIpv6AddressesResult } from "../models/models_5"; +import { UnassignIpv6AddressesRequest, UnassignIpv6AddressesResult } from "../models/models_6"; import { deserializeAws_ec2UnassignIpv6AddressesCommand, serializeAws_ec2UnassignIpv6AddressesCommand, diff --git a/clients/client-ec2/src/commands/UnassignPrivateIpAddressesCommand.ts b/clients/client-ec2/src/commands/UnassignPrivateIpAddressesCommand.ts index a0327901509d..2495174e7257 100644 --- a/clients/client-ec2/src/commands/UnassignPrivateIpAddressesCommand.ts +++ b/clients/client-ec2/src/commands/UnassignPrivateIpAddressesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { UnassignPrivateIpAddressesRequest } from "../models/models_5"; +import { UnassignPrivateIpAddressesRequest } from "../models/models_6"; import { deserializeAws_ec2UnassignPrivateIpAddressesCommand, serializeAws_ec2UnassignPrivateIpAddressesCommand, diff --git a/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts b/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts index b04a87760f8b..ba452511dde9 100644 --- a/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts +++ b/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { UnmonitorInstancesRequest, UnmonitorInstancesResult } from "../models/models_5"; +import { UnmonitorInstancesRequest, UnmonitorInstancesResult } from "../models/models_6"; import { deserializeAws_ec2UnmonitorInstancesCommand, serializeAws_ec2UnmonitorInstancesCommand, diff --git a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts index 5cf7346dbc0f..e3391f36b35c 100644 --- a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts +++ b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { UpdateSecurityGroupRuleDescriptionsEgressRequest, UpdateSecurityGroupRuleDescriptionsEgressResult, -} from "../models/models_5"; +} from "../models/models_6"; import { deserializeAws_ec2UpdateSecurityGroupRuleDescriptionsEgressCommand, serializeAws_ec2UpdateSecurityGroupRuleDescriptionsEgressCommand, diff --git a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts index 26a83d27aca5..04b1a4066c71 100644 --- a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts +++ b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { UpdateSecurityGroupRuleDescriptionsIngressRequest, UpdateSecurityGroupRuleDescriptionsIngressResult, -} from "../models/models_5"; +} from "../models/models_6"; import { deserializeAws_ec2UpdateSecurityGroupRuleDescriptionsIngressCommand, serializeAws_ec2UpdateSecurityGroupRuleDescriptionsIngressCommand, diff --git a/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts b/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts index daa911fc08a7..3cc8160971ac 100644 --- a/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { WithdrawByoipCidrRequest, WithdrawByoipCidrResult } from "../models/models_5"; +import { WithdrawByoipCidrRequest, WithdrawByoipCidrResult } from "../models/models_6"; import { deserializeAws_ec2WithdrawByoipCidrCommand, serializeAws_ec2WithdrawByoipCidrCommand, diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index 194ef27ced3c..04091f4e8105 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -7,6 +7,7 @@ export * from "./AcceptVpcPeeringConnectionCommand"; export * from "./AdvertiseByoipCidrCommand"; export * from "./AllocateAddressCommand"; export * from "./AllocateHostsCommand"; +export * from "./AllocateIpamPoolCidrCommand"; export * from "./ApplySecurityGroupsToClientVpnTargetNetworkCommand"; export * from "./AssignIpv6AddressesCommand"; export * from "./AssignPrivateIpAddressesCommand"; @@ -61,6 +62,9 @@ export * from "./CreateImageCommand"; export * from "./CreateInstanceEventWindowCommand"; export * from "./CreateInstanceExportTaskCommand"; export * from "./CreateInternetGatewayCommand"; +export * from "./CreateIpamCommand"; +export * from "./CreateIpamPoolCommand"; +export * from "./CreateIpamScopeCommand"; export * from "./CreateKeyPairCommand"; export * from "./CreateLaunchTemplateCommand"; export * from "./CreateLaunchTemplateVersionCommand"; @@ -70,10 +74,12 @@ export * from "./CreateManagedPrefixListCommand"; export * from "./CreateNatGatewayCommand"; export * from "./CreateNetworkAclCommand"; export * from "./CreateNetworkAclEntryCommand"; +export * from "./CreateNetworkInsightsAccessScopeCommand"; export * from "./CreateNetworkInsightsPathCommand"; export * from "./CreateNetworkInterfaceCommand"; export * from "./CreateNetworkInterfacePermissionCommand"; export * from "./CreatePlacementGroupCommand"; +export * from "./CreatePublicIpv4PoolCommand"; export * from "./CreateReplaceRootVolumeTaskCommand"; export * from "./CreateReservedInstancesListingCommand"; export * from "./CreateRestoreImageTaskCommand"; @@ -120,6 +126,9 @@ export * from "./DeleteFlowLogsCommand"; export * from "./DeleteFpgaImageCommand"; export * from "./DeleteInstanceEventWindowCommand"; export * from "./DeleteInternetGatewayCommand"; +export * from "./DeleteIpamCommand"; +export * from "./DeleteIpamPoolCommand"; +export * from "./DeleteIpamScopeCommand"; export * from "./DeleteKeyPairCommand"; export * from "./DeleteLaunchTemplateCommand"; export * from "./DeleteLaunchTemplateVersionsCommand"; @@ -129,11 +138,14 @@ export * from "./DeleteManagedPrefixListCommand"; export * from "./DeleteNatGatewayCommand"; export * from "./DeleteNetworkAclCommand"; export * from "./DeleteNetworkAclEntryCommand"; +export * from "./DeleteNetworkInsightsAccessScopeAnalysisCommand"; +export * from "./DeleteNetworkInsightsAccessScopeCommand"; export * from "./DeleteNetworkInsightsAnalysisCommand"; export * from "./DeleteNetworkInsightsPathCommand"; export * from "./DeleteNetworkInterfaceCommand"; export * from "./DeleteNetworkInterfacePermissionCommand"; export * from "./DeletePlacementGroupCommand"; +export * from "./DeletePublicIpv4PoolCommand"; export * from "./DeleteQueuedReservedInstancesCommand"; export * from "./DeleteRouteCommand"; export * from "./DeleteRouteTableCommand"; @@ -166,6 +178,8 @@ export * from "./DeleteVpnConnectionCommand"; export * from "./DeleteVpnConnectionRouteCommand"; export * from "./DeleteVpnGatewayCommand"; export * from "./DeprovisionByoipCidrCommand"; +export * from "./DeprovisionIpamPoolCidrCommand"; +export * from "./DeprovisionPublicIpv4PoolCidrCommand"; export * from "./DeregisterImageCommand"; export * from "./DeregisterInstanceEventNotificationAttributesCommand"; export * from "./DeregisterTransitGatewayMulticastGroupMembersCommand"; @@ -220,6 +234,9 @@ export * from "./DescribeInstanceTypeOfferingsCommand"; export * from "./DescribeInstanceTypesCommand"; export * from "./DescribeInstancesCommand"; export * from "./DescribeInternetGatewaysCommand"; +export * from "./DescribeIpamPoolsCommand"; +export * from "./DescribeIpamScopesCommand"; +export * from "./DescribeIpamsCommand"; export * from "./DescribeIpv6PoolsCommand"; export * from "./DescribeKeyPairsCommand"; export * from "./DescribeLaunchTemplateVersionsCommand"; @@ -234,6 +251,8 @@ export * from "./DescribeManagedPrefixListsCommand"; export * from "./DescribeMovingAddressesCommand"; export * from "./DescribeNatGatewaysCommand"; export * from "./DescribeNetworkAclsCommand"; +export * from "./DescribeNetworkInsightsAccessScopeAnalysesCommand"; +export * from "./DescribeNetworkInsightsAccessScopesCommand"; export * from "./DescribeNetworkInsightsAnalysesCommand"; export * from "./DescribeNetworkInsightsPathsCommand"; export * from "./DescribeNetworkInterfaceAttributeCommand"; @@ -305,6 +324,7 @@ export * from "./DetachVpnGatewayCommand"; export * from "./DisableEbsEncryptionByDefaultCommand"; export * from "./DisableFastSnapshotRestoresCommand"; export * from "./DisableImageDeprecationCommand"; +export * from "./DisableIpamOrganizationAdminAccountCommand"; export * from "./DisableSerialConsoleAccessCommand"; export * from "./DisableTransitGatewayRouteTablePropagationCommand"; export * from "./DisableVgwRoutePropagationCommand"; @@ -324,6 +344,7 @@ export * from "./DisassociateVpcCidrBlockCommand"; export * from "./EnableEbsEncryptionByDefaultCommand"; export * from "./EnableFastSnapshotRestoresCommand"; export * from "./EnableImageDeprecationCommand"; +export * from "./EnableIpamOrganizationAdminAccountCommand"; export * from "./EnableSerialConsoleAccessCommand"; export * from "./EnableTransitGatewayRouteTablePropagationCommand"; export * from "./EnableVgwRoutePropagationCommand"; @@ -347,9 +368,15 @@ export * from "./GetFlowLogsIntegrationTemplateCommand"; export * from "./GetGroupsForCapacityReservationCommand"; export * from "./GetHostReservationPurchasePreviewCommand"; export * from "./GetInstanceTypesFromInstanceRequirementsCommand"; +export * from "./GetIpamAddressHistoryCommand"; +export * from "./GetIpamPoolAllocationsCommand"; +export * from "./GetIpamPoolCidrsCommand"; +export * from "./GetIpamResourceCidrsCommand"; export * from "./GetLaunchTemplateDataCommand"; export * from "./GetManagedPrefixListAssociationsCommand"; export * from "./GetManagedPrefixListEntriesCommand"; +export * from "./GetNetworkInsightsAccessScopeAnalysisFindingsCommand"; +export * from "./GetNetworkInsightsAccessScopeContentCommand"; export * from "./GetPasswordDataCommand"; export * from "./GetReservedInstancesExchangeQuoteCommand"; export * from "./GetSerialConsoleAccessStatusCommand"; @@ -389,6 +416,10 @@ export * from "./ModifyInstanceEventStartTimeCommand"; export * from "./ModifyInstanceEventWindowCommand"; export * from "./ModifyInstanceMetadataOptionsCommand"; export * from "./ModifyInstancePlacementCommand"; +export * from "./ModifyIpamCommand"; +export * from "./ModifyIpamPoolCommand"; +export * from "./ModifyIpamResourceCidrCommand"; +export * from "./ModifyIpamScopeCommand"; export * from "./ModifyLaunchTemplateCommand"; export * from "./ModifyManagedPrefixListCommand"; export * from "./ModifyNetworkInterfaceAttributeCommand"; @@ -420,7 +451,10 @@ export * from "./ModifyVpnTunnelCertificateCommand"; export * from "./ModifyVpnTunnelOptionsCommand"; export * from "./MonitorInstancesCommand"; export * from "./MoveAddressToVpcCommand"; +export * from "./MoveByoipCidrToIpamCommand"; export * from "./ProvisionByoipCidrCommand"; +export * from "./ProvisionIpamPoolCidrCommand"; +export * from "./ProvisionPublicIpv4PoolCidrCommand"; export * from "./PurchaseHostReservationCommand"; export * from "./PurchaseReservedInstancesOfferingCommand"; export * from "./PurchaseScheduledInstancesCommand"; @@ -436,6 +470,7 @@ export * from "./RejectVpcEndpointConnectionsCommand"; export * from "./RejectVpcPeeringConnectionCommand"; export * from "./ReleaseAddressCommand"; export * from "./ReleaseHostsCommand"; +export * from "./ReleaseIpamPoolAllocationCommand"; export * from "./ReplaceIamInstanceProfileAssociationCommand"; export * from "./ReplaceNetworkAclAssociationCommand"; export * from "./ReplaceNetworkAclEntryCommand"; @@ -466,6 +501,7 @@ export * from "./SearchTransitGatewayMulticastGroupsCommand"; export * from "./SearchTransitGatewayRoutesCommand"; export * from "./SendDiagnosticInterruptCommand"; export * from "./StartInstancesCommand"; +export * from "./StartNetworkInsightsAccessScopeAnalysisCommand"; export * from "./StartNetworkInsightsAnalysisCommand"; export * from "./StartVpcEndpointServicePrivateDnsVerificationCommand"; export * from "./StopInstancesCommand"; diff --git a/clients/client-ec2/src/models/index.ts b/clients/client-ec2/src/models/index.ts index ee9cb98f4b37..ec8ad748fe9d 100644 --- a/clients/client-ec2/src/models/index.ts +++ b/clients/client-ec2/src/models/index.ts @@ -4,3 +4,4 @@ export * from "./models_2"; export * from "./models_3"; export * from "./models_4"; export * from "./models_5"; +export * from "./models_6"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 1a8605054554..96c3f870fcb8 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -985,992 +985,977 @@ export namespace AcceptVpcPeeringConnectionResult { } /** - *

Describes a value of an account attribute.

+ *

Describes a range of ports.

*/ -export interface AccountAttributeValue { +export interface PortRange { /** - *

The value of the attribute.

+ *

The first port in the range.

*/ - AttributeValue?: string; + From?: number; + + /** + *

The last port in the range.

+ */ + To?: number; } -export namespace AccountAttributeValue { +export namespace PortRange { /** * @internal */ - export const filterSensitiveLog = (obj: AccountAttributeValue): any => ({ + export const filterSensitiveLog = (obj: PortRange): any => ({ ...obj, }); } /** - *

Describes an account attribute.

+ *

Describes a network access control (ACL) rule.

*/ -export interface AccountAttribute { +export interface AnalysisAclRule { /** - *

The name of the account attribute.

+ *

The IPv4 address range, in CIDR notation.

*/ - AttributeName?: string; + Cidr?: string; /** - *

The values for the account attribute.

+ *

Indicates whether the rule is an outbound rule.

*/ - AttributeValues?: AccountAttributeValue[]; + Egress?: boolean; + + /** + *

The range of ports.

+ */ + PortRange?: PortRange; + + /** + *

The protocol.

+ */ + Protocol?: string; + + /** + *

Indicates whether to allow or deny traffic that matches the rule.

+ */ + RuleAction?: string; + + /** + *

The rule number.

+ */ + RuleNumber?: number; } -export namespace AccountAttribute { +export namespace AnalysisAclRule { /** * @internal */ - export const filterSensitiveLog = (obj: AccountAttribute): any => ({ + export const filterSensitiveLog = (obj: AnalysisAclRule): any => ({ ...obj, }); } -export type AccountAttributeName = "default-vpc" | "supported-platforms"; - -export enum InstanceHealthStatus { - HEALTHY_STATUS = "healthy", - UNHEALTHY_STATUS = "unhealthy", -} - /** - *

Describes a running instance in a Spot Fleet.

+ *

Describes a path component.

*/ -export interface ActiveInstance { - /** - *

The ID of the instance.

- */ - InstanceId?: string; - +export interface AnalysisComponent { /** - *

The instance type.

+ *

The ID of the component.

*/ - InstanceType?: string; + Id?: string; /** - *

The ID of the Spot Instance request.

+ *

The Amazon Resource Name (ARN) of the component.

*/ - SpotInstanceRequestId?: string; + Arn?: 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.

+ *

The name of the analysis component.

*/ - InstanceHealth?: InstanceHealthStatus | string; + Name?: string; } -export namespace ActiveInstance { +export namespace AnalysisComponent { /** * @internal */ - export const filterSensitiveLog = (obj: ActiveInstance): any => ({ + export const filterSensitiveLog = (obj: AnalysisComponent): any => ({ ...obj, }); } -export enum ActivityStatus { - ERROR = "error", - FULFILLED = "fulfilled", - PENDING_FULFILLMENT = "pending_fulfillment", - PENDING_TERMINATION = "pending_termination", -} - /** - *

An entry for a prefix list.

+ *

Describes a header. Reflects any changes made by a component as traffic passes through. + * The fields of an inbound header are null except for the first component of a path.

*/ -export interface AddPrefixListEntry { +export interface AnalysisPacketHeader { /** - *

The CIDR block.

+ *

The destination addresses.

*/ - Cidr: string | undefined; + DestinationAddresses?: string[]; /** - *

A description for the entry.

- *

Constraints: Up to 255 characters in length.

+ *

The destination port ranges.

*/ - Description?: string; + DestinationPortRanges?: PortRange[]; + + /** + *

The protocol.

+ */ + Protocol?: string; + + /** + *

The source addresses.

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

The source port ranges.

+ */ + SourcePortRanges?: PortRange[]; } -export namespace AddPrefixListEntry { +export namespace AnalysisPacketHeader { /** * @internal */ - export const filterSensitiveLog = (obj: AddPrefixListEntry): any => ({ + export const filterSensitiveLog = (obj: AnalysisPacketHeader): any => ({ ...obj, }); } -export type DomainType = "standard" | "vpc"; - /** - *

Describes an Elastic IP address, or a carrier IP address.

+ *

Describes a route table route.

*/ -export interface Address { +export interface AnalysisRouteTableRoute { /** - *

The ID of the instance that the address is associated with (if any).

+ *

The destination IPv4 address, in CIDR notation.

*/ - InstanceId?: string; + DestinationCidr?: string; /** - *

The Elastic IP address.

+ *

The prefix of the Amazon Web Service.

*/ - PublicIp?: string; + DestinationPrefixListId?: string; /** - *

The ID representing the allocation of the address for use with EC2-VPC.

+ *

The ID of an egress-only internet gateway.

*/ - AllocationId?: string; + EgressOnlyInternetGatewayId?: string; /** - *

The ID representing the association of the address with an instance in a VPC.

+ *

The ID of the gateway, such as an internet gateway or virtual private gateway.

*/ - AssociationId?: string; + GatewayId?: string; /** - *

Indicates whether this Elastic IP address is for use with instances - * in EC2-Classic (standard) or instances in a VPC (vpc).

+ *

The ID of the instance, such as a NAT instance.

*/ - Domain?: DomainType | string; + InstanceId?: string; /** - *

The ID of the network interface.

+ *

The ID of a NAT gateway.

+ */ + NatGatewayId?: string; + + /** + *

The ID of a network interface.

*/ NetworkInterfaceId?: string; /** - *

The ID of the Amazon Web Services account that owns the network interface.

+ *

Describes how the route was created. The following are possible values:

+ *
    + *
  • + *

    + * 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.

    + *
  • + *
*/ - NetworkInterfaceOwnerId?: string; + Origin?: string; /** - *

The private IP address associated with the Elastic IP address.

+ *

The ID of a transit gateway.

*/ - PrivateIpAddress?: string; + TransitGatewayId?: string; /** - *

Any tags assigned to the Elastic IP address.

+ *

The ID of a VPC peering connection.

*/ - Tags?: Tag[]; + VpcPeeringConnectionId?: string; +} +export namespace AnalysisRouteTableRoute { /** - *

The ID of an address pool.

+ * @internal */ - PublicIpv4Pool?: string; + export const filterSensitiveLog = (obj: AnalysisRouteTableRoute): any => ({ + ...obj, + }); +} +/** + *

Describes a security group rule.

+ */ +export interface AnalysisSecurityGroupRule { /** - *

The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from - * which Amazon Web Services advertises IP addresses.

+ *

The IPv4 address range, in CIDR notation.

*/ - NetworkBorderGroup?: string; + Cidr?: string; /** - *

The customer-owned IP address.

+ *

The direction. The following are possible values:

+ *
    + *
  • + *

    egress

    + *
  • + *
  • + *

    ingress

    + *
  • + *
*/ - CustomerOwnedIp?: string; + Direction?: string; /** - *

The ID of the customer-owned address pool.

+ *

The security group ID.

*/ - CustomerOwnedIpv4Pool?: string; + SecurityGroupId?: string; /** - *

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).

+ *

The port range.

*/ - CarrierIp?: string; + PortRange?: PortRange; + + /** + *

The prefix list ID.

+ */ + PrefixListId?: string; + + /** + *

The protocol name.

+ */ + Protocol?: string; } -export namespace Address { +export namespace AnalysisSecurityGroupRule { /** * @internal */ - export const filterSensitiveLog = (obj: Address): any => ({ + export const filterSensitiveLog = (obj: AnalysisSecurityGroupRule): any => ({ ...obj, }); } /** - *

The status of an updated pointer (PTR) record for an Elastic IP address.

+ *

Describes a path component.

*/ -export interface PtrUpdateStatus { +export interface PathComponent { /** - *

The value for the PTR record update.

+ *

The sequence number.

*/ - Value?: string; + SequenceNumber?: number; /** - *

The status of the PTR record update.

+ *

The network ACL rule.

*/ - Status?: string; + AclRule?: AnalysisAclRule; /** - *

The reason for the PTR record update.

+ *

The resource to which the path component is attached.

*/ - Reason?: string; -} + AttachedTo?: AnalysisComponent; -export namespace PtrUpdateStatus { /** - * @internal + *

The component.

*/ - export const filterSensitiveLog = (obj: PtrUpdateStatus): any => ({ - ...obj, - }); -} + Component?: AnalysisComponent; -/** - *

The attributes associated with an Elastic IP address.

- */ -export interface AddressAttribute { /** - *

The public IP address.

+ *

The destination VPC.

*/ - PublicIp?: string; + DestinationVpc?: AnalysisComponent; /** - *

[EC2-VPC] The allocation ID.

+ *

The outbound header.

*/ - AllocationId?: string; + OutboundHeader?: AnalysisPacketHeader; /** - *

The pointer (PTR) record for the IP address.

+ *

The inbound header.

*/ - PtrRecord?: string; + InboundHeader?: AnalysisPacketHeader; /** - *

The updated PTR record for the IP address.

+ *

The route table route.

*/ - PtrRecordUpdate?: PtrUpdateStatus; + RouteTableRoute?: AnalysisRouteTableRoute; + + /** + *

The security group rule.

+ */ + SecurityGroupRule?: AnalysisSecurityGroupRule; + + /** + *

The source VPC.

+ */ + SourceVpc?: AnalysisComponent; + + /** + *

The subnet.

+ */ + Subnet?: AnalysisComponent; + + /** + *

The component VPC.

+ */ + Vpc?: AnalysisComponent; } -export namespace AddressAttribute { +export namespace PathComponent { /** * @internal */ - export const filterSensitiveLog = (obj: AddressAttribute): any => ({ + export const filterSensitiveLog = (obj: PathComponent): any => ({ ...obj, }); } -export type AddressAttributeName = "domain-name"; +/** + *

Describes a finding for a Network Access Scope.

+ */ +export interface AccessScopeAnalysisFinding { + /** + *

The ID of the Network Access Scope analysis.

+ */ + NetworkInsightsAccessScopeAnalysisId?: string; -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.

+ *

The ID of the Network Access Scope.

*/ - Cidr: string | undefined; + NetworkInsightsAccessScopeId?: 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 finding.

*/ - DryRun?: boolean; + FindingId?: string; + + /** + *

The finding components.

+ */ + FindingComponents?: PathComponent[]; } -export namespace AdvertiseByoipCidrRequest { +export namespace AccessScopeAnalysisFinding { /** * @internal */ - export const filterSensitiveLog = (obj: AdvertiseByoipCidrRequest): any => ({ + export const filterSensitiveLog = (obj: AccessScopeAnalysisFinding): any => ({ ...obj, }); } -export type ByoipCidrState = - | "advertised" - | "deprovisioned" - | "failed-deprovision" - | "failed-provision" - | "pending-deprovision" - | "pending-provision" - | "provisioned" - | "provisioned-not-publicly-advertisable"; +export type Protocol = "tcp" | "udp"; /** - *

Information about an address range that is provisioned for use with your Amazon Web Services resources - * through bring your own IP addresses (BYOIP).

+ *

Describes a packet header statement.

*/ -export interface ByoipCidr { +export interface PacketHeaderStatement { /** - *

The address range, in CIDR notation.

+ *

The source addresses.

*/ - Cidr?: string; + SourceAddresses?: string[]; /** - *

The description of the address range.

+ *

The destination addresses.

*/ - Description?: string; + DestinationAddresses?: string[]; /** - *

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

+ *

The source ports.

*/ - StatusMessage?: string; + SourcePorts?: string[]; /** - *

The state of the address pool.

+ *

The destination ports.

*/ - State?: ByoipCidrState | string; -} + DestinationPorts?: string[]; -export namespace ByoipCidr { /** - * @internal + *

The source prefix lists.

*/ - export const filterSensitiveLog = (obj: ByoipCidr): any => ({ - ...obj, - }); -} + SourcePrefixLists?: string[]; -export interface AdvertiseByoipCidrResult { /** - *

Information about the address range.

+ *

The destination prefix lists.

*/ - ByoipCidr?: ByoipCidr; + DestinationPrefixLists?: string[]; + + /** + *

The protocols.

+ */ + Protocols?: (Protocol | string)[]; } -export namespace AdvertiseByoipCidrResult { +export namespace PacketHeaderStatement { /** * @internal */ - export const filterSensitiveLog = (obj: AdvertiseByoipCidrResult): any => ({ + export const filterSensitiveLog = (obj: PacketHeaderStatement): any => ({ ...obj, }); } -export type Affinity = "default" | "host"; - -export type ResourceType = - | "capacity-reservation" - | "carrier-gateway" - | "client-vpn-endpoint" - | "customer-gateway" - | "dedicated-host" - | "dhcp-options" - | "egress-only-internet-gateway" - | "elastic-gpu" - | "elastic-ip" - | "export-image-task" - | "export-instance-task" - | "fleet" - | "fpga-image" - | "host-reservation" - | "image" - | "import-image-task" - | "import-snapshot-task" - | "instance" - | "instance-event-window" - | "internet-gateway" - | "ipv4pool-ec2" - | "ipv6pool-ec2" - | "key-pair" - | "launch-template" - | "local-gateway" - | "local-gateway-route-table" - | "local-gateway-route-table-virtual-interface-group-association" - | "local-gateway-route-table-vpc-association" - | "local-gateway-virtual-interface" - | "local-gateway-virtual-interface-group" - | "natgateway" - | "network-acl" - | "network-insights-analysis" - | "network-insights-path" - | "network-interface" - | "placement-group" - | "prefix-list" - | "replace-root-volume-task" - | "reserved-instances" - | "route-table" - | "security-group" - | "security-group-rule" - | "snapshot" - | "spot-fleet-request" - | "spot-instances-request" - | "subnet" - | "traffic-mirror-filter" - | "traffic-mirror-session" - | "traffic-mirror-target" - | "transit-gateway" - | "transit-gateway-attachment" - | "transit-gateway-connect-peer" - | "transit-gateway-multicast-domain" - | "transit-gateway-route-table" - | "volume" - | "vpc" - | "vpc-endpoint" - | "vpc-endpoint-service" - | "vpc-flow-log" - | "vpc-peering-connection" - | "vpn-connection" - | "vpn-gateway"; - /** - *

The tags to apply to a resource when the resource is being created.

+ *

Describes a resource statement.

*/ -export interface TagSpecification { +export interface ResourceStatement { /** - *

The type of resource to tag on creation.

+ *

The resources.

*/ - ResourceType?: ResourceType | string; + Resources?: string[]; /** - *

The tags to apply to the resource.

+ *

The resource types.

*/ - Tags?: Tag[]; + ResourceTypes?: string[]; } -export namespace TagSpecification { +export namespace ResourceStatement { /** * @internal */ - export const filterSensitiveLog = (obj: TagSpecification): any => ({ + export const filterSensitiveLog = (obj: ResourceStatement): any => ({ ...obj, }); } -export interface AllocateAddressRequest { +/** + *

Describes a path statement.

+ */ +export interface PathStatement { /** - *

Indicates whether the Elastic IP address is for use with instances in a VPC or instances in EC2-Classic.

- *

Default: If the Region supports EC2-Classic, the default is standard. Otherwise, the default - * is vpc.

+ *

The packet header statement.

*/ - Domain?: DomainType | string; + PacketHeaderStatement?: PacketHeaderStatement; /** - *

[EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

+ *

The resource statement.

*/ - Address?: string; + ResourceStatement?: ResourceStatement; +} +export namespace PathStatement { /** - *

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.

+ * @internal */ - PublicIpv4Pool?: string; + export const filterSensitiveLog = (obj: PathStatement): any => ({ + ...obj, + }); +} +/** + *

Describes a through resource statement.

+ */ +export interface ThroughResourcesStatement { /** - *

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services - * 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.

- * - *

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, - * you receive an InvalidParameterCombination error.

+ *

The resource statement.

*/ - NetworkBorderGroup?: string; + ResourceStatement?: ResourceStatement; +} +export namespace ThroughResourcesStatement { /** - *

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.

+ * @internal */ - CustomerOwnedIpv4Pool?: string; + export const filterSensitiveLog = (obj: ThroughResourcesStatement): any => ({ + ...obj, + }); +} +/** + *

Describes a path.

+ */ +export interface AccessScopePath { /** - *

Checks whether you have the required permissions for the action, without 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 source.

*/ - DryRun?: boolean; + Source?: PathStatement; /** - *

The tags to assign to the Elastic IP address.

+ *

The destination.

*/ - TagSpecifications?: TagSpecification[]; + Destination?: PathStatement; + + /** + *

The through resources.

+ */ + ThroughResources?: ThroughResourcesStatement[]; } -export namespace AllocateAddressRequest { +export namespace AccessScopePath { /** * @internal */ - export const filterSensitiveLog = (obj: AllocateAddressRequest): any => ({ + export const filterSensitiveLog = (obj: AccessScopePath): any => ({ ...obj, }); } -export interface AllocateAddressResult { +/** + *

Describes a packet header statement.

+ */ +export interface PacketHeaderStatementRequest { /** - *

The Elastic IP address.

+ *

The source addresses.

*/ - PublicIp?: string; + SourceAddresses?: string[]; /** - *

[EC2-VPC] The ID that Amazon Web Services assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

+ *

The destination addresses.

*/ - AllocationId?: string; + DestinationAddresses?: string[]; /** - *

The ID of an address pool.

+ *

The source ports.

*/ - PublicIpv4Pool?: string; + SourcePorts?: string[]; /** - *

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises - * IP addresses.

+ *

The destination ports.

*/ - NetworkBorderGroup?: string; + DestinationPorts?: string[]; /** - *

Indicates whether the Elastic IP address is for use with instances in a VPC (vpc) or - * instances in EC2-Classic (standard).

+ *

The source prefix lists.

*/ - Domain?: DomainType | string; + SourcePrefixLists?: string[]; /** - *

The customer-owned IP address.

+ *

The destination prefix lists.

*/ - CustomerOwnedIp?: string; + DestinationPrefixLists?: string[]; /** - *

The ID of the customer-owned address pool.

+ *

The protocols.

*/ - CustomerOwnedIpv4Pool?: string; + Protocols?: (Protocol | string)[]; +} +export namespace PacketHeaderStatementRequest { /** - *

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).

+ * @internal */ - CarrierIp?: string; + export const filterSensitiveLog = (obj: PacketHeaderStatementRequest): any => ({ + ...obj, + }); } -export namespace AllocateAddressResult { +/** + *

Describes a resource statement.

+ */ +export interface ResourceStatementRequest { + /** + *

The resources.

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

The resource types.

+ */ + ResourceTypes?: string[]; +} + +export namespace ResourceStatementRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AllocateAddressResult): any => ({ + export const filterSensitiveLog = (obj: ResourceStatementRequest): any => ({ ...obj, }); } -export type AutoPlacement = "off" | "on"; - -export type HostRecovery = "off" | "on"; - -export interface AllocateHostsRequest { +/** + *

Describes a path statement.

+ */ +export interface PathStatementRequest { /** - *

Indicates whether the host accepts any untargeted instance launches that - * match its instance type configuration, or if it only accepts Host tenancy - * instance launches that specify its unique host ID. For more information, - * see - * Understanding auto-placement and affinity in the Amazon EC2 User Guide.

- * - *

Default: on - *

+ *

The packet header statement.

*/ - AutoPlacement?: AutoPlacement | string; + PacketHeaderStatement?: PacketHeaderStatementRequest; /** - *

The Availability Zone in which to allocate the Dedicated Host.

+ *

The resource statement.

*/ - AvailabilityZone: string | undefined; + ResourceStatement?: ResourceStatementRequest; +} +export namespace PathStatementRequest { /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+ * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: PathStatementRequest): any => ({ + ...obj, + }); +} +/** + *

Describes a through resource statement.

+ */ +export interface ThroughResourcesStatementRequest { /** - *

Specifies the instance type to be supported by the Dedicated Hosts. If you - * specify an instance type, the Dedicated Hosts support instances of the - * specified instance type only.

- * - *

If you want the Dedicated Hosts to support multiple instance types in a specific - * instance family, omit this parameter and specify InstanceFamily - * instead. You cannot specify InstanceType and - * InstanceFamily in the same request.

+ *

The resource statement.

*/ - InstanceType?: string; + ResourceStatement?: ResourceStatementRequest; +} +export namespace ThroughResourcesStatementRequest { /** - *

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 - * instance family.

- * - *

If you want the Dedicated Hosts to support a specific instance type only, omit this - * parameter and specify InstanceType - * instead. You cannot specify InstanceFamily and - * InstanceType in the same request.

+ * @internal */ - InstanceFamily?: string; + export const filterSensitiveLog = (obj: ThroughResourcesStatementRequest): any => ({ + ...obj, + }); +} +/** + *

Describes a path.

+ */ +export interface AccessScopePathRequest { /** - *

The number of Dedicated Hosts to allocate to your account with these parameters.

+ *

The source.

*/ - Quantity: number | undefined; + Source?: PathStatementRequest; /** - *

The tags to apply to the Dedicated Host during creation.

+ *

The destination.

*/ - TagSpecifications?: TagSpecification[]; + Destination?: PathStatementRequest; /** - *

Indicates whether to enable or disable host recovery for the Dedicated Host. - * Host recovery is disabled by default. For more information, see - * - * Host recovery in the Amazon EC2 User Guide.

- *

Default: off - *

+ *

The through resources.

*/ - HostRecovery?: HostRecovery | string; + ThroughResources?: ThroughResourcesStatementRequest[]; } -export namespace AllocateHostsRequest { +export namespace AccessScopePathRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AllocateHostsRequest): any => ({ + export const filterSensitiveLog = (obj: AccessScopePathRequest): any => ({ ...obj, }); } /** - *

Contains the output of AllocateHosts.

+ *

Describes a value of an account attribute.

*/ -export interface AllocateHostsResult { +export interface AccountAttributeValue { /** - *

The ID of the allocated Dedicated Host. This is used to launch an instance onto a - * specific host.

+ *

The value of the attribute.

*/ - HostIds?: string[]; + AttributeValue?: string; } -export namespace AllocateHostsResult { +export namespace AccountAttributeValue { /** * @internal */ - export const filterSensitiveLog = (obj: AllocateHostsResult): any => ({ + export const filterSensitiveLog = (obj: AccountAttributeValue): any => ({ ...obj, }); } -export type AllocationState = - | "available" - | "pending" - | "permanent-failure" - | "released" - | "released-permanent-failure" - | "under-assessment"; +/** + *

Describes an account attribute.

+ */ +export interface AccountAttribute { + /** + *

The name of the account attribute.

+ */ + AttributeName?: string; -export enum AllocationStrategy { - CAPACITY_OPTIMIZED = "capacityOptimized", - CAPACITY_OPTIMIZED_PRIORITIZED = "capacityOptimizedPrioritized", - DIVERSIFIED = "diversified", - LOWEST_PRICE = "lowestPrice", -} - -export enum PrincipalType { - Account = "Account", - All = "All", - OrganizationUnit = "OrganizationUnit", - Role = "Role", - Service = "Service", - User = "User", -} - -/** - *

Describes a principal.

- */ -export interface AllowedPrincipal { /** - *

The type of principal.

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

The Amazon Resource Name (ARN) of the principal.

+ *

The values for the account attribute.

*/ - Principal?: string; + AttributeValues?: AccountAttributeValue[]; } -export namespace AllowedPrincipal { +export namespace AccountAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: AllowedPrincipal): any => ({ + export const filterSensitiveLog = (obj: AccountAttribute): any => ({ ...obj, }); } -export type AllowsMultipleInstanceTypes = "off" | "on"; - -/** - *

Describes an potential intermediate component of a feasible path.

- */ -export interface AlternatePathHint { - /** - *

The ID of the component.

- */ - ComponentId?: string; - - /** - *

The Amazon Resource Name (ARN) of the component.

- */ - ComponentArn?: string; -} +export type AccountAttributeName = "default-vpc" | "supported-platforms"; -export namespace AlternatePathHint { - /** - * @internal - */ - export const filterSensitiveLog = (obj: AlternatePathHint): any => ({ - ...obj, - }); +export enum InstanceHealthStatus { + HEALTHY_STATUS = "healthy", + UNHEALTHY_STATUS = "unhealthy", } -export interface ApplySecurityGroupsToClientVpnTargetNetworkRequest { +/** + *

Describes a running instance in a Spot Fleet.

+ */ +export interface ActiveInstance { /** - *

The ID of the Client VPN endpoint.

+ *

The ID of the instance.

*/ - ClientVpnEndpointId: string | undefined; + InstanceId?: string; /** - *

The ID of the VPC in which the associated target network is located.

+ *

The instance type.

*/ - VpcId: string | undefined; + InstanceType?: string; /** - *

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can - * be applied to an associated target network.

+ *

The ID of the Spot Instance request.

*/ - SecurityGroupIds: string[] | undefined; + SpotInstanceRequestId?: 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 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.

*/ - DryRun?: boolean; + InstanceHealth?: InstanceHealthStatus | string; } -export namespace ApplySecurityGroupsToClientVpnTargetNetworkRequest { +export namespace ActiveInstance { /** * @internal */ - export const filterSensitiveLog = (obj: ApplySecurityGroupsToClientVpnTargetNetworkRequest): any => ({ + export const filterSensitiveLog = (obj: ActiveInstance): any => ({ ...obj, }); } -export interface ApplySecurityGroupsToClientVpnTargetNetworkResult { +export enum ActivityStatus { + ERROR = "error", + FULFILLED = "fulfilled", + PENDING_FULFILLMENT = "pending_fulfillment", + PENDING_TERMINATION = "pending_termination", +} + +/** + *

Add an operating Region to an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

+ *

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide. + *

+ */ +export interface AddIpamOperatingRegion { /** - *

The IDs of the applied security groups.

+ *

The name of the operating Region.

*/ - SecurityGroupIds?: string[]; + RegionName?: string; } -export namespace ApplySecurityGroupsToClientVpnTargetNetworkResult { +export namespace AddIpamOperatingRegion { /** * @internal */ - export const filterSensitiveLog = (obj: ApplySecurityGroupsToClientVpnTargetNetworkResult): any => ({ + export const filterSensitiveLog = (obj: AddIpamOperatingRegion): any => ({ ...obj, }); } -export interface AssignIpv6AddressesRequest { +/** + *

An entry for a prefix list.

+ */ +export interface AddPrefixListEntry { /** - *

The number of additional IPv6 addresses to assign to the network interface. - * The specified number of IPv6 addresses are assigned in addition to the - * existing IPv6 addresses that are already assigned 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.

+ *

The CIDR block.

*/ - Ipv6AddressCount?: number; + Cidr: string | undefined; /** - *

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.

+ *

A description for the entry.

+ *

Constraints: Up to 255 characters in length.

*/ - Ipv6Addresses?: string[]; + Description?: string; +} +export namespace AddPrefixListEntry { /** - *

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the - * network interface. You cannot use this option if you use the Ipv6Prefixes - * option.

+ * @internal */ - Ipv6PrefixCount?: number; + export const filterSensitiveLog = (obj: AddPrefixListEntry): any => ({ + ...obj, + }); +} + +export type DomainType = "standard" | "vpc"; +/** + *

Describes an Elastic IP address, or a carrier IP address.

+ */ +export interface Address { /** - *

One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

+ *

The ID of the instance that the address is associated with (if any).

*/ - Ipv6Prefixes?: string[]; + InstanceId?: string; /** - *

The ID of the network interface.

+ *

The Elastic IP address.

*/ - NetworkInterfaceId: string | undefined; -} + PublicIp?: string; -export namespace AssignIpv6AddressesRequest { /** - * @internal + *

The ID representing the allocation of the address for use with EC2-VPC.

*/ - export const filterSensitiveLog = (obj: AssignIpv6AddressesRequest): any => ({ - ...obj, - }); -} + AllocationId?: string; -export interface AssignIpv6AddressesResult { /** - *

The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses - * that were assigned to the network interface before the request are not included.

+ *

The ID representing the association of the address with an instance in a VPC.

*/ - AssignedIpv6Addresses?: string[]; + AssociationId?: string; /** - *

The IPv6 prefixes that are assigned to the network interface.

+ *

Indicates whether this Elastic IP address is for use with instances + * in EC2-Classic (standard) or instances in a VPC (vpc).

*/ - AssignedIpv6Prefixes?: string[]; + Domain?: DomainType | string; /** *

The ID of the network interface.

*/ NetworkInterfaceId?: string; -} -export namespace AssignIpv6AddressesResult { /** - * @internal + *

The ID of the Amazon Web Services account that owns the network interface.

*/ - export const filterSensitiveLog = (obj: AssignIpv6AddressesResult): any => ({ - ...obj, - }); -} + NetworkInterfaceOwnerId?: string; -/** - *

Contains the parameters for AssignPrivateIpAddresses.

- */ -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 private IP address associated with the Elastic IP address.

*/ - AllowReassignment?: boolean; + PrivateIpAddress?: string; /** - *

The ID of the network interface.

+ *

Any tags assigned to the Elastic IP address.

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

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.

+ *

The ID of an address pool.

*/ - PrivateIpAddresses?: string[]; + PublicIpv4Pool?: string; /** - *

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

+ *

The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from + * which Amazon Web Services advertises IP addresses.

*/ - SecondaryPrivateIpAddressCount?: number; + NetworkBorderGroup?: string; /** - *

One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

+ *

The customer-owned IP address.

*/ - Ipv4Prefixes?: string[]; + CustomerOwnedIp?: string; /** - *

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

+ *

The ID of the customer-owned address pool.

*/ - Ipv4PrefixCount?: number; + CustomerOwnedIpv4Pool?: string; + + /** + *

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).

+ */ + CarrierIp?: string; } -export namespace AssignPrivateIpAddressesRequest { +export namespace Address { /** * @internal */ - export const filterSensitiveLog = (obj: AssignPrivateIpAddressesRequest): any => ({ + export const filterSensitiveLog = (obj: Address): any => ({ ...obj, }); } /** - *

Describes an IPv4 prefix.

+ *

The status of an updated pointer (PTR) record for an Elastic IP address.

*/ -export interface Ipv4PrefixSpecification { +export interface PtrUpdateStatus { /** - *

The IPv4 prefix. For information, see - * Assigning prefixes to Amazon EC2 network interfaces in the - * Amazon Elastic Compute Cloud User Guide.

+ *

The value for the PTR record update.

*/ - Ipv4Prefix?: string; -} + Value?: string; -export namespace Ipv4PrefixSpecification { /** - * @internal + *

The status of the PTR record update.

*/ - export const filterSensitiveLog = (obj: Ipv4PrefixSpecification): any => ({ - ...obj, - }); -} + Status?: string; -/** - *

Describes the private IP addresses assigned to a network interface.

- */ -export interface AssignedPrivateIpAddress { /** - *

The private IP address assigned to the network interface.

+ *

The reason for the PTR record update.

*/ - PrivateIpAddress?: string; + Reason?: string; } -export namespace AssignedPrivateIpAddress { +export namespace PtrUpdateStatus { /** * @internal */ - export const filterSensitiveLog = (obj: AssignedPrivateIpAddress): any => ({ + export const filterSensitiveLog = (obj: PtrUpdateStatus): any => ({ ...obj, }); } -export interface AssignPrivateIpAddressesResult { +/** + *

The attributes associated with an Elastic IP address.

+ */ +export interface AddressAttribute { /** - *

The ID of the network interface.

+ *

The public IP address.

*/ - NetworkInterfaceId?: string; + PublicIp?: string; /** - *

The private IP addresses assigned to the network interface.

+ *

[EC2-VPC] The allocation ID.

*/ - AssignedPrivateIpAddresses?: AssignedPrivateIpAddress[]; + AllocationId?: string; /** - *

The IPv4 prefixes that are assigned to the network interface.

+ *

The pointer (PTR) record for the IP address.

*/ - AssignedIpv4Prefixes?: Ipv4PrefixSpecification[]; + PtrRecord?: string; + + /** + *

The updated PTR record for the IP address.

+ */ + PtrRecordUpdate?: PtrUpdateStatus; } -export namespace AssignPrivateIpAddressesResult { +export namespace AddressAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: AssignPrivateIpAddressesResult): any => ({ + export const filterSensitiveLog = (obj: AddressAttribute): any => ({ ...obj, }); } -export interface AssociateAddressRequest { - /** - *

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

- */ - AllocationId?: string; - - /** - *

The ID of the instance. The instance must have exactly one attached network interface. - * For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. - * For EC2-Classic, you must specify an instance ID and the instance must be in the running - * state.

- */ - InstanceId?: string; +export type AddressAttributeName = "domain-name"; - /** - *

[EC2-Classic] The Elastic IP address to associate with the instance. This is required for - * EC2-Classic.

- */ - PublicIp?: string; +export enum AddressFamily { + ipv4 = "ipv4", + ipv6 = "ipv6", +} +export interface AdvertiseByoipCidrRequest { /** - *

[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.

+ *

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.

*/ - AllowReassociation?: boolean; + Cidr: string | undefined; /** *

Checks whether you have the required permissions for the action, without actually making the request, @@ -1978,138 +1963,209 @@ export interface AssociateAddressRequest { * Otherwise, it is UnauthorizedOperation.

*/ DryRun?: boolean; - - /** - *

[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.

- */ - 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 { +export namespace AdvertiseByoipCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateAddressRequest): any => ({ + export const filterSensitiveLog = (obj: AdvertiseByoipCidrRequest): any => ({ ...obj, }); } -export interface AssociateAddressResult { +export type ByoipCidrState = + | "advertised" + | "deprovisioned" + | "failed-deprovision" + | "failed-provision" + | "pending-deprovision" + | "pending-provision" + | "provisioned" + | "provisioned-not-publicly-advertisable"; + +/** + *

Information about an address range that is provisioned for use with your Amazon Web Services resources + * through bring your own IP addresses (BYOIP).

+ */ +export interface ByoipCidr { /** - *

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

+ *

The address range, in CIDR notation.

*/ - AssociationId?: string; -} + Cidr?: string; -export namespace AssociateAddressResult { /** - * @internal + *

The description of the address range.

*/ - export const filterSensitiveLog = (obj: AssociateAddressResult): any => ({ - ...obj, - }); -} + Description?: string; -export interface AssociateClientVpnTargetNetworkRequest { /** - *

The ID of the Client VPN endpoint.

+ *

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

*/ - ClientVpnEndpointId: string | undefined; + StatusMessage?: string; /** - *

The ID of the subnet to associate with the Client VPN endpoint.

+ *

The state of the address pool.

*/ - SubnetId: string | undefined; + State?: ByoipCidrState | string; +} +export namespace ByoipCidr { /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+ * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: ByoipCidr): any => ({ + ...obj, + }); +} +export interface AdvertiseByoipCidrResult { /** - *

Checks whether you have the required permissions for the action, without 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 address range.

*/ - DryRun?: boolean; + ByoipCidr?: ByoipCidr; } -export namespace AssociateClientVpnTargetNetworkRequest { +export namespace AdvertiseByoipCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateClientVpnTargetNetworkRequest): any => ({ + export const filterSensitiveLog = (obj: AdvertiseByoipCidrResult): any => ({ ...obj, }); } -export type AssociationStatusCode = - | "associated" - | "associating" - | "association-failed" - | "disassociated" - | "disassociating"; +export type Affinity = "default" | "host"; + +export type ResourceType = + | "capacity-reservation" + | "carrier-gateway" + | "client-vpn-endpoint" + | "customer-gateway" + | "dedicated-host" + | "dhcp-options" + | "egress-only-internet-gateway" + | "elastic-gpu" + | "elastic-ip" + | "export-image-task" + | "export-instance-task" + | "fleet" + | "fpga-image" + | "host-reservation" + | "image" + | "import-image-task" + | "import-snapshot-task" + | "instance" + | "instance-event-window" + | "internet-gateway" + | "ipam" + | "ipam-pool" + | "ipam-scope" + | "ipv4pool-ec2" + | "ipv6pool-ec2" + | "key-pair" + | "launch-template" + | "local-gateway" + | "local-gateway-route-table" + | "local-gateway-route-table-virtual-interface-group-association" + | "local-gateway-route-table-vpc-association" + | "local-gateway-virtual-interface" + | "local-gateway-virtual-interface-group" + | "natgateway" + | "network-acl" + | "network-insights-access-scope" + | "network-insights-access-scope-analysis" + | "network-insights-analysis" + | "network-insights-path" + | "network-interface" + | "placement-group" + | "prefix-list" + | "replace-root-volume-task" + | "reserved-instances" + | "route-table" + | "security-group" + | "security-group-rule" + | "snapshot" + | "spot-fleet-request" + | "spot-instances-request" + | "subnet" + | "traffic-mirror-filter" + | "traffic-mirror-session" + | "traffic-mirror-target" + | "transit-gateway" + | "transit-gateway-attachment" + | "transit-gateway-connect-peer" + | "transit-gateway-multicast-domain" + | "transit-gateway-route-table" + | "volume" + | "vpc" + | "vpc-endpoint" + | "vpc-endpoint-service" + | "vpc-flow-log" + | "vpc-peering-connection" + | "vpn-connection" + | "vpn-gateway"; /** - *

Describes the state of a target network association.

+ *

The tags to apply to a resource when the resource is being created.

*/ -export interface AssociationStatus { +export interface TagSpecification { /** - *

The state of the target network association.

+ *

The type of resource to tag on creation.

*/ - Code?: AssociationStatusCode | string; + ResourceType?: ResourceType | string; /** - *

A message about the status of the target network association, if applicable.

+ *

The tags to apply to the resource.

*/ - Message?: string; + Tags?: Tag[]; } -export namespace AssociationStatus { +export namespace TagSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: AssociationStatus): any => ({ + export const filterSensitiveLog = (obj: TagSpecification): any => ({ ...obj, }); } -export interface AssociateClientVpnTargetNetworkResult { +export interface AllocateAddressRequest { /** - *

The unique ID of the target network association.

+ *

Indicates whether the Elastic IP address is for use with instances in a VPC or instances in EC2-Classic.

+ *

Default: If the Region supports EC2-Classic, the default is standard. Otherwise, the default + * is vpc.

*/ - AssociationId?: string; + Domain?: DomainType | string; /** - *

The current state of the target network association.

+ *

[EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

*/ - Status?: AssociationStatus; -} + Address?: string; -export namespace AssociateClientVpnTargetNetworkResult { /** - * @internal + *

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.

*/ - export const filterSensitiveLog = (obj: AssociateClientVpnTargetNetworkResult): any => ({ - ...obj, - }); -} + PublicIpv4Pool?: string; -export interface AssociateDhcpOptionsRequest { /** - *

The ID of the DHCP options set, or default to associate - * no DHCP options with the VPC.

+ *

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services + * 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.

+ * + *

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, + * you receive an InvalidParameterCombination error.

*/ - DhcpOptionsId: string | undefined; + NetworkBorderGroup?: string; /** - *

The ID of the VPC.

+ *

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.

*/ - VpcId: string | undefined; + CustomerOwnedIpv4Pool?: string; /** *

Checks whether you have the required permissions for the action, without actually making the request, @@ -2117,615 +2173,647 @@ export interface AssociateDhcpOptionsRequest { * Otherwise, it is UnauthorizedOperation.

*/ DryRun?: boolean; + + /** + *

The tags to assign to the Elastic IP address.

+ */ + TagSpecifications?: TagSpecification[]; } -export namespace AssociateDhcpOptionsRequest { +export namespace AllocateAddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateDhcpOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: AllocateAddressRequest): any => ({ ...obj, }); } -export interface AssociateEnclaveCertificateIamRoleRequest { +export interface AllocateAddressResult { /** - *

The ARN of the ACM certificate with which to associate the IAM role.

+ *

The Elastic IP address.

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

The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM - * certificate.

+ *

[EC2-VPC] The ID that Amazon Web Services assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

*/ - RoleArn?: string; + AllocationId?: 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 an address pool.

*/ - DryRun?: boolean; -} + PublicIpv4Pool?: string; -export namespace AssociateEnclaveCertificateIamRoleRequest { /** - * @internal + *

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises + * IP addresses.

*/ - export const filterSensitiveLog = (obj: AssociateEnclaveCertificateIamRoleRequest): any => ({ - ...obj, - }); -} + NetworkBorderGroup?: string; -export interface AssociateEnclaveCertificateIamRoleResult { /** - *

The name of the Amazon S3 bucket to which the certificate was uploaded.

+ *

Indicates whether the Elastic IP address is for use with instances in a VPC (vpc) or + * instances in EC2-Classic (standard).

*/ - CertificateS3BucketName?: string; + Domain?: DomainType | string; /** - *

The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The - * object key is formatted as follows: role_arn/certificate_arn.

+ *

The customer-owned IP address.

*/ - CertificateS3ObjectKey?: string; + CustomerOwnedIp?: string; /** - *

The ID of the KMS key used to encrypt the private key of the certificate.

+ *

The ID of the customer-owned address pool.

*/ - EncryptionKmsKeyId?: string; + CustomerOwnedIpv4Pool?: 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; } -export namespace AssociateEnclaveCertificateIamRoleResult { +export namespace AllocateAddressResult { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateEnclaveCertificateIamRoleResult): any => ({ + export const filterSensitiveLog = (obj: AllocateAddressResult): any => ({ ...obj, }); } -/** - *

Describes an IAM instance profile.

- */ -export interface IamInstanceProfileSpecification { +export type AutoPlacement = "off" | "on"; + +export type HostRecovery = "off" | "on"; + +export interface AllocateHostsRequest { /** - *

The Amazon Resource Name (ARN) of the instance profile.

+ *

Indicates whether the host accepts any untargeted instance launches that + * match its instance type configuration, or if it only accepts Host tenancy + * instance launches that specify its unique host ID. For more information, + * see + * Understanding auto-placement and affinity in the Amazon EC2 User Guide.

+ * + *

Default: on + *

*/ - Arn?: string; + AutoPlacement?: AutoPlacement | string; /** - *

The name of the instance profile.

+ *

The Availability Zone in which to allocate the Dedicated Host.

*/ - Name?: string; -} + AvailabilityZone: string | undefined; -export namespace IamInstanceProfileSpecification { /** - * @internal + *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

*/ - export const filterSensitiveLog = (obj: IamInstanceProfileSpecification): any => ({ - ...obj, - }); -} + ClientToken?: string; -export interface AssociateIamInstanceProfileRequest { /** - *

The IAM instance profile.

+ *

Specifies the instance type to be supported by the Dedicated Hosts. If you + * specify an instance type, the Dedicated Hosts support instances of the + * specified instance type only.

+ * + *

If you want the Dedicated Hosts to support multiple instance types in a specific + * instance family, omit this parameter and specify InstanceFamily + * instead. You cannot specify InstanceType and + * InstanceFamily in the same request.

*/ - IamInstanceProfile: IamInstanceProfileSpecification | undefined; + InstanceType?: string; /** - *

The ID of the instance.

+ *

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 + * instance family.

+ * + *

If you want the Dedicated Hosts to support a specific instance type only, omit this + * parameter and specify InstanceType + * instead. You cannot specify InstanceFamily and + * InstanceType in the same request.

*/ - InstanceId: string | undefined; + 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.

+ */ + TagSpecifications?: TagSpecification[]; + + /** + *

Indicates whether to enable or disable host recovery for the Dedicated Host. + * Host recovery is disabled by default. For more information, see + * + * Host recovery in the Amazon EC2 User Guide.

+ *

Default: off + *

+ */ + HostRecovery?: HostRecovery | string; } -export namespace AssociateIamInstanceProfileRequest { +export namespace AllocateHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateIamInstanceProfileRequest): any => ({ + export const filterSensitiveLog = (obj: AllocateHostsRequest): any => ({ ...obj, }); } /** - *

Describes an IAM instance profile.

+ *

Contains the output of AllocateHosts.

*/ -export interface IamInstanceProfile { - /** - *

The Amazon Resource Name (ARN) of the instance profile.

- */ - Arn?: string; - +export interface AllocateHostsResult { /** - *

The ID of the instance profile.

+ *

The ID of the allocated Dedicated Host. This is used to launch an instance onto a + * specific host.

*/ - Id?: string; + HostIds?: string[]; } -export namespace IamInstanceProfile { +export namespace AllocateHostsResult { /** * @internal */ - export const filterSensitiveLog = (obj: IamInstanceProfile): any => ({ + export const filterSensitiveLog = (obj: AllocateHostsResult): any => ({ ...obj, }); } -export enum IamInstanceProfileAssociationState { - ASSOCIATED = "associated", - ASSOCIATING = "associating", - DISASSOCIATED = "disassociated", - DISASSOCIATING = "disassociating", -} +export interface AllocateIpamPoolCidrRequest { + /** + *

A check for whether you have the required permissions for the action without 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 an association between an IAM instance profile and an instance.

- */ -export interface IamInstanceProfileAssociation { /** - *

The ID of the association.

+ *

The ID of the IPAM pool from which you would like to allocate a CIDR.

*/ - AssociationId?: string; + IpamPoolId: string | undefined; /** - *

The ID of the instance.

+ *

The CIDR you would like to allocate from the IPAM pool. Note the following:

+ *
    + *
  • + *

    If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

    + *
  • + *
  • + *

    If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

    + *
  • + *
+ *

Possible values: Any available IPv4 or IPv6 CIDR.

*/ - InstanceId?: string; + Cidr?: string; /** - *

The IAM instance profile.

+ *

The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:

+ *
    + *
  • + *

    If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

    + *
  • + *
  • + *

    If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

    + *
  • + *
+ *

Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

*/ - IamInstanceProfile?: IamInstanceProfile; + NetmaskLength?: number; /** - *

The state of the association.

+ *

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

*/ - State?: IamInstanceProfileAssociationState | string; + ClientToken?: string; /** - *

The time the IAM instance profile was associated with the instance.

+ *

A description for the allocation.

*/ - Timestamp?: Date; -} + Description?: string; -export namespace IamInstanceProfileAssociation { /** - * @internal + *

A preview of the next available CIDR in a pool.

*/ - export const filterSensitiveLog = (obj: IamInstanceProfileAssociation): any => ({ - ...obj, - }); -} + PreviewNextCidr?: boolean; -export interface AssociateIamInstanceProfileResult { /** - *

Information about the IAM instance profile association.

+ *

Exclude a particular CIDR range from being returned by the pool.

*/ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; + DisallowedCidrs?: string[]; } -export namespace AssociateIamInstanceProfileResult { +export namespace AllocateIpamPoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateIamInstanceProfileResult): any => ({ + export const filterSensitiveLog = (obj: AllocateIpamPoolCidrRequest): any => ({ ...obj, }); } +export enum IpamPoolAllocationResourceType { + custom = "custom", + ec2_public_ipv4_pool = "ec2-public-ipv4-pool", + ipam_pool = "ipam-pool", + vpc = "vpc", +} + /** - *

One or more targets associated with the specified event window. Only one - * type of target (instance ID, instance tag, or Dedicated Host ID) - * can be associated with an event window.

+ *

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool.

*/ -export interface InstanceEventWindowAssociationRequest { +export interface IpamPoolAllocation { /** - *

The IDs of the instances to associate with the event window. If the instance is on a - * Dedicated Host, you can't specify the Instance ID parameter; you must use the Dedicated - * Host ID parameter.

+ *

The CIDR for the allocation. A CIDR is a representation of an IP address and its associated network mask (or netmask) and + * refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

*/ - InstanceIds?: string[]; + Cidr?: string; /** - *

The instance tags to associate with the event window. Any instances associated with the - * tags will be associated with the event window.

+ *

The ID of an allocation.

*/ - InstanceTags?: Tag[]; + IpamPoolAllocationId?: string; /** - *

The IDs of the Dedicated Hosts to associate with the event window.

+ *

A description of the pool allocation.

*/ - DedicatedHostIds?: string[]; -} + Description?: string; -export namespace InstanceEventWindowAssociationRequest { /** - * @internal + *

The ID of the resource.

*/ - export const filterSensitiveLog = (obj: InstanceEventWindowAssociationRequest): any => ({ - ...obj, - }); -} + ResourceId?: string; -export interface AssociateInstanceEventWindowRequest { /** - *

Checks whether you have the required permissions for the action, without 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 the resource.

*/ - DryRun?: boolean; + ResourceType?: IpamPoolAllocationResourceType | string; /** - *

The ID of the event window.

+ *

The Amazon Web Services Region of the resource.

*/ - InstanceEventWindowId: string | undefined; + ResourceRegion?: string; /** - *

One or more targets associated with the specified event window.

+ *

The owner of the resource.

*/ - AssociationTarget: InstanceEventWindowAssociationRequest | undefined; + ResourceOwner?: string; } -export namespace AssociateInstanceEventWindowRequest { +export namespace IpamPoolAllocation { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: IpamPoolAllocation): any => ({ ...obj, }); } -/** - *

One or more targets associated with the event window.

- */ -export interface InstanceEventWindowAssociationTarget { - /** - *

The IDs of the instances associated with the event window.

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

The instance tags associated with the event window. Any instances associated with the tags - * will be associated with the event window.

- */ - Tags?: Tag[]; - +export interface AllocateIpamPoolCidrResult { /** - *

The IDs of the Dedicated Hosts associated with the event window.

+ *

Information about the allocation created.

*/ - DedicatedHostIds?: string[]; + IpamPoolAllocation?: IpamPoolAllocation; } -export namespace InstanceEventWindowAssociationTarget { +export namespace AllocateIpamPoolCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceEventWindowAssociationTarget): any => ({ + export const filterSensitiveLog = (obj: AllocateIpamPoolCidrResult): any => ({ ...obj, }); } -export enum InstanceEventWindowState { - active = "active", - creating = "creating", - deleted = "deleted", - deleting = "deleting", -} - -export enum WeekDay { - friday = "friday", - monday = "monday", - saturday = "saturday", - sunday = "sunday", - thursday = "thursday", - tuesday = "tuesday", - wednesday = "wednesday", +export type AllocationState = + | "available" + | "pending" + | "permanent-failure" + | "released" + | "released-permanent-failure" + | "under-assessment"; + +export enum AllocationStrategy { + CAPACITY_OPTIMIZED = "capacityOptimized", + CAPACITY_OPTIMIZED_PRIORITIZED = "capacityOptimizedPrioritized", + DIVERSIFIED = "diversified", + LOWEST_PRICE = "lowestPrice", +} + +export enum PrincipalType { + Account = "Account", + All = "All", + OrganizationUnit = "OrganizationUnit", + Role = "Role", + Service = "Service", + User = "User", } /** - *

The start day and time and the end day and time of the time range, in UTC.

+ *

Describes a principal.

*/ -export interface InstanceEventWindowTimeRange { - /** - *

The day on which the time range begins.

- */ - StartWeekDay?: WeekDay | string; - - /** - *

The hour when the time range begins.

- */ - StartHour?: number; - +export interface AllowedPrincipal { /** - *

The day on which the time range ends.

+ *

The type of principal.

*/ - EndWeekDay?: WeekDay | string; + PrincipalType?: PrincipalType | string; /** - *

The hour when the time range ends.

+ *

The Amazon Resource Name (ARN) of the principal.

*/ - EndHour?: number; + Principal?: string; } -export namespace InstanceEventWindowTimeRange { +export namespace AllowedPrincipal { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceEventWindowTimeRange): any => ({ + export const filterSensitiveLog = (obj: AllowedPrincipal): any => ({ ...obj, }); } +export type AllowsMultipleInstanceTypes = "off" | "on"; + /** - *

The event window.

+ *

Describes an potential intermediate component of a feasible path.

*/ -export interface InstanceEventWindow { +export interface AlternatePathHint { /** - *

The ID of the event window.

+ *

The ID of the component.

*/ - InstanceEventWindowId?: string; + ComponentId?: string; /** - *

One or more time ranges defined for the event window.

+ *

The Amazon Resource Name (ARN) of the component.

*/ - TimeRanges?: InstanceEventWindowTimeRange[]; + ComponentArn?: string; +} +export namespace AlternatePathHint { /** - *

The name of the event window.

+ * @internal */ - Name?: string; + export const filterSensitiveLog = (obj: AlternatePathHint): any => ({ + ...obj, + }); +} +export interface ApplySecurityGroupsToClientVpnTargetNetworkRequest { /** - *

The cron expression defined for the event window.

+ *

The ID of the Client VPN endpoint.

*/ - CronExpression?: string; + ClientVpnEndpointId: string | undefined; /** - *

One or more targets associated with the event window.

+ *

The ID of the VPC in which the associated target network is located.

*/ - AssociationTarget?: InstanceEventWindowAssociationTarget; + VpcId: string | undefined; /** - *

The current state of the event window.

+ *

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can + * be applied to an associated target network.

*/ - State?: InstanceEventWindowState | string; + SecurityGroupIds: string[] | undefined; /** - *

The instance tags associated with the event window.

+ *

Checks whether you have the required permissions for the action, without 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; } -export namespace InstanceEventWindow { +export namespace ApplySecurityGroupsToClientVpnTargetNetworkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceEventWindow): any => ({ + export const filterSensitiveLog = (obj: ApplySecurityGroupsToClientVpnTargetNetworkRequest): any => ({ ...obj, }); } -export interface AssociateInstanceEventWindowResult { +export interface ApplySecurityGroupsToClientVpnTargetNetworkResult { /** - *

Information about the event window.

+ *

The IDs of the applied security groups.

*/ - InstanceEventWindow?: InstanceEventWindow; + SecurityGroupIds?: string[]; } -export namespace AssociateInstanceEventWindowResult { +export namespace ApplySecurityGroupsToClientVpnTargetNetworkResult { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateInstanceEventWindowResult): any => ({ + export const filterSensitiveLog = (obj: ApplySecurityGroupsToClientVpnTargetNetworkResult): any => ({ ...obj, }); } -export interface AssociateRouteTableRequest { +export interface AssignIpv6AddressesRequest { /** - *

Checks whether you have the required permissions for the action, without 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 additional IPv6 addresses to assign to the network interface. + * The specified number of IPv6 addresses are assigned in addition to the + * existing IPv6 addresses that are already assigned 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.

*/ - DryRun?: boolean; + Ipv6AddressCount?: number; /** - *

The ID of the route table.

+ *

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.

*/ - RouteTableId: string | undefined; + Ipv6Addresses?: string[]; /** - *

The ID of the subnet.

+ *

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the + * network interface. You cannot use this option if you use the Ipv6Prefixes + * option.

*/ - SubnetId?: string; + Ipv6PrefixCount?: number; /** - *

The ID of the internet gateway or virtual private gateway.

+ *

One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

*/ - GatewayId?: string; + Ipv6Prefixes?: string[]; + + /** + *

The ID of the network interface.

+ */ + NetworkInterfaceId: string | undefined; } -export namespace AssociateRouteTableRequest { +export namespace AssignIpv6AddressesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: AssignIpv6AddressesRequest): any => ({ ...obj, }); } -export type RouteTableAssociationStateCode = - | "associated" - | "associating" - | "disassociated" - | "disassociating" - | "failed"; +export interface AssignIpv6AddressesResult { + /** + *

The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses + * that were assigned to the network interface before the request are not included.

+ */ + AssignedIpv6Addresses?: string[]; -/** - *

Describes the state of an association between a route table and a subnet or gateway.

- */ -export interface RouteTableAssociationState { /** - *

The state of the association.

+ *

The IPv6 prefixes that are assigned to the network interface.

*/ - State?: RouteTableAssociationStateCode | string; + AssignedIpv6Prefixes?: string[]; /** - *

The status message, if applicable.

+ *

The ID of the network interface.

*/ - StatusMessage?: string; + NetworkInterfaceId?: string; } -export namespace RouteTableAssociationState { +export namespace AssignIpv6AddressesResult { /** * @internal */ - export const filterSensitiveLog = (obj: RouteTableAssociationState): any => ({ + export const filterSensitiveLog = (obj: AssignIpv6AddressesResult): any => ({ ...obj, }); } -export interface AssociateRouteTableResult { +/** + *

Contains the parameters for AssignPrivateIpAddresses.

+ */ +export interface AssignPrivateIpAddressesRequest { /** - *

The route table association ID. This ID is required for disassociating the route - * table.

+ *

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.

*/ - AssociationId?: string; + AllowReassignment?: boolean; /** - *

The state of the association.

+ *

The ID of the network interface.

*/ - AssociationState?: RouteTableAssociationState; -} + NetworkInterfaceId: string | undefined; -export namespace AssociateRouteTableResult { /** - * @internal + *

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.

*/ - export const filterSensitiveLog = (obj: AssociateRouteTableResult): any => ({ - ...obj, - }); -} + PrivateIpAddresses?: string[]; -export interface AssociateSubnetCidrBlockRequest { /** - *

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix - * length.

+ *

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

*/ - Ipv6CidrBlock: string | undefined; + SecondaryPrivateIpAddressCount?: number; /** - *

The ID of your subnet.

+ *

One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

*/ - SubnetId: string | undefined; + Ipv4Prefixes?: string[]; + + /** + *

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

+ */ + Ipv4PrefixCount?: number; } -export namespace AssociateSubnetCidrBlockRequest { +export namespace AssignPrivateIpAddressesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateSubnetCidrBlockRequest): any => ({ + export const filterSensitiveLog = (obj: AssignPrivateIpAddressesRequest): any => ({ ...obj, }); } -export type SubnetCidrBlockStateCode = - | "associated" - | "associating" - | "disassociated" - | "disassociating" - | "failed" - | "failing"; - /** - *

Describes the state of a CIDR block.

+ *

Describes an IPv4 prefix.

*/ -export interface SubnetCidrBlockState { - /** - *

The state of a CIDR block.

- */ - State?: SubnetCidrBlockStateCode | string; - +export interface Ipv4PrefixSpecification { /** - *

A message about the status of the CIDR block, if applicable.

+ *

The IPv4 prefix. For information, see + * Assigning prefixes to Amazon EC2 network interfaces in the + * Amazon Elastic Compute Cloud User Guide.

*/ - StatusMessage?: string; + Ipv4Prefix?: string; } -export namespace SubnetCidrBlockState { +export namespace Ipv4PrefixSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: SubnetCidrBlockState): any => ({ + export const filterSensitiveLog = (obj: Ipv4PrefixSpecification): any => ({ ...obj, }); } /** - *

Describes an association between a subnet and an IPv6 CIDR block.

+ *

Describes the private IP addresses assigned to a network interface.

*/ -export interface SubnetIpv6CidrBlockAssociation { +export interface AssignedPrivateIpAddress { /** - *

The ID of the association.

+ *

The private IP address assigned to the network interface.

*/ - AssociationId?: string; + PrivateIpAddress?: string; +} +export namespace AssignedPrivateIpAddress { /** - *

The IPv6 CIDR block.

+ * @internal */ - Ipv6CidrBlock?: string; + export const filterSensitiveLog = (obj: AssignedPrivateIpAddress): any => ({ + ...obj, + }); +} +export interface AssignPrivateIpAddressesResult { /** - *

The state of the CIDR block.

- */ - Ipv6CidrBlockState?: SubnetCidrBlockState; -} - -export namespace SubnetIpv6CidrBlockAssociation { - /** - * @internal + *

The ID of the network interface.

*/ - export const filterSensitiveLog = (obj: SubnetIpv6CidrBlockAssociation): any => ({ - ...obj, - }); -} + NetworkInterfaceId?: string; -export interface AssociateSubnetCidrBlockResult { /** - *

Information about the IPv6 association.

+ *

The private IP addresses assigned to the network interface.

*/ - Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; + AssignedPrivateIpAddresses?: AssignedPrivateIpAddress[]; /** - *

The ID of the subnet.

+ *

The IPv4 prefixes that are assigned to the network interface.

*/ - SubnetId?: string; + AssignedIpv4Prefixes?: Ipv4PrefixSpecification[]; } -export namespace AssociateSubnetCidrBlockResult { +export namespace AssignPrivateIpAddressesResult { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateSubnetCidrBlockResult): any => ({ + export const filterSensitiveLog = (obj: AssignPrivateIpAddressesResult): any => ({ ...obj, }); } -export interface AssociateTransitGatewayMulticastDomainRequest { +export interface AssociateAddressRequest { /** - *

The ID of the transit gateway multicast domain.

+ *

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

*/ - TransitGatewayMulticastDomainId?: string; + AllocationId?: string; /** - *

The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

+ *

The ID of the instance. The instance must have exactly one attached network interface. + * For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. + * For EC2-Classic, you must specify an instance ID and the instance must be in the running + * state.

*/ - TransitGatewayAttachmentId?: string; + InstanceId?: string; /** - *

The IDs of the subnets to associate with the transit gateway multicast domain.

+ *

[EC2-Classic] The Elastic IP address to associate with the instance. This is required for + * EC2-Classic.

*/ - SubnetIds?: string[]; + PublicIp?: string; + + /** + *

[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; /** *

Checks whether you have the required permissions for the action, without actually making the request, @@ -2733,145 +2821,138 @@ export interface AssociateTransitGatewayMulticastDomainRequest { * Otherwise, it is UnauthorizedOperation.

*/ DryRun?: boolean; -} -export namespace AssociateTransitGatewayMulticastDomainRequest { /** - * @internal + *

[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.

*/ - export const filterSensitiveLog = (obj: AssociateTransitGatewayMulticastDomainRequest): any => ({ - ...obj, - }); -} + NetworkInterfaceId?: string; -export interface AssociateTransitGatewayMulticastDomainResult { /** - *

Information about the transit gateway multicast domain associations.

+ *

[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.

*/ - Associations?: TransitGatewayMulticastDomainAssociations; + PrivateIpAddress?: string; } -export namespace AssociateTransitGatewayMulticastDomainResult { +export namespace AssociateAddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: AssociateAddressRequest): any => ({ ...obj, }); } -export interface AssociateTransitGatewayRouteTableRequest { - /** - *

The ID of the transit gateway route table.

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

The ID of the attachment.

- */ - TransitGatewayAttachmentId: string | undefined; - +export interface AssociateAddressResult { /** - *

Checks whether you have the required permissions for the action, without 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-VPC] The ID that represents the association of the Elastic IP address with an instance.

*/ - DryRun?: boolean; + AssociationId?: string; } -export namespace AssociateTransitGatewayRouteTableRequest { +export namespace AssociateAddressResult { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: AssociateAddressResult): any => ({ ...obj, }); } -export type TransitGatewayAssociationState = "associated" | "associating" | "disassociated" | "disassociating"; - -/** - *

Describes an association between a resource attachment and a transit gateway route table.

- */ -export interface TransitGatewayAssociation { - /** - *

The ID of the transit gateway route table.

- */ - TransitGatewayRouteTableId?: string; - +export interface AssociateClientVpnTargetNetworkRequest { /** - *

The ID of the attachment.

+ *

The ID of the Client VPN endpoint.

*/ - TransitGatewayAttachmentId?: string; + ClientVpnEndpointId: string | undefined; /** - *

The ID of the resource.

+ *

The ID of the subnet to associate with the Client VPN endpoint.

*/ - ResourceId?: string; + SubnetId: string | undefined; /** - *

The resource type. Note that the tgw-peering resource type has been deprecated.

+ *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ - ResourceType?: TransitGatewayAttachmentResourceType | string; + ClientToken?: string; /** - *

The state of the 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.

*/ - State?: TransitGatewayAssociationState | string; + DryRun?: boolean; } -export namespace TransitGatewayAssociation { +export namespace AssociateClientVpnTargetNetworkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAssociation): any => ({ + export const filterSensitiveLog = (obj: AssociateClientVpnTargetNetworkRequest): any => ({ ...obj, }); } -export interface AssociateTransitGatewayRouteTableResult { +export type AssociationStatusCode = + | "associated" + | "associating" + | "association-failed" + | "disassociated" + | "disassociating"; + +/** + *

Describes the state of a target network association.

+ */ +export interface AssociationStatus { /** - *

The ID of the association.

+ *

The state of the target network association.

*/ - Association?: TransitGatewayAssociation; + Code?: AssociationStatusCode | string; + + /** + *

A message about the status of the target network association, if applicable.

+ */ + Message?: string; } -export namespace AssociateTransitGatewayRouteTableResult { +export namespace AssociationStatus { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateTransitGatewayRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: AssociationStatus): any => ({ ...obj, }); } -export interface AssociateTrunkInterfaceRequest { +export interface AssociateClientVpnTargetNetworkResult { /** - *

The ID of the branch network interface.

+ *

The unique ID of the target network association.

*/ - BranchInterfaceId: string | undefined; + AssociationId?: string; /** - *

The ID of the trunk network interface.

+ *

The current state of the target network association.

*/ - TrunkInterfaceId: string | undefined; + Status?: AssociationStatus; +} +export namespace AssociateClientVpnTargetNetworkResult { /** - *

The ID of the VLAN. This applies to the VLAN protocol.

+ * @internal */ - VlanId?: number; + export const filterSensitiveLog = (obj: AssociateClientVpnTargetNetworkResult): any => ({ + ...obj, + }); +} +export interface AssociateDhcpOptionsRequest { /** - *

The application key. This applies to the GRE protocol.

+ *

The ID of the DHCP options set, or default to associate + * no DHCP options with the VPC.

*/ - GreKey?: number; + DhcpOptionsId: 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 ID of the VPC.

*/ - ClientToken?: string; + VpcId: string | undefined; /** *

Checks whether you have the required permissions for the action, without actually making the request, @@ -2881,4072 +2962,4210 @@ export interface AssociateTrunkInterfaceRequest { DryRun?: boolean; } -export namespace AssociateTrunkInterfaceRequest { +export namespace AssociateDhcpOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateTrunkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: AssociateDhcpOptionsRequest): any => ({ ...obj, }); } -export enum InterfaceProtocolType { - GRE = "GRE", - VLAN = "VLAN", -} - -/** - * - *

Currently available in limited preview only. - * If you are interested in using this feature, contact your account manager.

- * - *

Information about an association between a branch network interface with a trunk network interface.

- */ -export interface TrunkInterfaceAssociation { +export interface AssociateEnclaveCertificateIamRoleRequest { /** - *

The ID of the association.

+ *

The ARN of the ACM certificate with which to associate the IAM role.

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

The ID of the branch network interface.

+ *

The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM + * certificate.

*/ - BranchInterfaceId?: string; + RoleArn?: string; /** - *

The ID of the trunk network interface.

+ *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

*/ - TrunkInterfaceId?: string; + DryRun?: boolean; +} +export namespace AssociateEnclaveCertificateIamRoleRequest { /** - *

The interface protocol. Valid values are VLAN and GRE.

+ * @internal */ - InterfaceProtocol?: InterfaceProtocolType | string; + export const filterSensitiveLog = (obj: AssociateEnclaveCertificateIamRoleRequest): any => ({ + ...obj, + }); +} +export interface AssociateEnclaveCertificateIamRoleResult { /** - *

The ID of the VLAN when you use the VLAN protocol.

+ *

The name of the Amazon S3 bucket to which the certificate was uploaded.

*/ - VlanId?: number; + CertificateS3BucketName?: string; /** - *

The application key when you use the GRE protocol.

+ *

The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The + * object key is formatted as follows: role_arn/certificate_arn.

*/ - GreKey?: number; + CertificateS3ObjectKey?: string; /** - *

The tags for the trunk interface association.

+ *

The ID of the KMS key used to encrypt the private key of the certificate.

*/ - Tags?: Tag[]; + EncryptionKmsKeyId?: string; } -export namespace TrunkInterfaceAssociation { +export namespace AssociateEnclaveCertificateIamRoleResult { /** * @internal */ - export const filterSensitiveLog = (obj: TrunkInterfaceAssociation): any => ({ + export const filterSensitiveLog = (obj: AssociateEnclaveCertificateIamRoleResult): any => ({ ...obj, }); } -export interface AssociateTrunkInterfaceResult { +/** + *

Describes an IAM instance profile.

+ */ +export interface IamInstanceProfileSpecification { /** - *

Information about the association between the trunk network interface and branch network interface.

+ *

The Amazon Resource Name (ARN) of the instance profile.

*/ - InterfaceAssociation?: TrunkInterfaceAssociation; + Arn?: string; /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

+ *

The name of the instance profile.

*/ - ClientToken?: string; + Name?: string; } -export namespace AssociateTrunkInterfaceResult { +export namespace IamInstanceProfileSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateTrunkInterfaceResult): any => ({ + export const filterSensitiveLog = (obj: IamInstanceProfileSpecification): any => ({ ...obj, }); } -export interface AssociateVpcCidrBlockRequest { - /** - *

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.

- */ - AmazonProvidedIpv6CidrBlock?: boolean; - - /** - *

An IPv4 CIDR block to associate with the VPC.

- */ - CidrBlock?: string; - - /** - *

The ID of the VPC.

- */ - 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.

- *

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

- *

You can have one IPv6 CIDR block association per network border group.

- */ - Ipv6CidrBlockNetworkBorderGroup?: string; - +export interface AssociateIamInstanceProfileRequest { /** - *

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

+ *

The IAM instance profile.

*/ - Ipv6Pool?: string; + IamInstanceProfile: IamInstanceProfileSpecification | undefined; /** - *

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.

+ *

The ID of the instance.

*/ - Ipv6CidrBlock?: string; + InstanceId: string | undefined; } -export namespace AssociateVpcCidrBlockRequest { +export namespace AssociateIamInstanceProfileRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateVpcCidrBlockRequest): any => ({ + export const filterSensitiveLog = (obj: AssociateIamInstanceProfileRequest): any => ({ ...obj, }); } -export type VpcCidrBlockStateCode = - | "associated" - | "associating" - | "disassociated" - | "disassociating" - | "failed" - | "failing"; - /** - *

Describes the state of a CIDR block.

+ *

Describes an IAM instance profile.

*/ -export interface VpcCidrBlockState { +export interface IamInstanceProfile { /** - *

The state of the CIDR block.

+ *

The Amazon Resource Name (ARN) of the instance profile.

*/ - State?: VpcCidrBlockStateCode | string; + Arn?: string; /** - *

A message about the status of the CIDR block, if applicable.

+ *

The ID of the instance profile.

*/ - StatusMessage?: string; + Id?: string; } -export namespace VpcCidrBlockState { +export namespace IamInstanceProfile { /** * @internal */ - export const filterSensitiveLog = (obj: VpcCidrBlockState): any => ({ + export const filterSensitiveLog = (obj: IamInstanceProfile): any => ({ ...obj, }); } +export enum IamInstanceProfileAssociationState { + ASSOCIATED = "associated", + ASSOCIATING = "associating", + DISASSOCIATED = "disassociated", + DISASSOCIATING = "disassociating", +} + /** - *

Describes an IPv4 CIDR block associated with a VPC.

+ *

Describes an association between an IAM instance profile and an instance.

*/ -export interface VpcCidrBlockAssociation { +export interface IamInstanceProfileAssociation { /** - *

The association ID for the IPv4 CIDR block.

+ *

The ID of the association.

*/ AssociationId?: string; /** - *

The IPv4 CIDR block.

+ *

The ID of the instance.

*/ - CidrBlock?: string; + InstanceId?: string; /** - *

Information about the state of the CIDR block.

+ *

The IAM instance profile.

*/ - CidrBlockState?: VpcCidrBlockState; + IamInstanceProfile?: IamInstanceProfile; + + /** + *

The state of the association.

+ */ + State?: IamInstanceProfileAssociationState | string; + + /** + *

The time the IAM instance profile was associated with the instance.

+ */ + Timestamp?: Date; } -export namespace VpcCidrBlockAssociation { +export namespace IamInstanceProfileAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: VpcCidrBlockAssociation): any => ({ + export const filterSensitiveLog = (obj: IamInstanceProfileAssociation): any => ({ ...obj, }); } -/** - *

Describes an IPv6 CIDR block associated with a VPC.

- */ -export interface VpcIpv6CidrBlockAssociation { +export interface AssociateIamInstanceProfileResult { /** - *

The association ID for the IPv6 CIDR block.

+ *

Information about the IAM instance profile association.

*/ - AssociationId?: string; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; +} +export namespace AssociateIamInstanceProfileResult { /** - *

The IPv6 CIDR block.

+ * @internal */ - Ipv6CidrBlock?: string; + export const filterSensitiveLog = (obj: AssociateIamInstanceProfileResult): any => ({ + ...obj, + }); +} +/** + *

One or more targets associated with the specified event window. Only one + * type of target (instance ID, instance tag, or Dedicated Host ID) + * can be associated with an event window.

+ */ +export interface InstanceEventWindowAssociationRequest { /** - *

Information about the state of the CIDR block.

+ *

The IDs of the instances to associate with the event window. If the instance is on a + * Dedicated Host, you can't specify the Instance ID parameter; you must use the Dedicated + * Host ID parameter.

*/ - Ipv6CidrBlockState?: VpcCidrBlockState; + InstanceIds?: string[]; /** - *

The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from - * which Amazon Web Services advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1.

+ *

The instance tags to associate with the event window. Any instances associated with the + * tags will be associated with the event window.

*/ - NetworkBorderGroup?: string; + InstanceTags?: Tag[]; /** - *

The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

+ *

The IDs of the Dedicated Hosts to associate with the event window.

*/ - Ipv6Pool?: string; + DedicatedHostIds?: string[]; } -export namespace VpcIpv6CidrBlockAssociation { +export namespace InstanceEventWindowAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VpcIpv6CidrBlockAssociation): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindowAssociationRequest): any => ({ ...obj, }); } -export interface AssociateVpcCidrBlockResult { +export interface AssociateInstanceEventWindowRequest { /** - *

Information about the IPv6 CIDR block 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.

*/ - Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; + DryRun?: boolean; /** - *

Information about the IPv4 CIDR block association.

+ *

The ID of the event window.

*/ - CidrBlockAssociation?: VpcCidrBlockAssociation; + InstanceEventWindowId: string | undefined; /** - *

The ID of the VPC.

+ *

One or more targets associated with the specified event window.

*/ - VpcId?: string; + AssociationTarget: InstanceEventWindowAssociationRequest | undefined; } -export namespace AssociateVpcCidrBlockResult { +export namespace AssociateInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociateVpcCidrBlockResult): any => ({ + export const filterSensitiveLog = (obj: AssociateInstanceEventWindowRequest): any => ({ ...obj, }); } -export interface AttachClassicLinkVpcRequest { - /** - *

Checks whether you have the required permissions for the action, without 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 targets associated with the event window.

+ */ +export interface InstanceEventWindowAssociationTarget { /** - *

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

+ *

The IDs of the instances associated with the event window.

*/ - Groups: string[] | undefined; + InstanceIds?: string[]; /** - *

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

+ *

The instance tags associated with the event window. Any instances associated with the tags + * will be associated with the event window.

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

The ID of a ClassicLink-enabled VPC.

+ *

The IDs of the Dedicated Hosts associated with the event window.

*/ - VpcId: string | undefined; + DedicatedHostIds?: string[]; } -export namespace AttachClassicLinkVpcRequest { +export namespace InstanceEventWindowAssociationTarget { /** * @internal */ - export const filterSensitiveLog = (obj: AttachClassicLinkVpcRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindowAssociationTarget): any => ({ ...obj, }); } -export interface AttachClassicLinkVpcResult { - /** - *

Returns true if the request succeeds; otherwise, it returns an error.

- */ - Return?: boolean; +export enum InstanceEventWindowState { + active = "active", + creating = "creating", + deleted = "deleted", + deleting = "deleting", } -export namespace AttachClassicLinkVpcResult { +export enum WeekDay { + friday = "friday", + monday = "monday", + saturday = "saturday", + sunday = "sunday", + thursday = "thursday", + tuesday = "tuesday", + wednesday = "wednesday", +} + +/** + *

The start day and time and the end day and time of the time range, in UTC.

+ */ +export interface InstanceEventWindowTimeRange { /** - * @internal + *

The day on which the time range begins.

*/ - export const filterSensitiveLog = (obj: AttachClassicLinkVpcResult): any => ({ - ...obj, - }); -} + StartWeekDay?: WeekDay | string; -export interface AttachInternetGatewayRequest { /** - *

Checks whether you have the required permissions for the action, without 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 hour when the time range begins.

*/ - DryRun?: boolean; + StartHour?: number; /** - *

The ID of the internet gateway.

+ *

The day on which the time range ends.

*/ - InternetGatewayId: string | undefined; + EndWeekDay?: WeekDay | string; /** - *

The ID of the VPC.

+ *

The hour when the time range ends.

*/ - VpcId: string | undefined; + EndHour?: number; } -export namespace AttachInternetGatewayRequest { +export namespace InstanceEventWindowTimeRange { /** * @internal */ - export const filterSensitiveLog = (obj: AttachInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindowTimeRange): any => ({ ...obj, }); } /** - *

Contains the parameters for AttachNetworkInterface.

+ *

The event window.

*/ -export interface AttachNetworkInterfaceRequest { +export interface InstanceEventWindow { /** - *

The index of the device for the network interface attachment.

+ *

The ID of the event window.

*/ - DeviceIndex: number | undefined; + InstanceEventWindowId?: 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.

+ *

One or more time ranges defined for the event window.

*/ - DryRun?: boolean; + TimeRanges?: InstanceEventWindowTimeRange[]; /** - *

The ID of the instance.

+ *

The name of the event window.

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

The ID of the network interface.

+ *

The cron expression defined for the event window.

*/ - NetworkInterfaceId: string | undefined; + CronExpression?: string; /** - *

The index of the network card. Some instance types support multiple network cards. - * The primary network interface must be assigned to network card index 0. - * The default is network card index 0.

+ *

One or more targets associated with the event window.

*/ - NetworkCardIndex?: number; + AssociationTarget?: InstanceEventWindowAssociationTarget; + + /** + *

The current state of the event window.

+ */ + State?: InstanceEventWindowState | string; + + /** + *

The instance tags associated with the event window.

+ */ + Tags?: Tag[]; } -export namespace AttachNetworkInterfaceRequest { +export namespace InstanceEventWindow { /** * @internal */ - export const filterSensitiveLog = (obj: AttachNetworkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindow): any => ({ ...obj, }); } -/** - *

Contains the output of AttachNetworkInterface.

- */ -export interface AttachNetworkInterfaceResult { - /** - *

The ID of the network interface attachment.

- */ - AttachmentId?: string; - +export interface AssociateInstanceEventWindowResult { /** - *

The index of the network card.

+ *

Information about the event window.

*/ - NetworkCardIndex?: number; + InstanceEventWindow?: InstanceEventWindow; } -export namespace AttachNetworkInterfaceResult { +export namespace AssociateInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: AttachNetworkInterfaceResult): any => ({ + export const filterSensitiveLog = (obj: AssociateInstanceEventWindowResult): any => ({ ...obj, }); } -export interface AttachVolumeRequest { +export interface AssociateRouteTableRequest { /** - *

The device name (for example, /dev/sdh or xvdh).

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - Device: string | undefined; + DryRun?: boolean; /** - *

The ID of the instance.

+ *

The ID of the route table.

*/ - InstanceId: string | undefined; + RouteTableId: string | undefined; /** - *

The ID of the EBS volume. The volume and instance must be within the same Availability - * Zone.

+ *

The ID of the subnet.

*/ - VolumeId: string | undefined; + SubnetId?: 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 internet gateway or virtual private gateway.

*/ - DryRun?: boolean; + GatewayId?: string; } -export namespace AttachVolumeRequest { +export namespace AssociateRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AttachVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: AssociateRouteTableRequest): any => ({ ...obj, }); } -export type VolumeAttachmentState = "attached" | "attaching" | "busy" | "detached" | "detaching"; +export type RouteTableAssociationStateCode = + | "associated" + | "associating" + | "disassociated" + | "disassociating" + | "failed"; /** - *

Describes volume attachment details.

+ *

Describes the state of an association between a route table and a subnet or gateway.

*/ -export interface VolumeAttachment { - /** - *

The time stamp when the attachment initiated.

- */ - AttachTime?: Date; - +export interface RouteTableAssociationState { /** - *

The device name.

+ *

The state of the association.

*/ - Device?: string; + State?: RouteTableAssociationStateCode | string; /** - *

The ID of the instance.

+ *

The status message, if applicable.

*/ - InstanceId?: string; + StatusMessage?: string; +} +export namespace RouteTableAssociationState { /** - *

The attachment state of the volume.

+ * @internal */ - State?: VolumeAttachmentState | string; + export const filterSensitiveLog = (obj: RouteTableAssociationState): any => ({ + ...obj, + }); +} +export interface AssociateRouteTableResult { /** - *

The ID of the volume.

+ *

The route table association ID. This ID is required for disassociating the route + * table.

*/ - VolumeId?: string; + AssociationId?: string; /** - *

Indicates whether the EBS volume is deleted on instance termination.

+ *

The state of the association.

*/ - DeleteOnTermination?: boolean; + AssociationState?: RouteTableAssociationState; } -export namespace VolumeAttachment { +export namespace AssociateRouteTableResult { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeAttachment): any => ({ + export const filterSensitiveLog = (obj: AssociateRouteTableResult): any => ({ ...obj, }); } -/** - *

Contains the parameters for AttachVpnGateway.

- */ -export interface AttachVpnGatewayRequest { - /** - *

The ID of the VPC.

- */ - VpcId: string | undefined; - +export interface AssociateSubnetCidrBlockRequest { /** - *

The ID of the virtual private gateway.

+ *

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix + * length.

*/ - VpnGatewayId: string | undefined; + Ipv6CidrBlock: 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 your subnet.

*/ - DryRun?: boolean; + SubnetId: string | undefined; } -export namespace AttachVpnGatewayRequest { +export namespace AssociateSubnetCidrBlockRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AttachVpnGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: AssociateSubnetCidrBlockRequest): any => ({ ...obj, }); } -export type AttachmentStatus = "attached" | "attaching" | "detached" | "detaching"; +export type SubnetCidrBlockStateCode = + | "associated" + | "associating" + | "disassociated" + | "disassociating" + | "failed" + | "failing"; /** - *

Describes an attachment between a virtual private gateway and a VPC.

+ *

Describes the state of a CIDR block.

*/ -export interface VpcAttachment { +export interface SubnetCidrBlockState { /** - *

The current state of the attachment.

+ *

The state of a CIDR block.

*/ - State?: AttachmentStatus | string; + State?: SubnetCidrBlockStateCode | string; /** - *

The ID of the VPC.

+ *

A message about the status of the CIDR block, if applicable.

*/ - VpcId?: string; + StatusMessage?: string; } -export namespace VpcAttachment { +export namespace SubnetCidrBlockState { /** * @internal */ - export const filterSensitiveLog = (obj: VpcAttachment): any => ({ + export const filterSensitiveLog = (obj: SubnetCidrBlockState): any => ({ ...obj, }); } /** - *

Contains the output of AttachVpnGateway.

+ *

Describes an association between a subnet and an IPv6 CIDR block.

*/ -export interface AttachVpnGatewayResult { +export interface SubnetIpv6CidrBlockAssociation { /** - *

Information about the attachment.

+ *

The ID of the association.

*/ - VpcAttachment?: VpcAttachment; + AssociationId?: string; + + /** + *

The IPv6 CIDR block.

+ */ + Ipv6CidrBlock?: string; + + /** + *

The state of the CIDR block.

+ */ + Ipv6CidrBlockState?: SubnetCidrBlockState; } -export namespace AttachVpnGatewayResult { +export namespace SubnetIpv6CidrBlockAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: AttachVpnGatewayResult): any => ({ + export const filterSensitiveLog = (obj: SubnetIpv6CidrBlockAssociation): any => ({ ...obj, }); } -export interface AuthorizeClientVpnIngressRequest { +export interface AssociateSubnetCidrBlockResult { /** - *

The ID of the Client VPN endpoint.

+ *

Information about the IPv6 association.

*/ - ClientVpnEndpointId: string | undefined; + Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; /** - *

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

+ *

The ID of the subnet.

*/ - TargetNetworkCidr: string | undefined; + SubnetId?: string; +} +export namespace AssociateSubnetCidrBlockResult { /** - *

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.

+ * @internal */ - AccessGroupId?: string; + export const filterSensitiveLog = (obj: AssociateSubnetCidrBlockResult): any => ({ + ...obj, + }); +} +export interface AssociateTransitGatewayMulticastDomainRequest { /** - *

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 transit gateway multicast domain.

*/ - AuthorizeAllGroups?: boolean; + TransitGatewayMulticastDomainId?: string; /** - *

A brief description of the authorization rule.

+ *

The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+ *

The IDs of the subnets to associate with the transit gateway multicast domain.

*/ - ClientToken?: string; + SubnetIds?: 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.

+ *

Checks whether you have the required permissions for the action, without 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 AuthorizeClientVpnIngressRequest { +export namespace AssociateTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizeClientVpnIngressRequest): any => ({ + export const filterSensitiveLog = (obj: AssociateTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -export type ClientVpnAuthorizationRuleStatusCode = "active" | "authorizing" | "failed" | "revoking"; - -/** - *

Describes the state of an authorization rule.

- */ -export interface ClientVpnAuthorizationRuleStatus { - /** - *

The state of the authorization rule.

- */ - Code?: ClientVpnAuthorizationRuleStatusCode | string; - +export interface AssociateTransitGatewayMulticastDomainResult { /** - *

A message about the status of the authorization rule, if applicable.

+ *

Information about the transit gateway multicast domain associations.

*/ - Message?: string; + Associations?: TransitGatewayMulticastDomainAssociations; } -export namespace ClientVpnAuthorizationRuleStatus { +export namespace AssociateTransitGatewayMulticastDomainResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnAuthorizationRuleStatus): any => ({ + export const filterSensitiveLog = (obj: AssociateTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -export interface AuthorizeClientVpnIngressResult { +export interface AssociateTransitGatewayRouteTableRequest { /** - *

The current state of the authorization rule.

+ *

The ID of the transit gateway route table.

*/ - Status?: ClientVpnAuthorizationRuleStatus; + TransitGatewayRouteTableId: string | undefined; + + /** + *

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 AuthorizeClientVpnIngressResult { +export namespace AssociateTransitGatewayRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizeClientVpnIngressResult): any => ({ + export const filterSensitiveLog = (obj: AssociateTransitGatewayRouteTableRequest): any => ({ ...obj, }); } +export type TransitGatewayAssociationState = "associated" | "associating" | "disassociated" | "disassociating"; + /** - *

Describes an IPv4 range.

+ *

Describes an association between a resource attachment and a transit gateway route table.

*/ -export interface IpRange { +export interface TransitGatewayAssociation { /** - *

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, - * not both. To specify a single IPv4 address, use the /32 prefix length.

+ *

The ID of the transit gateway route table.

*/ - CidrIp?: string; + TransitGatewayRouteTableId?: string; /** - *

A description for the security group rule that references this IPv4 address range.

- *

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, - * spaces, and ._-:/()#,@[]+=&;{}!$*

+ *

The ID of the attachment.

*/ - Description?: string; -} + TransitGatewayAttachmentId?: string; -export namespace IpRange { /** - * @internal + *

The ID of the resource.

*/ - export const filterSensitiveLog = (obj: IpRange): any => ({ - ...obj, - }); -} + ResourceId?: string; -/** - *

[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.

+ *

The resource type. Note that the tgw-peering resource type has been deprecated.

*/ - CidrIpv6?: string; + ResourceType?: TransitGatewayAttachmentResourceType | 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 ._-:/()#,@[]+=&;{}!$*

+ *

The state of the association.

*/ - Description?: string; + State?: TransitGatewayAssociationState | string; } -export namespace Ipv6Range { +export namespace TransitGatewayAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6Range): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAssociation): any => ({ ...obj, }); } -/** - *

Describes a prefix list ID.

- */ -export interface PrefixListId { - /** - *

A description for the security group rule that references this prefix list ID.

- *

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, - * spaces, and ._-:/()#,@[]+=;{}!$*

- */ - Description?: string; - +export interface AssociateTransitGatewayRouteTableResult { /** - *

The ID of the prefix.

+ *

The ID of the association.

*/ - PrefixListId?: string; + Association?: TransitGatewayAssociation; } -export namespace PrefixListId { +export namespace AssociateTransitGatewayRouteTableResult { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListId): any => ({ + export const filterSensitiveLog = (obj: AssociateTransitGatewayRouteTableResult): any => ({ ...obj, }); } -/** - *

Describes a security group and Amazon Web Services account ID pair.

- */ -export interface UserIdGroupPair { - /** - *

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 ._-:/()#,@[]+=;{}!$*

- */ - Description?: string; - +export interface AssociateTrunkInterfaceRequest { /** - *

The ID of the security group.

+ *

The ID of the branch network interface.

*/ - GroupId?: string; + BranchInterfaceId: string | undefined; /** - *

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 ID of the trunk network interface.

*/ - GroupName?: string; + TrunkInterfaceId: string | undefined; /** - *

The status of a VPC peering connection, if applicable.

+ *

The ID of the VLAN. This applies to the VLAN protocol.

*/ - PeeringStatus?: string; + VlanId?: number; /** - *

The ID of an Amazon Web Services 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 Amazon Web Services account.

+ *

The application key. This applies to the GRE protocol.

*/ - UserId?: string; + GreKey?: number; /** - *

The ID of the VPC for the referenced security group, if applicable.

+ *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

*/ - VpcId?: string; + ClientToken?: string; /** - *

The ID of the VPC peering connection, if applicable.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - VpcPeeringConnectionId?: string; + DryRun?: boolean; } -export namespace UserIdGroupPair { +export namespace AssociateTrunkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UserIdGroupPair): any => ({ + export const filterSensitiveLog = (obj: AssociateTrunkInterfaceRequest): any => ({ ...obj, }); } +export enum InterfaceProtocolType { + GRE = "GRE", + VLAN = "VLAN", +} + /** - *

Describes a set of permissions for a security group rule.

+ * + *

Currently available in limited preview only. + * If you are interested in using this feature, contact your account manager.

+ *
+ *

Information about an association between a branch network interface with a trunk network interface.

*/ -export interface IpPermission { +export interface TrunkInterfaceAssociation { /** - *

The start of 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 ID of the association.

*/ - FromPort?: number; + AssociationId?: string; /** - *

The IP protocol name (tcp, udp, icmp, icmpv6) - * or number (see Protocol Numbers).

- *

[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.

+ *

The ID of the branch network interface.

*/ - IpProtocol?: string; + BranchInterfaceId?: string; /** - *

The IPv4 ranges.

+ *

The ID of the trunk network interface.

*/ - IpRanges?: IpRange[]; + TrunkInterfaceId?: string; /** - *

[VPC only] The IPv6 ranges.

+ *

The interface protocol. Valid values are VLAN and GRE.

*/ - Ipv6Ranges?: Ipv6Range[]; + InterfaceProtocol?: InterfaceProtocolType | string; /** - *

[VPC only] The prefix list IDs.

+ *

The ID of the VLAN when you use the VLAN protocol.

*/ - PrefixListIds?: PrefixListId[]; + VlanId?: number; /** - *

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 application key when you use the GRE protocol.

*/ - ToPort?: number; + GreKey?: number; /** - *

The security group and Amazon Web Services account ID pairs.

+ *

The tags for the trunk interface association.

*/ - UserIdGroupPairs?: UserIdGroupPair[]; + Tags?: Tag[]; } -export namespace IpPermission { +export namespace TrunkInterfaceAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: IpPermission): any => ({ + export const filterSensitiveLog = (obj: TrunkInterfaceAssociation): any => ({ ...obj, }); } -export interface AuthorizeSecurityGroupEgressRequest { +export interface AssociateTrunkInterfaceResult { /** - *

Checks whether you have the required permissions for the action, without 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 association between the trunk network interface and branch network interface.

*/ - DryRun?: boolean; + InterfaceAssociation?: TrunkInterfaceAssociation; /** - *

The ID of the security group.

+ *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

*/ - GroupId: string | undefined; + ClientToken?: string; +} +export namespace AssociateTrunkInterfaceResult { /** - *

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.

+ * @internal */ - IpPermissions?: IpPermission[]; + export const filterSensitiveLog = (obj: AssociateTrunkInterfaceResult): any => ({ + ...obj, + }); +} +export interface AssociateVpcCidrBlockRequest { /** - *

The tags applied to the security group rule.

+ *

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.

*/ - TagSpecifications?: TagSpecification[]; + AmazonProvidedIpv6CidrBlock?: boolean; /** - *

Not supported. Use a set of IP permissions to specify the CIDR.

+ *

An IPv4 CIDR block to associate with the VPC.

*/ - CidrIp?: string; + CidrBlock?: string; /** - *

Not supported. Use a set of IP permissions to specify the port.

+ *

The ID of the VPC.

*/ - FromPort?: number; + VpcId: string | undefined; /** - *

Not supported. Use a set of IP permissions to specify the protocol name or - * number.

+ *

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.

*/ - IpProtocol?: string; + Ipv6CidrBlockNetworkBorderGroup?: string; /** - *

Not supported. Use a set of IP permissions to specify the port.

+ *

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

*/ - ToPort?: number; + Ipv6Pool?: string; /** - *

Not supported. Use a set of IP permissions to specify a - * destination security group.

+ *

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.

*/ - SourceSecurityGroupName?: string; + Ipv6CidrBlock?: string; /** - *

Not supported. Use a set of IP permissions to specify a - * destination security group.

+ *

Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

*/ - SourceSecurityGroupOwnerId?: string; -} + Ipv4IpamPoolId?: string; -export namespace AuthorizeSecurityGroupEgressRequest { /** - * @internal + *

The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide. + *

*/ - export const filterSensitiveLog = (obj: AuthorizeSecurityGroupEgressRequest): any => ({ - ...obj, - }); -} + Ipv4NetmaskLength?: number; -/** - *

Describes the security group that is referenced in the security group rule.

- */ -export interface ReferencedSecurityGroup { /** - *

The ID of the security group.

+ *

Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

*/ - GroupId?: string; + Ipv6IpamPoolId?: string; /** - *

The status of a VPC peering connection, if applicable.

+ *

The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

*/ - PeeringStatus?: string; + Ipv6NetmaskLength?: number; +} +export namespace AssociateVpcCidrBlockRequest { /** - *

The Amazon Web Services account ID.

+ * @internal */ - UserId?: string; + export const filterSensitiveLog = (obj: AssociateVpcCidrBlockRequest): any => ({ + ...obj, + }); +} + +export type VpcCidrBlockStateCode = + | "associated" + | "associating" + | "disassociated" + | "disassociating" + | "failed" + | "failing"; +/** + *

Describes the state of a CIDR block.

+ */ +export interface VpcCidrBlockState { /** - *

The ID of the VPC.

+ *

The state of the CIDR block.

*/ - VpcId?: string; + State?: VpcCidrBlockStateCode | string; /** - *

The ID of the VPC peering connection.

+ *

A message about the status of the CIDR block, if applicable.

*/ - VpcPeeringConnectionId?: string; + StatusMessage?: string; } -export namespace ReferencedSecurityGroup { +export namespace VpcCidrBlockState { /** * @internal */ - export const filterSensitiveLog = (obj: ReferencedSecurityGroup): any => ({ + export const filterSensitiveLog = (obj: VpcCidrBlockState): any => ({ ...obj, }); } /** - *

Describes a security group rule.

+ *

Describes an IPv4 CIDR block associated with a VPC.

*/ -export interface SecurityGroupRule { +export interface VpcCidrBlockAssociation { /** - *

The ID of the security group rule.

+ *

The association ID for the IPv4 CIDR block.

*/ - SecurityGroupRuleId?: string; + AssociationId?: string; /** - *

The ID of the security group.

+ *

The IPv4 CIDR block.

*/ - GroupId?: string; + CidrBlock?: string; /** - *

The ID of the Amazon Web Services account that owns the security group.

+ *

Information about the state of the CIDR block.

*/ - GroupOwnerId?: string; + CidrBlockState?: VpcCidrBlockState; +} +export namespace VpcCidrBlockAssociation { /** - *

Indicates whether the security group rule is an outbound rule.

+ * @internal */ - IsEgress?: boolean; + export const filterSensitiveLog = (obj: VpcCidrBlockAssociation): any => ({ + ...obj, + }); +} +/** + *

Describes an IPv6 CIDR block associated with a VPC.

+ */ +export interface VpcIpv6CidrBlockAssociation { /** - *

The IP protocol name (tcp, udp, icmp, - * icmpv6) or number (see Protocol Numbers).

- *

Use -1 to specify all protocols.

+ *

The association ID for the IPv6 CIDR block.

*/ - IpProtocol?: string; + AssociationId?: string; /** - *

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value - * of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must - * specify all codes.

+ *

The IPv6 CIDR block.

*/ - FromPort?: number; + Ipv6CidrBlock?: string; /** - *

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.

+ *

Information about the state of the CIDR block.

*/ - ToPort?: number; + Ipv6CidrBlockState?: VpcCidrBlockState; /** - *

The IPv4 CIDR range.

+ *

The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from + * which Amazon Web Services advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1.

*/ - CidrIpv4?: string; + NetworkBorderGroup?: string; /** - *

The IPv6 CIDR range.

+ *

The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

*/ - CidrIpv6?: string; + Ipv6Pool?: string; +} +export namespace VpcIpv6CidrBlockAssociation { /** - *

The ID of the prefix list.

+ * @internal */ - PrefixListId?: string; + export const filterSensitiveLog = (obj: VpcIpv6CidrBlockAssociation): any => ({ + ...obj, + }); +} +export interface AssociateVpcCidrBlockResult { /** - *

Describes the security group that is referenced in the rule.

+ *

Information about the IPv6 CIDR block association.

*/ - ReferencedGroupInfo?: ReferencedSecurityGroup; + Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; /** - *

The security group rule description.

+ *

Information about the IPv4 CIDR block association.

*/ - Description?: string; + CidrBlockAssociation?: VpcCidrBlockAssociation; /** - *

The tags applied to the security group rule.

+ *

The ID of the VPC.

*/ - Tags?: Tag[]; + VpcId?: string; } -export namespace SecurityGroupRule { +export namespace AssociateVpcCidrBlockResult { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupRule): any => ({ + export const filterSensitiveLog = (obj: AssociateVpcCidrBlockResult): any => ({ ...obj, }); } -export interface AuthorizeSecurityGroupEgressResult { +export interface AttachClassicLinkVpcRequest { /** - *

Returns true if the request succeeds; otherwise, returns an error.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - Return?: boolean; + DryRun?: boolean; /** - *

Information about the outbound (egress) security group rules that were added.

+ *

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

*/ - SecurityGroupRules?: SecurityGroupRule[]; + Groups: string[] | undefined; + + /** + *

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

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

The ID of a ClassicLink-enabled VPC.

+ */ + VpcId: string | undefined; } -export namespace AuthorizeSecurityGroupEgressResult { +export namespace AttachClassicLinkVpcRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizeSecurityGroupEgressResult): any => ({ + export const filterSensitiveLog = (obj: AttachClassicLinkVpcRequest): any => ({ ...obj, }); } -export interface AuthorizeSecurityGroupIngressRequest { +export interface AttachClassicLinkVpcResult { /** - *

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.

+ *

Returns true if the request succeeds; otherwise, it returns an error.

*/ - CidrIp?: string; + Return?: boolean; +} +export namespace AttachClassicLinkVpcResult { /** - *

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 - * specify all ICMP types, you must specify all codes.

- *

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+ * @internal */ - FromPort?: number; + export const filterSensitiveLog = (obj: AttachClassicLinkVpcResult): any => ({ + ...obj, + }); +} +export interface AttachInternetGatewayRequest { /** - *

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.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - GroupId?: string; + 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.

+ *

The ID of the internet gateway.

*/ - GroupName?: string; + InternetGatewayId: string | undefined; /** - *

The sets of IP permissions.

+ *

The ID of the VPC.

*/ - IpPermissions?: IpPermission[]; + VpcId: string | undefined; +} +export namespace AttachInternetGatewayRequest { /** - *

The IP protocol name (tcp, udp, icmp) or number - * (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

- *

[VPC only] Use -1 to specify all protocols. If you specify -1 or a - * protocol other than tcp, udp, or icmp, traffic on all ports - * is allowed, regardless of any ports you specify.

- *

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+ * @internal */ - IpProtocol?: string; + export const filterSensitiveLog = (obj: AttachInternetGatewayRequest): any => ({ + ...obj, + }); +} +/** + *

Contains the parameters for AttachNetworkInterface.

+ */ +export interface AttachNetworkInterfaceRequest { /** - *

[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 index of the device for the network interface attachment.

*/ - SourceSecurityGroupName?: string; + DeviceIndex: number | undefined; /** - *

[nondefault VPC] The Amazon Web Services 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.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - SourceSecurityGroupOwnerId?: string; + DryRun?: boolean; /** - *

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 - * specify all ICMP types, you must specify all codes.

- *

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+ *

The ID of the instance.

*/ - ToPort?: number; + 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.

+ *

The ID of the network interface.

*/ - DryRun?: boolean; + NetworkInterfaceId: string | undefined; /** - *

[VPC Only] The tags applied to the security group rule.

+ *

The index of the network card. Some instance types support multiple network cards. + * The primary network interface must be assigned to network card index 0. + * The default is network card index 0.

*/ - TagSpecifications?: TagSpecification[]; + NetworkCardIndex?: number; } -export namespace AuthorizeSecurityGroupIngressRequest { +export namespace AttachNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizeSecurityGroupIngressRequest): any => ({ + export const filterSensitiveLog = (obj: AttachNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface AuthorizeSecurityGroupIngressResult { +/** + *

Contains the output of AttachNetworkInterface.

+ */ +export interface AttachNetworkInterfaceResult { /** - *

Returns true if the request succeeds; otherwise, returns an error.

+ *

The ID of the network interface attachment.

*/ - Return?: boolean; + AttachmentId?: string; /** - *

Information about the inbound (ingress) security group rules that were added.

+ *

The index of the network card.

*/ - SecurityGroupRules?: SecurityGroupRule[]; + NetworkCardIndex?: number; } -export namespace AuthorizeSecurityGroupIngressResult { +export namespace AttachNetworkInterfaceResult { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizeSecurityGroupIngressResult): any => ({ + export const filterSensitiveLog = (obj: AttachNetworkInterfaceResult): any => ({ ...obj, }); } -/** - *

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

- */ -export interface S3Storage { - /** - *

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 Amazon Web Services Access Keys.

- */ - AWSAccessKeyId?: string; - +export interface AttachVolumeRequest { /** - *

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.

+ *

The device name (for example, /dev/sdh or xvdh).

*/ - Bucket?: string; + Device: string | undefined; /** - *

The beginning of the file name of the AMI.

+ *

The ID of the instance.

*/ - Prefix?: string; + InstanceId: string | undefined; /** - *

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

+ *

The ID of the EBS volume. The volume and instance must be within the same Availability + * Zone.

*/ - UploadPolicy?: Uint8Array; + VolumeId: string | undefined; /** - *

The signature of the JSON document.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - UploadPolicySignature?: string; + DryRun?: boolean; } -export namespace S3Storage { +export namespace AttachVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: S3Storage): any => ({ + export const filterSensitiveLog = (obj: AttachVolumeRequest): any => ({ ...obj, }); } +export type VolumeAttachmentState = "attached" | "attaching" | "busy" | "detached" | "detaching"; + /** - *

Describes the storage location for an instance store-backed AMI.

+ *

Describes volume attachment details.

*/ -export interface Storage { +export interface VolumeAttachment { /** - *

An Amazon S3 storage location.

+ *

The time stamp when the attachment initiated.

*/ - S3?: S3Storage; + AttachTime?: Date; + + /** + *

The device name.

+ */ + Device?: string; + + /** + *

The ID of the instance.

+ */ + InstanceId?: string; + + /** + *

The attachment state of the volume.

+ */ + State?: VolumeAttachmentState | string; + + /** + *

The ID of the volume.

+ */ + VolumeId?: string; + + /** + *

Indicates whether the EBS volume is deleted on instance termination.

+ */ + DeleteOnTermination?: boolean; } -export namespace Storage { +export namespace VolumeAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: Storage): any => ({ + export const filterSensitiveLog = (obj: VolumeAttachment): any => ({ ...obj, }); } /** - *

Contains the parameters for BundleInstance.

+ *

Contains the parameters for AttachVpnGateway.

*/ -export interface BundleInstanceRequest { +export interface AttachVpnGatewayRequest { /** - *

The ID of the instance to bundle.

- *

Type: String

- *

Default: None

- *

Required: Yes

+ *

The ID of the VPC.

*/ - InstanceId: string | undefined; + VpcId: 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.

+ *

The ID of the virtual private gateway.

*/ - Storage: Storage | undefined; + 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.

+ *

Checks whether you have the required permissions for the action, without 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 BundleInstanceRequest { +export namespace AttachVpnGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: BundleInstanceRequest): any => ({ + export const filterSensitiveLog = (obj: AttachVpnGatewayRequest): any => ({ ...obj, }); } +export type AttachmentStatus = "attached" | "attaching" | "detached" | "detaching"; + /** - *

Describes an error for BundleInstance.

+ *

Describes an attachment between a virtual private gateway and a VPC.

*/ -export interface BundleTaskError { +export interface VpcAttachment { /** - *

The error code.

+ *

The current state of the attachment.

*/ - Code?: string; + State?: AttachmentStatus | string; /** - *

The error message.

+ *

The ID of the VPC.

*/ - Message?: string; + VpcId?: string; } -export namespace BundleTaskError { +export namespace VpcAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: BundleTaskError): any => ({ + export const filterSensitiveLog = (obj: VpcAttachment): any => ({ ...obj, }); } -export type BundleTaskState = - | "bundling" - | "cancelling" - | "complete" - | "failed" - | "pending" - | "storing" - | "waiting-for-shutdown"; - /** - *

Describes a bundle task.

+ *

Contains the output of AttachVpnGateway.

*/ -export interface BundleTask { - /** - *

The ID of the bundle task.

- */ - BundleId?: string; - +export interface AttachVpnGatewayResult { /** - *

If the task fails, a description of the error.

+ *

Information about the attachment.

*/ - BundleTaskError?: BundleTaskError; + VpcAttachment?: VpcAttachment; +} +export namespace AttachVpnGatewayResult { /** - *

The ID of the instance associated with this bundle task.

+ * @internal */ - InstanceId?: string; + export const filterSensitiveLog = (obj: AttachVpnGatewayResult): any => ({ + ...obj, + }); +} +export interface AuthorizeClientVpnIngressRequest { /** - *

The level of task completion, as a percent (for example, 20%).

+ *

The ID of the Client VPN endpoint.

*/ - Progress?: string; + ClientVpnEndpointId: string | undefined; /** - *

The time this task started.

+ *

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

*/ - StartTime?: Date; + TargetNetworkCidr: string | undefined; /** - *

The state of the task.

+ *

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.

*/ - State?: BundleTaskState | string; + AccessGroupId?: string; /** - *

The Amazon S3 storage locations.

+ *

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.

*/ - Storage?: Storage; + AuthorizeAllGroups?: boolean; /** - *

The time of the most recent update for the task.

+ *

A brief description of the authorization rule.

*/ - UpdateTime?: Date; -} + Description?: string; -export namespace BundleTask { /** - * @internal + *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ - export const filterSensitiveLog = (obj: BundleTask): any => ({ - ...obj, - }); -} + ClientToken?: string; -/** - *

Contains the output of BundleInstance.

- */ -export interface BundleInstanceResult { /** - *

Information about the bundle task.

+ *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

*/ - BundleTask?: BundleTask; + DryRun?: boolean; } -export namespace BundleInstanceResult { +export namespace AuthorizeClientVpnIngressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: BundleInstanceResult): any => ({ + export const filterSensitiveLog = (obj: AuthorizeClientVpnIngressRequest): any => ({ ...obj, }); } +export type ClientVpnAuthorizationRuleStatusCode = "active" | "authorizing" | "failed" | "revoking"; + /** - *

Contains the parameters for CancelBundleTask.

+ *

Describes the state of an authorization rule.

*/ -export interface CancelBundleTaskRequest { +export interface ClientVpnAuthorizationRuleStatus { /** - *

The ID of the bundle task.

+ *

The state of the authorization rule.

*/ - BundleId: string | undefined; + Code?: ClientVpnAuthorizationRuleStatusCode | 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 message about the status of the authorization rule, if applicable.

*/ - DryRun?: boolean; + Message?: string; } -export namespace CancelBundleTaskRequest { +export namespace ClientVpnAuthorizationRuleStatus { /** * @internal */ - export const filterSensitiveLog = (obj: CancelBundleTaskRequest): any => ({ + export const filterSensitiveLog = (obj: ClientVpnAuthorizationRuleStatus): any => ({ ...obj, }); } -/** - *

Contains the output of CancelBundleTask.

- */ -export interface CancelBundleTaskResult { +export interface AuthorizeClientVpnIngressResult { /** - *

Information about the bundle task.

+ *

The current state of the authorization rule.

*/ - BundleTask?: BundleTask; + Status?: ClientVpnAuthorizationRuleStatus; } -export namespace CancelBundleTaskResult { +export namespace AuthorizeClientVpnIngressResult { /** * @internal */ - export const filterSensitiveLog = (obj: CancelBundleTaskResult): any => ({ + export const filterSensitiveLog = (obj: AuthorizeClientVpnIngressResult): any => ({ ...obj, }); } -export interface CancelCapacityReservationRequest { +/** + *

Describes an IPv4 range.

+ */ +export interface IpRange { /** - *

The ID of the Capacity Reservation to be cancelled.

+ *

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, + * not both. To specify a single IPv4 address, use the /32 prefix length.

*/ - CapacityReservationId: string | undefined; + CidrIp?: 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 rule that references this IPv4 address range.

+ *

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, + * spaces, and ._-:/()#,@[]+=&;{}!$*

*/ - DryRun?: boolean; + Description?: string; } -export namespace CancelCapacityReservationRequest { +export namespace IpRange { /** * @internal */ - export const filterSensitiveLog = (obj: CancelCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: IpRange): any => ({ ...obj, }); } -export interface CancelCapacityReservationResult { - /** - *

Returns true if the request succeeds; otherwise, it returns an error.

- */ - Return?: boolean; -} - -export namespace CancelCapacityReservationResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CancelCapacityReservationResult): any => ({ - ...obj, - }); -} - -export interface CancelCapacityReservationFleetsRequest { +/** + *

[EC2-VPC only] Describes an IPv6 range.

+ */ +export interface Ipv6Range { /** - *

Checks whether you have the required permissions for the action, without 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 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.

*/ - DryRun?: boolean; + CidrIpv6?: string; /** - *

The IDs of the Capacity Reservation Fleets to cancel.

+ *

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 ._-:/()#,@[]+=&;{}!$*

*/ - CapacityReservationFleetIds: string[] | undefined; + Description?: string; } -export namespace CancelCapacityReservationFleetsRequest { +export namespace Ipv6Range { /** * @internal */ - export const filterSensitiveLog = (obj: CancelCapacityReservationFleetsRequest): any => ({ + export const filterSensitiveLog = (obj: Ipv6Range): any => ({ ...obj, }); } /** - *

Describes a Capacity Reservation Fleet cancellation error.

+ *

Describes a prefix list ID.

*/ -export interface CancelCapacityReservationFleetError { +export interface PrefixListId { /** - *

The error code.

+ *

A description for the security group rule that references this prefix list ID.

+ *

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, + * spaces, and ._-:/()#,@[]+=;{}!$*

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

The error message.

+ *

The ID of the prefix.

*/ - Message?: string; + PrefixListId?: string; } -export namespace CancelCapacityReservationFleetError { +export namespace PrefixListId { /** * @internal */ - export const filterSensitiveLog = (obj: CancelCapacityReservationFleetError): any => ({ + export const filterSensitiveLog = (obj: PrefixListId): any => ({ ...obj, }); } /** - *

Describes a Capacity Reservation Fleet that could not be cancelled.

+ *

Describes a security group and Amazon Web Services account ID pair.

*/ -export interface FailedCapacityReservationFleetCancellationResult { +export interface UserIdGroupPair { /** - *

The ID of the Capacity Reservation Fleet that could not be cancelled.

+ *

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 ._-:/()#,@[]+=;{}!$*

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

Information about the Capacity Reservation Fleet cancellation error.

+ *

The ID of the security group.

*/ - CancelCapacityReservationFleetError?: CancelCapacityReservationFleetError; -} + GroupId?: string; -export namespace FailedCapacityReservationFleetCancellationResult { /** - * @internal + *

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.

*/ - export const filterSensitiveLog = (obj: FailedCapacityReservationFleetCancellationResult): any => ({ - ...obj, - }); -} + GroupName?: string; -export enum CapacityReservationFleetState { - ACTIVE = "active", - CANCELLED = "cancelled", - CANCELLING = "cancelling", - EXPIRED = "expired", - EXPIRING = "expiring", - FAILED = "failed", - MODIFYING = "modifying", - PARTIALLY_FULFILLED = "partially_fulfilled", - SUBMITTED = "submitted", -} + /** + *

The status of a VPC peering connection, if applicable.

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

Describes a Capacity Reservation Fleet that was successfully cancelled.

- */ -export interface CapacityReservationFleetCancellationState { /** - *

The current state of the Capacity Reservation Fleet.

+ *

The ID of an Amazon Web Services 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 Amazon Web Services account.

*/ - CurrentFleetState?: CapacityReservationFleetState | string; + UserId?: string; /** - *

The previous state of the Capacity Reservation Fleet.

+ *

The ID of the VPC for the referenced security group, if applicable.

*/ - PreviousFleetState?: CapacityReservationFleetState | string; + VpcId?: string; /** - *

The ID of the Capacity Reservation Fleet that was successfully cancelled.

+ *

The ID of the VPC peering connection, if applicable.

*/ - CapacityReservationFleetId?: string; + VpcPeeringConnectionId?: string; } -export namespace CapacityReservationFleetCancellationState { +export namespace UserIdGroupPair { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationFleetCancellationState): any => ({ + export const filterSensitiveLog = (obj: UserIdGroupPair): any => ({ ...obj, }); } -export interface CancelCapacityReservationFleetsResult { +/** + *

Describes a set of permissions for a security group rule.

+ */ +export interface IpPermission { /** - *

Information about the Capacity Reservation Fleets that were successfully cancelled.

+ *

The start of 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.

*/ - SuccessfulFleetCancellations?: CapacityReservationFleetCancellationState[]; + FromPort?: number; /** - *

Information about the Capacity Reservation Fleets that could not be cancelled.

+ *

The IP protocol name (tcp, udp, icmp, icmpv6) + * or number (see Protocol Numbers).

+ *

[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.

*/ - FailedFleetCancellations?: FailedCapacityReservationFleetCancellationResult[]; -} + IpProtocol?: string; -export namespace CancelCapacityReservationFleetsResult { /** - * @internal + *

The IPv4 ranges.

*/ - export const filterSensitiveLog = (obj: CancelCapacityReservationFleetsResult): any => ({ - ...obj, - }); -} + IpRanges?: IpRange[]; -export interface CancelConversionRequest { /** - *

The ID of the conversion task.

+ *

[VPC only] The IPv6 ranges.

*/ - ConversionTaskId: string | undefined; + Ipv6Ranges?: Ipv6Range[]; /** - *

Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

+ *

[VPC only] The prefix list IDs.

*/ - DryRun?: boolean; + PrefixListIds?: PrefixListId[]; /** - *

The reason for canceling the conversion task.

+ *

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.

*/ - ReasonMessage?: string; + ToPort?: number; + + /** + *

The security group and Amazon Web Services account ID pairs.

+ */ + UserIdGroupPairs?: UserIdGroupPair[]; } -export namespace CancelConversionRequest { +export namespace IpPermission { /** * @internal */ - export const filterSensitiveLog = (obj: CancelConversionRequest): any => ({ + export const filterSensitiveLog = (obj: IpPermission): any => ({ ...obj, }); } -export interface CancelExportTaskRequest { +export interface AuthorizeSecurityGroupEgressRequest { /** - *

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - ExportTaskId: string | undefined; -} + DryRun?: boolean; -export namespace CancelExportTaskRequest { /** - * @internal + *

The ID of the security group.

*/ - export const filterSensitiveLog = (obj: CancelExportTaskRequest): any => ({ - ...obj, - }); -} + GroupId: string | undefined; -export interface CancelImportTaskRequest { /** - *

The reason for canceling the task.

+ *

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.

*/ - CancelReason?: string; + IpPermissions?: IpPermission[]; /** - *

Checks whether you have the required permissions for the action, without 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 applied to the security group rule.

*/ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; /** - *

The ID of the import image or import snapshot task to be canceled.

+ *

Not supported. Use a set of IP permissions to specify the CIDR.

*/ - ImportTaskId?: string; -} + CidrIp?: string; -export namespace CancelImportTaskRequest { /** - * @internal + *

Not supported. Use a set of IP permissions to specify the port.

*/ - export const filterSensitiveLog = (obj: CancelImportTaskRequest): any => ({ - ...obj, - }); -} + FromPort?: number; -export interface CancelImportTaskResult { /** - *

The ID of the task being canceled.

+ *

Not supported. Use a set of IP permissions to specify the protocol name or + * number.

*/ - ImportTaskId?: string; + IpProtocol?: string; /** - *

The current state of the task being canceled.

+ *

Not supported. Use a set of IP permissions to specify the port.

*/ - PreviousState?: string; + ToPort?: number; /** - *

The current state of the task being canceled.

+ *

Not supported. Use a set of IP permissions to specify a + * destination security group.

*/ - State?: string; + SourceSecurityGroupName?: string; + + /** + *

Not supported. Use a set of IP permissions to specify a + * destination security group.

+ */ + SourceSecurityGroupOwnerId?: string; } -export namespace CancelImportTaskResult { +export namespace AuthorizeSecurityGroupEgressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CancelImportTaskResult): any => ({ + export const filterSensitiveLog = (obj: AuthorizeSecurityGroupEgressRequest): any => ({ ...obj, }); } /** - *

Contains the parameters for CancelReservedInstancesListing.

+ *

Describes the security group that is referenced in the security group rule.

*/ -export interface CancelReservedInstancesListingRequest { +export interface ReferencedSecurityGroup { /** - *

The ID of the Reserved Instance listing.

+ *

The ID of the security group.

*/ - ReservedInstancesListingId: string | undefined; -} + GroupId?: string; -export namespace CancelReservedInstancesListingRequest { /** - * @internal + *

The status of a VPC peering connection, if applicable.

*/ - export const filterSensitiveLog = (obj: CancelReservedInstancesListingRequest): any => ({ - ...obj, - }); -} + PeeringStatus?: string; -export type ListingState = "available" | "cancelled" | "pending" | "sold"; + /** + *

The Amazon Web Services account ID.

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

Describes a Reserved Instance listing state.

- */ -export interface InstanceCount { /** - *

The number of listed Reserved Instances in the state specified by the state.

+ *

The ID of the VPC.

*/ - InstanceCount?: number; + VpcId?: string; /** - *

The states of the listed Reserved Instances.

+ *

The ID of the VPC peering connection.

*/ - State?: ListingState | string; + VpcPeeringConnectionId?: string; } -export namespace InstanceCount { +export namespace ReferencedSecurityGroup { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceCount): any => ({ + export const filterSensitiveLog = (obj: ReferencedSecurityGroup): any => ({ ...obj, }); } -export type CurrencyCodeValues = "USD"; - /** - *

Describes the price for a Reserved Instance.

+ *

Describes a security group rule.

*/ -export interface PriceSchedule { - /** - *

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; - +export interface SecurityGroupRule { /** - *

The currency for transacting the Reserved Instance resale. - * At this time, the only supported currency is USD.

+ *

The ID of the security group rule.

*/ - CurrencyCode?: CurrencyCodeValues | string; + SecurityGroupRuleId?: string; /** - *

The fixed price for the term.

+ *

The ID of the security group.

*/ - Price?: number; + GroupId?: 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 ID of the Amazon Web Services account that owns the security group.

*/ - Term?: number; -} + GroupOwnerId?: string; -export namespace PriceSchedule { /** - * @internal + *

Indicates whether the security group rule is an outbound rule.

*/ - export const filterSensitiveLog = (obj: PriceSchedule): any => ({ - ...obj, - }); -} - -export type ListingStatus = "active" | "cancelled" | "closed" | "pending"; + IsEgress?: boolean; -/** - *

Describes a Reserved Instance listing.

- */ -export interface ReservedInstancesListing { /** - *

A unique, case-sensitive key supplied by the client to ensure that the request is - * idempotent. For more information, see Ensuring Idempotency.

+ *

The IP protocol name (tcp, udp, icmp, + * icmpv6) or number (see Protocol Numbers).

+ *

Use -1 to specify all protocols.

*/ - ClientToken?: string; + IpProtocol?: string; /** - *

The time the listing was created.

+ *

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value + * of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must + * specify all codes.

*/ - CreateDate?: Date; + FromPort?: number; /** - *

The number of instances in this state.

+ *

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.

*/ - InstanceCounts?: InstanceCount[]; + ToPort?: number; /** - *

The price of the Reserved Instance listing.

+ *

The IPv4 CIDR range.

*/ - PriceSchedules?: PriceSchedule[]; + CidrIpv4?: string; /** - *

The ID of the Reserved Instance.

+ *

The IPv6 CIDR range.

*/ - ReservedInstancesId?: string; + CidrIpv6?: string; /** - *

The ID of the Reserved Instance listing.

+ *

The ID of the prefix list.

*/ - ReservedInstancesListingId?: string; + PrefixListId?: string; /** - *

The status of the Reserved Instance listing.

+ *

Describes the security group that is referenced in the rule.

*/ - Status?: ListingStatus | string; + ReferencedGroupInfo?: ReferencedSecurityGroup; /** - *

The reason for the current status of the Reserved Instance listing. The response can be blank.

+ *

The security group rule description.

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

Any tags assigned to the resource.

+ *

The tags applied to the security group rule.

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

The last modified timestamp of the listing.

- */ - UpdateDate?: Date; } -export namespace ReservedInstancesListing { +export namespace SecurityGroupRule { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesListing): any => ({ + export const filterSensitiveLog = (obj: SecurityGroupRule): any => ({ ...obj, }); } -/** - *

Contains the output of CancelReservedInstancesListing.

- */ -export interface CancelReservedInstancesListingResult { +export interface AuthorizeSecurityGroupEgressResult { /** - *

The Reserved Instance listing.

+ *

Returns true if the request succeeds; otherwise, returns an error.

*/ - ReservedInstancesListings?: ReservedInstancesListing[]; + Return?: boolean; + + /** + *

Information about the outbound (egress) security group rules that were added.

+ */ + SecurityGroupRules?: SecurityGroupRule[]; } -export namespace CancelReservedInstancesListingResult { +export namespace AuthorizeSecurityGroupEgressResult { /** * @internal */ - export const filterSensitiveLog = (obj: CancelReservedInstancesListingResult): any => ({ + export const filterSensitiveLog = (obj: AuthorizeSecurityGroupEgressResult): any => ({ ...obj, }); } -/** - *

Contains the parameters for CancelSpotFleetRequests.

- */ -export interface CancelSpotFleetRequestsRequest { +export interface AuthorizeSecurityGroupIngressRequest { /** - *

Checks whether you have the required permissions for the action, without 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 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.

*/ - DryRun?: boolean; + CidrIp?: string; /** - *

The IDs of the Spot Fleet requests.

+ *

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 + * specify all ICMP types, you must specify all codes.

+ *

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

*/ - SpotFleetRequestIds: string[] | undefined; + FromPort?: number; /** - *

Indicates whether to terminate instances for a Spot Fleet request if it is canceled - * successfully.

+ *

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.

*/ - TerminateInstances: boolean | undefined; -} + GroupId?: string; -export namespace CancelSpotFleetRequestsRequest { /** - * @internal + *

[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.

*/ - export const filterSensitiveLog = (obj: CancelSpotFleetRequestsRequest): any => ({ - ...obj, - }); -} - -export enum BatchState { - ACTIVE = "active", - CANCELLED = "cancelled", - CANCELLED_RUNNING = "cancelled_running", - CANCELLED_TERMINATING_INSTANCES = "cancelled_terminating", - FAILED = "failed", - MODIFYING = "modifying", - SUBMITTED = "submitted", -} + GroupName?: string; -/** - *

Describes a Spot Fleet request that was successfully canceled.

- */ -export interface CancelSpotFleetRequestsSuccessItem { /** - *

The current state of the Spot Fleet request.

+ *

The sets of IP permissions.

*/ - CurrentSpotFleetRequestState?: BatchState | string; + IpPermissions?: IpPermission[]; /** - *

The previous state of the Spot Fleet request.

+ *

The IP protocol name (tcp, udp, icmp) or number + * (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

+ *

[VPC only] Use -1 to specify all protocols. If you specify -1 or a + * protocol other than tcp, udp, or icmp, traffic on all ports + * is allowed, regardless of any ports you specify.

+ *

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

*/ - PreviousSpotFleetRequestState?: BatchState | string; + IpProtocol?: string; /** - *

The ID of the Spot Fleet request.

+ *

[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.

*/ - SpotFleetRequestId?: string; -} + SourceSecurityGroupName?: string; -export namespace CancelSpotFleetRequestsSuccessItem { /** - * @internal + *

[nondefault VPC] The Amazon Web Services 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.

*/ - export const filterSensitiveLog = (obj: CancelSpotFleetRequestsSuccessItem): any => ({ - ...obj, - }); -} + SourceSecurityGroupOwnerId?: string; -export enum CancelBatchErrorCode { - FLEET_REQUEST_ID_DOES_NOT_EXIST = "fleetRequestIdDoesNotExist", - FLEET_REQUEST_ID_MALFORMED = "fleetRequestIdMalformed", - FLEET_REQUEST_NOT_IN_CANCELLABLE_STATE = "fleetRequestNotInCancellableState", - UNEXPECTED_ERROR = "unexpectedError", -} + /** + *

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 + * specify all ICMP types, you must specify all codes.

+ *

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+ */ + ToPort?: number; -/** - *

Describes a Spot Fleet error.

- */ -export interface CancelSpotFleetRequestsError { /** - *

The error code.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - Code?: CancelBatchErrorCode | string; + DryRun?: boolean; /** - *

The description for the error code.

+ *

[VPC Only] The tags applied to the security group rule.

*/ - Message?: string; + TagSpecifications?: TagSpecification[]; } -export namespace CancelSpotFleetRequestsError { +export namespace AuthorizeSecurityGroupIngressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CancelSpotFleetRequestsError): any => ({ + export const filterSensitiveLog = (obj: AuthorizeSecurityGroupIngressRequest): any => ({ ...obj, }); } -/** - *

Describes a Spot Fleet request that was not successfully canceled.

- */ -export interface CancelSpotFleetRequestsErrorItem { +export interface AuthorizeSecurityGroupIngressResult { /** - *

The error.

+ *

Returns true if the request succeeds; otherwise, returns an error.

*/ - Error?: CancelSpotFleetRequestsError; + Return?: boolean; /** - *

The ID of the Spot Fleet request.

+ *

Information about the inbound (ingress) security group rules that were added.

*/ - SpotFleetRequestId?: string; + SecurityGroupRules?: SecurityGroupRule[]; } -export namespace CancelSpotFleetRequestsErrorItem { +export namespace AuthorizeSecurityGroupIngressResult { /** * @internal */ - export const filterSensitiveLog = (obj: CancelSpotFleetRequestsErrorItem): any => ({ + export const filterSensitiveLog = (obj: AuthorizeSecurityGroupIngressResult): any => ({ ...obj, }); } /** - *

Contains the output of CancelSpotFleetRequests.

+ *

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

*/ -export interface CancelSpotFleetRequestsResponse { +export interface S3Storage { /** - *

Information about the Spot Fleet requests that are successfully canceled.

+ *

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 Amazon Web Services Access Keys.

*/ - SuccessfulFleetRequests?: CancelSpotFleetRequestsSuccessItem[]; + AWSAccessKeyId?: string; /** - *

Information about the Spot Fleet requests that are not successfully canceled.

+ *

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.

*/ - UnsuccessfulFleetRequests?: CancelSpotFleetRequestsErrorItem[]; -} + Bucket?: string; -export namespace CancelSpotFleetRequestsResponse { /** - * @internal + *

The beginning of the file name of the AMI.

*/ - export const filterSensitiveLog = (obj: CancelSpotFleetRequestsResponse): any => ({ - ...obj, - }); -} + Prefix?: string; -/** - *

Contains the parameters for CancelSpotInstanceRequests.

- */ -export interface CancelSpotInstanceRequestsRequest { /** - *

Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

+ *

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

*/ - DryRun?: boolean; + UploadPolicy?: Uint8Array; /** - *

One or more Spot Instance request IDs.

+ *

The signature of the JSON document.

*/ - SpotInstanceRequestIds: string[] | undefined; + UploadPolicySignature?: string; } -export namespace CancelSpotInstanceRequestsRequest { +export namespace S3Storage { /** * @internal */ - export const filterSensitiveLog = (obj: CancelSpotInstanceRequestsRequest): any => ({ + export const filterSensitiveLog = (obj: S3Storage): any => ({ ...obj, }); } -export type CancelSpotInstanceRequestState = "active" | "cancelled" | "closed" | "completed" | "open"; - /** - *

Describes a request to cancel a Spot Instance.

+ *

Describes the storage location for an instance store-backed AMI.

*/ -export interface CancelledSpotInstanceRequest { - /** - *

The ID of the Spot Instance request.

- */ - SpotInstanceRequestId?: string; - +export interface Storage { /** - *

The state of the Spot Instance request.

+ *

An Amazon S3 storage location.

*/ - State?: CancelSpotInstanceRequestState | string; + S3?: S3Storage; } -export namespace CancelledSpotInstanceRequest { +export namespace Storage { /** * @internal */ - export const filterSensitiveLog = (obj: CancelledSpotInstanceRequest): any => ({ + export const filterSensitiveLog = (obj: Storage): any => ({ ...obj, }); } /** - *

Contains the output of CancelSpotInstanceRequests.

+ *

Contains the parameters for BundleInstance.

*/ -export interface CancelSpotInstanceRequestsResult { - /** - *

One or more Spot Instance requests.

- */ - CancelledSpotInstanceRequests?: CancelledSpotInstanceRequest[]; -} - -export namespace CancelSpotInstanceRequestsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CancelSpotInstanceRequestsResult): any => ({ - ...obj, - }); -} - -export interface ConfirmProductInstanceRequest { +export interface BundleInstanceRequest { /** - *

The ID of the instance.

+ *

The ID of the instance to bundle.

+ *

Type: String

+ *

Default: None

+ *

Required: Yes

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

The product code. This must be a product code that you own.

+ *

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.

*/ - ProductCode: string | undefined; + Storage: Storage | 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.

+ * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ DryRun?: boolean; } -export namespace ConfirmProductInstanceRequest { +export namespace BundleInstanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ConfirmProductInstanceRequest): any => ({ + export const filterSensitiveLog = (obj: BundleInstanceRequest): any => ({ ...obj, }); } -export interface ConfirmProductInstanceResult { +/** + *

Describes an error for BundleInstance.

+ */ +export interface BundleTaskError { /** - *

The Amazon Web Services account ID of the instance owner. This is only present if the product code is - * attached to the instance.

+ *

The error code.

*/ - OwnerId?: string; + Code?: string; /** - *

The return value of the request. Returns true if the specified product - * code is owned by the requester and associated with the specified instance.

+ *

The error message.

*/ - Return?: boolean; + Message?: string; } -export namespace ConfirmProductInstanceResult { +export namespace BundleTaskError { /** * @internal */ - export const filterSensitiveLog = (obj: ConfirmProductInstanceResult): any => ({ + export const filterSensitiveLog = (obj: BundleTaskError): any => ({ ...obj, }); } -export interface CopyFpgaImageRequest { +export type BundleTaskState = + | "bundling" + | "cancelling" + | "complete" + | "failed" + | "pending" + | "storing" + | "waiting-for-shutdown"; + +/** + *

Describes a bundle task.

+ */ +export interface BundleTask { /** - *

Checks whether you have the required permissions for the action, without 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 bundle task.

*/ - DryRun?: boolean; + BundleId?: string; /** - *

The ID of the source AFI.

+ *

If the task fails, a description of the error.

*/ - SourceFpgaImageId: string | undefined; + BundleTaskError?: BundleTaskError; /** - *

The description for the new AFI.

+ *

The ID of the instance associated with this bundle task.

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

The name for the new AFI. The default is the name of the source AFI.

+ *

The level of task completion, as a percent (for example, 20%).

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

The Region that contains the source AFI.

+ *

The time this task started.

*/ - SourceRegion: string | undefined; + StartTime?: Date; /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see Ensuring idempotency.

+ *

The state of the task.

*/ - ClientToken?: string; + State?: BundleTaskState | string; + + /** + *

The Amazon S3 storage locations.

+ */ + Storage?: Storage; + + /** + *

The time of the most recent update for the task.

+ */ + UpdateTime?: Date; } -export namespace CopyFpgaImageRequest { +export namespace BundleTask { /** * @internal */ - export const filterSensitiveLog = (obj: CopyFpgaImageRequest): any => ({ + export const filterSensitiveLog = (obj: BundleTask): any => ({ ...obj, }); } -export interface CopyFpgaImageResult { +/** + *

Contains the output of BundleInstance.

+ */ +export interface BundleInstanceResult { /** - *

The ID of the new AFI.

+ *

Information about the bundle task.

*/ - FpgaImageId?: string; + BundleTask?: BundleTask; } -export namespace CopyFpgaImageResult { +export namespace BundleInstanceResult { /** * @internal */ - export const filterSensitiveLog = (obj: CopyFpgaImageResult): any => ({ + export const filterSensitiveLog = (obj: BundleInstanceResult): any => ({ ...obj, }); } /** - *

Contains the parameters for CopyImage.

+ *

Contains the parameters for CancelBundleTask.

*/ -export interface CopyImageRequest { +export interface CancelBundleTaskRequest { /** - *

Unique, case-sensitive identifier you provide to ensure - * idempotency of the request. For more information, see Ensuring idempotency - * in the Amazon EC2 API Reference.

+ *

The ID of the bundle task.

*/ - ClientToken?: string; + BundleId: string | undefined; /** - *

A description for the new AMI in the destination 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.

*/ - Description?: string; + DryRun?: boolean; +} +export namespace CancelBundleTaskRequest { /** - *

Specifies whether the destination snapshots of the copied image should be encrypted. - * You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted - * copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default - * Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

+ * @internal */ - Encrypted?: boolean; + export const filterSensitiveLog = (obj: CancelBundleTaskRequest): any => ({ + ...obj, + }); +} +/** + *

Contains the output of CancelBundleTask.

+ */ +export interface CancelBundleTaskResult { /** - *

The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating - * encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. - * If you specify a KMS key, you must also set the encrypted state to true.

- *

You can specify a KMS key using any of the following:

- *
    - *
  • - *

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    - *
  • - *
  • - *

    Key alias. For example, alias/ExampleAlias.

    - *
  • - *
  • - *

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    - *
  • - *
  • - *

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    - *
  • - *
- *

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, - * the action can appear to complete, but eventually fails.

- *

The specified KMS key must exist in the destination Region.

- *

Amazon EBS does not support asymmetric KMS keys.

+ *

Information about the bundle task.

*/ - KmsKeyId?: string; + BundleTask?: BundleTask; +} +export namespace CancelBundleTaskResult { /** - *

The name of the new AMI in the destination Region.

+ * @internal */ - Name: string | undefined; + export const filterSensitiveLog = (obj: CancelBundleTaskResult): any => ({ + ...obj, + }); +} +export interface CancelCapacityReservationRequest { /** - *

The ID of the AMI to copy.

+ *

The ID of the Capacity Reservation to be cancelled.

*/ - SourceImageId: string | undefined; + CapacityReservationId: string | undefined; /** - *

The name of the Region that contains the AMI to copy.

+ *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

*/ - SourceRegion: string | undefined; + DryRun?: boolean; +} +export namespace CancelCapacityReservationRequest { /** - *

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only - * specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. - * The AMI must be in the Region of the destination Outpost. You cannot copy an - * AMI from an Outpost to a Region, from one Outpost to another, or within the same - * Outpost.

- * - *

For more information, see - * Copying AMIs from an Amazon Web Services Region to an Outpost in the - * Amazon Elastic Compute Cloud User Guide.

+ * @internal */ - DestinationOutpostArn?: string; + export const filterSensitiveLog = (obj: CancelCapacityReservationRequest): any => ({ + ...obj, + }); +} +export interface CancelCapacityReservationResult { /** - *

Checks whether you have the required permissions for the action, without 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 CopyImageRequest { +export namespace CancelCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: CopyImageRequest): any => ({ + export const filterSensitiveLog = (obj: CancelCapacityReservationResult): any => ({ ...obj, }); } -/** - *

Contains the output of CopyImage.

- */ -export interface CopyImageResult { +export interface CancelCapacityReservationFleetsRequest { /** - *

The ID of the new AMI.

+ *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

*/ - ImageId?: string; + DryRun?: boolean; + + /** + *

The IDs of the Capacity Reservation Fleets to cancel.

+ */ + CapacityReservationFleetIds: string[] | undefined; } -export namespace CopyImageResult { +export namespace CancelCapacityReservationFleetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CopyImageResult): any => ({ + export const filterSensitiveLog = (obj: CancelCapacityReservationFleetsRequest): any => ({ ...obj, }); } -export interface CopySnapshotRequest { +/** + *

Describes a Capacity Reservation Fleet cancellation error.

+ */ +export interface CancelCapacityReservationFleetError { /** - *

A description for the EBS snapshot.

+ *

The error code.

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

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only - * specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. - * The snapshot must be in the Region for the destination Outpost. You cannot copy a - * snapshot from an Outpost to a Region, from one Outpost to another, or within the same - * Outpost.

- *

For more information, see - * Copy snapshots from an Amazon Web Services Region to an Outpost in the - * Amazon Elastic Compute Cloud User Guide.

+ *

The error message.

*/ - DestinationOutpostArn?: string; + Message?: string; +} +export namespace CancelCapacityReservationFleetError { /** - *

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 CLI, this is - * specified using the --region parameter or the default Region in your Amazon Web Services - * configuration file.

+ * @internal */ - DestinationRegion?: string; + export const filterSensitiveLog = (obj: CancelCapacityReservationFleetError): any => ({ + ...obj, + }); +} +/** + *

Describes a Capacity Reservation Fleet that could not be cancelled.

+ */ +export interface FailedCapacityReservationFleetCancellationResult { /** - *

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 - * are encrypted, even if you omit this parameter and encryption by default is not enabled. You - * cannot set this parameter to false. For more information, see Amazon EBS encryption in the - * Amazon Elastic Compute Cloud User Guide.

+ *

The ID of the Capacity Reservation Fleet that could not be cancelled.

*/ - Encrypted?: boolean; + CapacityReservationFleetId?: string; /** - *

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

- *

You can specify the KMS key using any of the following:

- *
    - *
  • - *

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    - *
  • - *
  • - *

    Key alias. For example, alias/ExampleAlias.

    - *
  • - *
  • - *

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    - *
  • - *
  • - *

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    - *
  • - *
- *

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

+ *

Information about the Capacity Reservation Fleet cancellation error.

*/ - KmsKeyId?: string; + CancelCapacityReservationFleetError?: CancelCapacityReservationFleetError; +} +export namespace FailedCapacityReservationFleetCancellationResult { /** - *

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, - * see Query - * requests.

- *

The PresignedUrl should use the snapshot source endpoint, the - * CopySnapshot action, and include the SourceRegion, - * SourceSnapshotId, and DestinationRegion parameters. The - * PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS - * snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic - * that is described in Authenticating Requests: Using Query - * Parameters (Amazon Web Services Signature Version 4) in the Amazon Simple Storage Service API Reference. An - * invalid or improperly signed PresignedUrl will cause the copy operation to fail - * asynchronously, and the snapshot will move to an error state.

+ * @internal */ - PresignedUrl?: string; + export const filterSensitiveLog = (obj: FailedCapacityReservationFleetCancellationResult): any => ({ + ...obj, + }); +} - /** - *

The ID of the Region that contains the snapshot to be copied.

- */ - SourceRegion: string | undefined; +export enum CapacityReservationFleetState { + ACTIVE = "active", + CANCELLED = "cancelled", + CANCELLING = "cancelling", + EXPIRED = "expired", + EXPIRING = "expiring", + FAILED = "failed", + MODIFYING = "modifying", + PARTIALLY_FULFILLED = "partially_fulfilled", + SUBMITTED = "submitted", +} +/** + *

Describes a Capacity Reservation Fleet that was successfully cancelled.

+ */ +export interface CapacityReservationFleetCancellationState { /** - *

The ID of the EBS snapshot to copy.

+ *

The current state of the Capacity Reservation Fleet.

*/ - SourceSnapshotId: string | undefined; + CurrentFleetState?: CapacityReservationFleetState | string; /** - *

The tags to apply to the new snapshot.

+ *

The previous state of the Capacity Reservation Fleet.

*/ - TagSpecifications?: TagSpecification[]; + PreviousFleetState?: CapacityReservationFleetState | 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 Capacity Reservation Fleet that was successfully cancelled.

*/ - DryRun?: boolean; + CapacityReservationFleetId?: string; } -export namespace CopySnapshotRequest { +export namespace CapacityReservationFleetCancellationState { /** * @internal */ - export const filterSensitiveLog = (obj: CopySnapshotRequest): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationFleetCancellationState): any => ({ ...obj, }); } -export interface CopySnapshotResult { +export interface CancelCapacityReservationFleetsResult { /** - *

The ID of the new snapshot.

+ *

Information about the Capacity Reservation Fleets that were successfully cancelled.

*/ - SnapshotId?: string; + SuccessfulFleetCancellations?: CapacityReservationFleetCancellationState[]; /** - *

Any tags applied to the new snapshot.

+ *

Information about the Capacity Reservation Fleets that could not be cancelled.

*/ - Tags?: Tag[]; + FailedFleetCancellations?: FailedCapacityReservationFleetCancellationResult[]; } -export namespace CopySnapshotResult { +export namespace CancelCapacityReservationFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: CopySnapshotResult): any => ({ + export const filterSensitiveLog = (obj: CancelCapacityReservationFleetsResult): any => ({ ...obj, }); } -export type EndDateType = "limited" | "unlimited"; - -export type InstanceMatchCriteria = "open" | "targeted"; - -export enum CapacityReservationInstancePlatform { - LINUX_UNIX = "Linux/UNIX", - LINUX_WITH_SQL_SERVER_ENTERPRISE = "Linux with SQL Server Enterprise", - LINUX_WITH_SQL_SERVER_STANDARD = "Linux with SQL Server Standard", - LINUX_WITH_SQL_SERVER_WEB = "Linux with SQL Server Web", - RED_HAT_ENTERPRISE_LINUX = "Red Hat Enterprise Linux", - SUSE_LINUX = "SUSE Linux", - WINDOWS = "Windows", - WINDOWS_WITH_SQL_SERVER = "Windows with SQL Server", - WINDOWS_WITH_SQL_SERVER_ENTERPRISE = "Windows with SQL Server Enterprise", - WINDOWS_WITH_SQL_SERVER_STANDARD = "Windows with SQL Server Standard", - WINDOWS_WITH_SQL_SERVER_WEB = "Windows with SQL Server Web", -} - -export type CapacityReservationTenancy = "dedicated" | "default"; - -export interface CreateCapacityReservationRequest { +export interface CancelConversionRequest { /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

+ *

The ID of the conversion task.

*/ - ClientToken?: string; + ConversionTaskId: string | undefined; /** - *

The instance type for which to reserve capacity. For more information, see Instance types in the Amazon EC2 User Guide.

+ *

Checks whether you have the required permissions for the action, without 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 | undefined; + DryRun?: boolean; /** - *

The type of operating system for which to reserve capacity.

+ *

The reason for canceling the conversion task.

*/ - InstancePlatform: CapacityReservationInstancePlatform | string | undefined; + ReasonMessage?: string; +} +export namespace CancelConversionRequest { /** - *

The Availability Zone in which to create the Capacity Reservation.

+ * @internal */ - AvailabilityZone?: string; + export const filterSensitiveLog = (obj: CancelConversionRequest): any => ({ + ...obj, + }); +} +export interface CancelExportTaskRequest { /** - *

The ID of the Availability Zone in which to create the Capacity Reservation.

+ *

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

*/ - AvailabilityZoneId?: string; + ExportTaskId: string | undefined; +} +export namespace CancelExportTaskRequest { /** - *

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 Amazon Web Services accounts.

    - *
  • - *
  • - *

    - * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    - *
  • - *
+ * @internal */ - Tenancy?: CapacityReservationTenancy | string; + export const filterSensitiveLog = (obj: CancelExportTaskRequest): any => ({ + ...obj, + }); +} +export interface CancelImportTaskRequest { /** - *

The number of instances for which to reserve capacity.

- *

Valid range: 1 - 1000

+ *

The reason for canceling the task.

*/ - InstanceCount: number | undefined; + CancelReason?: 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.

+ *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

*/ - EbsOptimized?: boolean; + DryRun?: boolean; /** - *

Indicates whether the Capacity Reservation supports instances with temporary, block-level - * storage.

+ *

The ID of the import image or import snapshot task to be canceled.

*/ - EphemeralStorage?: boolean; + ImportTaskId?: string; +} +export namespace CancelImportTaskRequest { /** - *

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.

+ * @internal */ - EndDate?: Date; + export const filterSensitiveLog = (obj: CancelImportTaskRequest): any => ({ + ...obj, + }); +} +export interface CancelImportTaskResult { /** - *

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. Do not - * provide an EndDate if the EndDateType is - * unlimited.

    - *
  • - *
  • - *

    - * limited - The Capacity Reservation expires automatically at a specified date and time. You must - * provide an EndDate value if the EndDateType value is - * limited.

    - *
  • - *
+ *

The ID of the task being canceled.

*/ - EndDateType?: EndDateType | string; + ImportTaskId?: string; /** - *

Indicates the type of instance launches that the Capacity Reservation accepts. The options - * include:

- *
    - *
  • - *

    - * open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, - * and Availability Zone). Instances that have matching attributes run in 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.

    - *
  • - *
- *

Default: open - *

+ *

The current state of the task being canceled.

*/ - InstanceMatchCriteria?: InstanceMatchCriteria | string; + PreviousState?: string; /** - *

The tags to apply to the Capacity Reservation during launch.

+ *

The current state of the task being canceled.

*/ - TagSpecifications?: TagSpecification[]; + State?: string; +} +export namespace CancelImportTaskResult { /** - *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: CancelImportTaskResult): any => ({ + ...obj, + }); +} +/** + *

Contains the parameters for CancelReservedInstancesListing.

+ */ +export interface CancelReservedInstancesListingRequest { /** - *

The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.

+ *

The ID of the Reserved Instance listing.

*/ - OutpostArn?: string; + ReservedInstancesListingId: string | undefined; } -export namespace CreateCapacityReservationRequest { +export namespace CancelReservedInstancesListingRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: CancelReservedInstancesListingRequest): any => ({ ...obj, }); } -export type CapacityReservationState = "active" | "cancelled" | "expired" | "failed" | "pending"; +export type ListingState = "available" | "cancelled" | "pending" | "sold"; /** - *

Describes a Capacity Reservation.

+ *

Describes a Reserved Instance listing state.

*/ -export interface CapacityReservation { +export interface InstanceCount { /** - *

The ID of the Capacity Reservation.

+ *

The number of listed Reserved Instances in the state specified by the state.

*/ - CapacityReservationId?: string; + InstanceCount?: number; /** - *

The ID of the Amazon Web Services account that owns the Capacity Reservation.

+ *

The states of the listed Reserved Instances.

*/ - OwnerId?: string; + State?: ListingState | string; +} +export namespace InstanceCount { /** - *

The Amazon Resource Name (ARN) of the Capacity Reservation.

+ * @internal */ - CapacityReservationArn?: string; + export const filterSensitiveLog = (obj: InstanceCount): any => ({ + ...obj, + }); +} + +export type CurrencyCodeValues = "USD"; +/** + *

Describes the price for a Reserved Instance.

+ */ +export interface PriceSchedule { /** - *

The Availability Zone ID of the Capacity Reservation.

+ *

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.

*/ - AvailabilityZoneId?: string; + Active?: boolean; /** - *

The type of instance for which the Capacity Reservation reserves capacity.

+ *

The currency for transacting the Reserved Instance resale. + * At this time, the only supported currency is USD.

*/ - InstanceType?: string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

The type of operating system for which the Capacity Reservation reserves capacity.

+ *

The fixed price for the term.

*/ - InstancePlatform?: CapacityReservationInstancePlatform | string; + Price?: number; /** - *

The Availability Zone in which the capacity is reserved.

+ *

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

*/ - AvailabilityZone?: string; + Term?: number; +} +export namespace PriceSchedule { /** - *

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 Amazon Web Services accounts.

    - *
  • - *
  • - *

    - * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    - *
  • - *
+ * @internal */ - Tenancy?: CapacityReservationTenancy | string; + export const filterSensitiveLog = (obj: PriceSchedule): any => ({ + ...obj, + }); +} +export type ListingStatus = "active" | "cancelled" | "closed" | "pending"; + +/** + *

Describes a Reserved Instance listing.

+ */ +export interface ReservedInstancesListing { /** - *

The total number of instances for which the Capacity Reservation reserves capacity.

+ *

A unique, case-sensitive key supplied by the client to ensure that the request is + * idempotent. For more information, see Ensuring Idempotency.

*/ - TotalInstanceCount?: number; + ClientToken?: string; /** - *

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

+ *

The time the listing was created.

*/ - AvailableInstanceCount?: number; + CreateDate?: Date; /** - *

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 number of instances in this state.

*/ - EbsOptimized?: boolean; + InstanceCounts?: InstanceCount[]; /** - *

Indicates whether the Capacity Reservation supports instances with temporary, block-level - * storage.

+ *

The price of the Reserved Instance listing.

*/ - EphemeralStorage?: boolean; + PriceSchedules?: PriceSchedule[]; /** - *

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 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 Reserved Instance.

*/ - State?: CapacityReservationState | string; + ReservedInstancesId?: string; /** - *

The date and time at which the Capacity Reservation was started.

+ *

The ID of the Reserved Instance listing.

*/ - StartDate?: Date; + ReservedInstancesListingId?: 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.

+ *

The status of the Reserved Instance listing.

*/ - EndDate?: Date; + Status?: ListingStatus | 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 reason for the current status of the Reserved Instance listing. The response can be blank.

*/ - EndDateType?: EndDateType | string; + StatusMessage?: 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.

    - *
  • - *
+ *

Any tags assigned to the resource.

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

The date and time at which the Capacity Reservation was created.

+ *

The last modified timestamp of the listing.

*/ - CreateDate?: Date; + UpdateDate?: Date; +} +export namespace ReservedInstancesListing { /** - *

Any tags assigned to the Capacity Reservation.

+ * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: ReservedInstancesListing): any => ({ + ...obj, + }); +} +/** + *

Contains the output of CancelReservedInstancesListing.

+ */ +export interface CancelReservedInstancesListingResult { /** - *

The Amazon Resource Name (ARN) of the Outpost on which the Capacity - * Reservation was created.

+ *

The Reserved Instance listing.

*/ - OutpostArn?: string; + ReservedInstancesListings?: ReservedInstancesListing[]; +} +export namespace CancelReservedInstancesListingResult { /** - *

The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. - * Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

+ * @internal */ - CapacityReservationFleetId?: string; + export const filterSensitiveLog = (obj: CancelReservedInstancesListingResult): any => ({ + ...obj, + }); } -export namespace CapacityReservation { +/** + *

Contains the parameters for CancelSpotFleetRequests.

+ */ +export interface CancelSpotFleetRequestsRequest { + /** + *

Checks whether you have the required permissions for the action, without 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 Spot Fleet requests.

+ */ + SpotFleetRequestIds: string[] | undefined; + + /** + *

Indicates whether to terminate instances for a Spot Fleet request if it is canceled + * successfully.

+ */ + TerminateInstances: boolean | undefined; +} + +export namespace CancelSpotFleetRequestsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservation): any => ({ + export const filterSensitiveLog = (obj: CancelSpotFleetRequestsRequest): any => ({ ...obj, }); } -export interface CreateCapacityReservationResult { +export enum BatchState { + ACTIVE = "active", + CANCELLED = "cancelled", + CANCELLED_RUNNING = "cancelled_running", + CANCELLED_TERMINATING_INSTANCES = "cancelled_terminating", + FAILED = "failed", + MODIFYING = "modifying", + SUBMITTED = "submitted", +} + +/** + *

Describes a Spot Fleet request that was successfully canceled.

+ */ +export interface CancelSpotFleetRequestsSuccessItem { /** - *

Information about the Capacity Reservation.

+ *

The current state of the Spot Fleet request.

*/ - CapacityReservation?: CapacityReservation; + CurrentSpotFleetRequestState?: BatchState | string; + + /** + *

The previous state of the Spot Fleet request.

+ */ + PreviousSpotFleetRequestState?: BatchState | string; + + /** + *

The ID of the Spot Fleet request.

+ */ + SpotFleetRequestId?: string; } -export namespace CreateCapacityReservationResult { +export namespace CancelSpotFleetRequestsSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: CreateCapacityReservationResult): any => ({ + export const filterSensitiveLog = (obj: CancelSpotFleetRequestsSuccessItem): any => ({ ...obj, }); } -export enum FleetInstanceMatchCriteria { - open = "open", +export enum CancelBatchErrorCode { + FLEET_REQUEST_ID_DOES_NOT_EXIST = "fleetRequestIdDoesNotExist", + FLEET_REQUEST_ID_MALFORMED = "fleetRequestIdMalformed", + FLEET_REQUEST_NOT_IN_CANCELLABLE_STATE = "fleetRequestNotInCancellableState", + UNEXPECTED_ERROR = "unexpectedError", } -export type _InstanceType = - | "a1.2xlarge" - | "a1.4xlarge" - | "a1.large" - | "a1.medium" - | "a1.metal" - | "a1.xlarge" - | "c1.medium" - | "c1.xlarge" - | "c3.2xlarge" - | "c3.4xlarge" - | "c3.8xlarge" - | "c3.large" - | "c3.xlarge" - | "c4.2xlarge" - | "c4.4xlarge" - | "c4.8xlarge" - | "c4.large" - | "c4.xlarge" - | "c5.12xlarge" - | "c5.18xlarge" - | "c5.24xlarge" - | "c5.2xlarge" - | "c5.4xlarge" - | "c5.9xlarge" - | "c5.large" - | "c5.metal" - | "c5.xlarge" - | "c5a.12xlarge" - | "c5a.16xlarge" - | "c5a.24xlarge" - | "c5a.2xlarge" - | "c5a.4xlarge" - | "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" - | "c5d.2xlarge" - | "c5d.4xlarge" - | "c5d.9xlarge" - | "c5d.large" - | "c5d.metal" - | "c5d.xlarge" - | "c5n.18xlarge" - | "c5n.2xlarge" - | "c5n.4xlarge" - | "c5n.9xlarge" - | "c5n.large" - | "c5n.metal" - | "c5n.xlarge" - | "c6g.12xlarge" - | "c6g.16xlarge" - | "c6g.2xlarge" - | "c6g.4xlarge" - | "c6g.8xlarge" - | "c6g.large" - | "c6g.medium" - | "c6g.metal" - | "c6g.xlarge" - | "c6gd.12xlarge" - | "c6gd.16xlarge" - | "c6gd.2xlarge" - | "c6gd.4xlarge" - | "c6gd.8xlarge" - | "c6gd.large" - | "c6gd.medium" - | "c6gd.metal" - | "c6gd.xlarge" - | "c6gn.12xlarge" - | "c6gn.16xlarge" - | "c6gn.2xlarge" - | "c6gn.4xlarge" - | "c6gn.8xlarge" - | "c6gn.large" - | "c6gn.medium" - | "c6gn.xlarge" - | "c6i.12xlarge" - | "c6i.16xlarge" - | "c6i.24xlarge" - | "c6i.2xlarge" - | "c6i.32xlarge" - | "c6i.4xlarge" - | "c6i.8xlarge" - | "c6i.large" - | "c6i.xlarge" - | "cc1.4xlarge" - | "cc2.8xlarge" - | "cg1.4xlarge" - | "cr1.8xlarge" - | "d2.2xlarge" - | "d2.4xlarge" - | "d2.8xlarge" - | "d2.xlarge" - | "d3.2xlarge" - | "d3.4xlarge" - | "d3.8xlarge" - | "d3.xlarge" - | "d3en.12xlarge" - | "d3en.2xlarge" - | "d3en.4xlarge" - | "d3en.6xlarge" - | "d3en.8xlarge" - | "d3en.xlarge" - | "dl1.24xlarge" - | "f1.16xlarge" - | "f1.2xlarge" - | "f1.4xlarge" - | "g2.2xlarge" - | "g2.8xlarge" - | "g3.16xlarge" - | "g3.4xlarge" - | "g3.8xlarge" - | "g3s.xlarge" - | "g4ad.16xlarge" - | "g4ad.2xlarge" - | "g4ad.4xlarge" - | "g4ad.8xlarge" - | "g4ad.xlarge" - | "g4dn.12xlarge" - | "g4dn.16xlarge" - | "g4dn.2xlarge" - | "g4dn.4xlarge" - | "g4dn.8xlarge" - | "g4dn.metal" - | "g4dn.xlarge" - | "g5.12xlarge" - | "g5.16xlarge" - | "g5.24xlarge" - | "g5.2xlarge" - | "g5.48xlarge" - | "g5.4xlarge" - | "g5.8xlarge" - | "g5.xlarge" - | "g5g.16xlarge" - | "g5g.2xlarge" - | "g5g.4xlarge" - | "g5g.8xlarge" - | "g5g.metal" - | "g5g.xlarge" - | "h1.16xlarge" - | "h1.2xlarge" - | "h1.4xlarge" - | "h1.8xlarge" - | "hi1.4xlarge" - | "hs1.8xlarge" - | "i2.2xlarge" - | "i2.4xlarge" - | "i2.8xlarge" - | "i2.xlarge" - | "i3.16xlarge" - | "i3.2xlarge" - | "i3.4xlarge" - | "i3.8xlarge" - | "i3.large" - | "i3.metal" - | "i3.xlarge" - | "i3en.12xlarge" - | "i3en.24xlarge" - | "i3en.2xlarge" - | "i3en.3xlarge" - | "i3en.6xlarge" - | "i3en.large" - | "i3en.metal" - | "i3en.xlarge" - | "im4gn.16xlarge" - | "im4gn.2xlarge" - | "im4gn.4xlarge" - | "im4gn.8xlarge" - | "im4gn.large" - | "im4gn.xlarge" - | "inf1.24xlarge" - | "inf1.2xlarge" - | "inf1.6xlarge" - | "inf1.xlarge" - | "is4gen.2xlarge" - | "is4gen.4xlarge" - | "is4gen.8xlarge" - | "is4gen.large" - | "is4gen.medium" - | "is4gen.xlarge" - | "m1.large" - | "m1.medium" - | "m1.small" - | "m1.xlarge" - | "m2.2xlarge" - | "m2.4xlarge" - | "m2.xlarge" - | "m3.2xlarge" - | "m3.large" - | "m3.medium" - | "m3.xlarge" - | "m4.10xlarge" - | "m4.16xlarge" - | "m4.2xlarge" - | "m4.4xlarge" - | "m4.large" - | "m4.xlarge" - | "m5.12xlarge" - | "m5.16xlarge" - | "m5.24xlarge" - | "m5.2xlarge" - | "m5.4xlarge" - | "m5.8xlarge" - | "m5.large" - | "m5.metal" - | "m5.xlarge" - | "m5a.12xlarge" - | "m5a.16xlarge" - | "m5a.24xlarge" - | "m5a.2xlarge" - | "m5a.4xlarge" - | "m5a.8xlarge" - | "m5a.large" - | "m5a.xlarge" - | "m5ad.12xlarge" - | "m5ad.16xlarge" - | "m5ad.24xlarge" - | "m5ad.2xlarge" - | "m5ad.4xlarge" - | "m5ad.8xlarge" - | "m5ad.large" - | "m5ad.xlarge" - | "m5d.12xlarge" - | "m5d.16xlarge" - | "m5d.24xlarge" - | "m5d.2xlarge" - | "m5d.4xlarge" - | "m5d.8xlarge" - | "m5d.large" - | "m5d.metal" - | "m5d.xlarge" - | "m5dn.12xlarge" - | "m5dn.16xlarge" - | "m5dn.24xlarge" - | "m5dn.2xlarge" - | "m5dn.4xlarge" - | "m5dn.8xlarge" - | "m5dn.large" - | "m5dn.metal" - | "m5dn.xlarge" - | "m5n.12xlarge" - | "m5n.16xlarge" - | "m5n.24xlarge" - | "m5n.2xlarge" - | "m5n.4xlarge" - | "m5n.8xlarge" - | "m5n.large" - | "m5n.metal" - | "m5n.xlarge" - | "m5zn.12xlarge" - | "m5zn.2xlarge" - | "m5zn.3xlarge" - | "m5zn.6xlarge" - | "m5zn.large" - | "m5zn.metal" - | "m5zn.xlarge" - | "m6a.12xlarge" - | "m6a.16xlarge" - | "m6a.24xlarge" - | "m6a.2xlarge" - | "m6a.32xlarge" - | "m6a.48xlarge" - | "m6a.4xlarge" - | "m6a.8xlarge" - | "m6a.large" - | "m6a.xlarge" - | "m6g.12xlarge" - | "m6g.16xlarge" - | "m6g.2xlarge" - | "m6g.4xlarge" - | "m6g.8xlarge" - | "m6g.large" - | "m6g.medium" - | "m6g.metal" - | "m6g.xlarge" - | "m6gd.12xlarge" - | "m6gd.16xlarge" - | "m6gd.2xlarge" - | "m6gd.4xlarge" - | "m6gd.8xlarge" - | "m6gd.large" - | "m6gd.medium" - | "m6gd.metal" - | "m6gd.xlarge" - | "m6i.12xlarge" - | "m6i.16xlarge" - | "m6i.24xlarge" - | "m6i.2xlarge" - | "m6i.32xlarge" - | "m6i.4xlarge" - | "m6i.8xlarge" - | "m6i.large" - | "m6i.xlarge" - | "mac1.metal" - | "p2.16xlarge" - | "p2.8xlarge" - | "p2.xlarge" - | "p3.16xlarge" - | "p3.2xlarge" - | "p3.8xlarge" - | "p3dn.24xlarge" - | "p4d.24xlarge" - | "r3.2xlarge" - | "r3.4xlarge" - | "r3.8xlarge" - | "r3.large" - | "r3.xlarge" - | "r4.16xlarge" - | "r4.2xlarge" - | "r4.4xlarge" - | "r4.8xlarge" - | "r4.large" - | "r4.xlarge" - | "r5.12xlarge" - | "r5.16xlarge" - | "r5.24xlarge" - | "r5.2xlarge" - | "r5.4xlarge" - | "r5.8xlarge" - | "r5.large" - | "r5.metal" - | "r5.xlarge" - | "r5a.12xlarge" - | "r5a.16xlarge" - | "r5a.24xlarge" - | "r5a.2xlarge" - | "r5a.4xlarge" - | "r5a.8xlarge" - | "r5a.large" - | "r5a.xlarge" - | "r5ad.12xlarge" - | "r5ad.16xlarge" - | "r5ad.24xlarge" - | "r5ad.2xlarge" - | "r5ad.4xlarge" - | "r5ad.8xlarge" - | "r5ad.large" - | "r5ad.xlarge" - | "r5b.12xlarge" - | "r5b.16xlarge" - | "r5b.24xlarge" - | "r5b.2xlarge" - | "r5b.4xlarge" - | "r5b.8xlarge" - | "r5b.large" - | "r5b.metal" - | "r5b.xlarge" - | "r5d.12xlarge" - | "r5d.16xlarge" - | "r5d.24xlarge" - | "r5d.2xlarge" - | "r5d.4xlarge" - | "r5d.8xlarge" - | "r5d.large" - | "r5d.metal" - | "r5d.xlarge" - | "r5dn.12xlarge" - | "r5dn.16xlarge" - | "r5dn.24xlarge" - | "r5dn.2xlarge" - | "r5dn.4xlarge" - | "r5dn.8xlarge" - | "r5dn.large" - | "r5dn.metal" - | "r5dn.xlarge" - | "r5n.12xlarge" - | "r5n.16xlarge" - | "r5n.24xlarge" - | "r5n.2xlarge" - | "r5n.4xlarge" - | "r5n.8xlarge" - | "r5n.large" - | "r5n.metal" - | "r5n.xlarge" - | "r6g.12xlarge" - | "r6g.16xlarge" - | "r6g.2xlarge" - | "r6g.4xlarge" - | "r6g.8xlarge" - | "r6g.large" - | "r6g.medium" - | "r6g.metal" - | "r6g.xlarge" - | "r6gd.12xlarge" - | "r6gd.16xlarge" - | "r6gd.2xlarge" - | "r6gd.4xlarge" - | "r6gd.8xlarge" - | "r6gd.large" - | "r6gd.medium" - | "r6gd.metal" - | "r6gd.xlarge" - | "t1.micro" - | "t2.2xlarge" - | "t2.large" - | "t2.medium" - | "t2.micro" - | "t2.nano" - | "t2.small" - | "t2.xlarge" - | "t3.2xlarge" - | "t3.large" - | "t3.medium" - | "t3.micro" - | "t3.nano" - | "t3.small" - | "t3.xlarge" - | "t3a.2xlarge" - | "t3a.large" - | "t3a.medium" - | "t3a.micro" - | "t3a.nano" - | "t3a.small" - | "t3a.xlarge" - | "t4g.2xlarge" - | "t4g.large" - | "t4g.medium" - | "t4g.micro" - | "t4g.nano" - | "t4g.small" - | "t4g.xlarge" - | "u-12tb1.112xlarge" - | "u-12tb1.metal" - | "u-18tb1.metal" - | "u-24tb1.metal" - | "u-6tb1.112xlarge" - | "u-6tb1.56xlarge" - | "u-6tb1.metal" - | "u-9tb1.112xlarge" - | "u-9tb1.metal" - | "vt1.24xlarge" - | "vt1.3xlarge" - | "vt1.6xlarge" - | "x1.16xlarge" - | "x1.32xlarge" - | "x1e.16xlarge" - | "x1e.2xlarge" - | "x1e.32xlarge" - | "x1e.4xlarge" - | "x1e.8xlarge" - | "x1e.xlarge" - | "x2gd.12xlarge" - | "x2gd.16xlarge" - | "x2gd.2xlarge" - | "x2gd.4xlarge" - | "x2gd.8xlarge" - | "x2gd.large" - | "x2gd.medium" - | "x2gd.metal" - | "x2gd.xlarge" - | "z1d.12xlarge" - | "z1d.2xlarge" - | "z1d.3xlarge" - | "z1d.6xlarge" - | "z1d.large" - | "z1d.metal" - | "z1d.xlarge"; +/** + *

Describes a Spot Fleet error.

+ */ +export interface CancelSpotFleetRequestsError { + /** + *

The error code.

+ */ + Code?: CancelBatchErrorCode | string; + + /** + *

The description for the error code.

+ */ + Message?: string; +} + +export namespace CancelSpotFleetRequestsError { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CancelSpotFleetRequestsError): any => ({ + ...obj, + }); +} /** - *

Information about an instance type to use in a Capacity Reservation Fleet.

+ *

Describes a Spot Fleet request that was not successfully canceled.

*/ -export interface ReservationFleetInstanceSpecification { +export interface CancelSpotFleetRequestsErrorItem { /** - *

The instance type for which the Capacity Reservation Fleet reserves capacity.

+ *

The error.

*/ - InstanceType?: _InstanceType | string; + Error?: CancelSpotFleetRequestsError; /** - *

The type of operating system for which the Capacity Reservation Fleet reserves capacity.

+ *

The ID of the Spot Fleet request.

*/ - InstancePlatform?: CapacityReservationInstancePlatform | string; + SpotFleetRequestId?: string; +} +export namespace CancelSpotFleetRequestsErrorItem { /** - *

The number of capacity units provided by the specified instance type. This value, together with the - * total target capacity that you specify for the Fleet determine the number of instances for which the - * Fleet reserves capacity. Both values are based on units that make sense for your workload. For more - * information, see Total target capacity - * in the Amazon EC2 User Guide.

+ * @internal */ - Weight?: number; + export const filterSensitiveLog = (obj: CancelSpotFleetRequestsErrorItem): any => ({ + ...obj, + }); +} +/** + *

Contains the output of CancelSpotFleetRequests.

+ */ +export interface CancelSpotFleetRequestsResponse { /** - *

The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity - * Reservation Fleet can't span Availability Zones. All instance type specifications that you specify - * for the Fleet must use the same Availability Zone.

+ *

Information about the Spot Fleet requests that are successfully canceled.

*/ - AvailabilityZone?: string; + SuccessfulFleetRequests?: CancelSpotFleetRequestsSuccessItem[]; /** - *

The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A - * Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you - * specify for the Fleet must use the same Availability Zone.

+ *

Information about the Spot Fleet requests that are not successfully canceled.

*/ - AvailabilityZoneId?: string; + UnsuccessfulFleetRequests?: CancelSpotFleetRequestsErrorItem[]; +} +export namespace CancelSpotFleetRequestsResponse { /** - *

Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. 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 EBS-optimized instance types.

+ * @internal */ - EbsOptimized?: boolean; + export const filterSensitiveLog = (obj: CancelSpotFleetRequestsResponse): any => ({ + ...obj, + }); +} +/** + *

Contains the parameters for CancelSpotInstanceRequests.

+ */ +export interface CancelSpotInstanceRequestsRequest { /** - *

The priority to assign to the instance type. This value is used to determine which of the instance types - * specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more - * information, see Instance type priority - * in the Amazon EC2 User Guide.

+ *

Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

*/ - Priority?: number; + DryRun?: boolean; + + /** + *

One or more Spot Instance request IDs.

+ */ + SpotInstanceRequestIds: string[] | undefined; } -export namespace ReservationFleetInstanceSpecification { +export namespace CancelSpotInstanceRequestsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservationFleetInstanceSpecification): any => ({ + export const filterSensitiveLog = (obj: CancelSpotInstanceRequestsRequest): any => ({ ...obj, }); } -export enum FleetCapacityReservationTenancy { - default = "default", +export type CancelSpotInstanceRequestState = "active" | "cancelled" | "closed" | "completed" | "open"; + +/** + *

Describes a request to cancel a Spot Instance.

+ */ +export interface CancelledSpotInstanceRequest { + /** + *

The ID of the Spot Instance request.

+ */ + SpotInstanceRequestId?: string; + + /** + *

The state of the Spot Instance request.

+ */ + State?: CancelSpotInstanceRequestState | string; } -export interface CreateCapacityReservationFleetRequest { +export namespace CancelledSpotInstanceRequest { /** - *

The strategy used by the Capacity Reservation Fleet to determine which of the - * specified instance types to use. Currently, only the prioritized - * allocation strategy is supported. For more information, see - * Allocation strategy in the Amazon EC2 User Guide.

- *

Valid values: prioritized - *

+ * @internal + */ + export const filterSensitiveLog = (obj: CancelledSpotInstanceRequest): any => ({ + ...obj, + }); +} + +/** + *

Contains the output of CancelSpotInstanceRequests.

+ */ +export interface CancelSpotInstanceRequestsResult { + /** + *

One or more Spot Instance requests.

+ */ + CancelledSpotInstanceRequests?: CancelledSpotInstanceRequest[]; +} + +export namespace CancelSpotInstanceRequestsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CancelSpotInstanceRequestsResult): any => ({ + ...obj, + }); +} + +export interface ConfirmProductInstanceRequest { + /** + *

The ID of the instance.

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

The product code. This must be a product code that you own.

+ */ + ProductCode: 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 ConfirmProductInstanceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConfirmProductInstanceRequest): any => ({ + ...obj, + }); +} + +export interface ConfirmProductInstanceResult { + /** + *

The Amazon Web Services account ID of the instance owner. This is only present if the product code is + * attached to the instance.

+ */ + OwnerId?: string; + + /** + *

The return value of the request. Returns true if the specified product + * code is owned by the requester and associated with the specified instance.

+ */ + Return?: boolean; +} + +export namespace ConfirmProductInstanceResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConfirmProductInstanceResult): any => ({ + ...obj, + }); +} + +export interface CopyFpgaImageRequest { + /** + *

Checks whether you have the required permissions for the action, without 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 source AFI.

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

The description for the new AFI.

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

The name for the new AFI. The default is the name of the source AFI.

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

The Region that contains the source AFI.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see Ensuring idempotency.

+ */ + ClientToken?: string; +} + +export namespace CopyFpgaImageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CopyFpgaImageRequest): any => ({ + ...obj, + }); +} + +export interface CopyFpgaImageResult { + /** + *

The ID of the new AFI.

+ */ + FpgaImageId?: string; +} + +export namespace CopyFpgaImageResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CopyFpgaImageResult): any => ({ + ...obj, + }); +} + +/** + *

Contains the parameters for CopyImage.

+ */ +export interface CopyImageRequest { + /** + *

Unique, case-sensitive identifier you provide to ensure + * idempotency of the request. For more information, see Ensuring idempotency + * in the Amazon EC2 API Reference.

*/ - AllocationStrategy?: string; + ClientToken?: string; /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

+ *

A description for the new AMI in the destination Region.

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

Information about the instance types for which to reserve the capacity.

+ *

Specifies whether the destination snapshots of the copied image should be encrypted. + * You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted + * copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default + * Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

*/ - InstanceTypeSpecifications: ReservationFleetInstanceSpecification[] | undefined; + Encrypted?: boolean; /** - *

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations - * in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of - * the following tenancy settings:

- *
    + *

    The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating + * encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. + * If you specify a KMS key, you must also set the encrypted state to true.

    + *

    You can specify a KMS key using any of the following:

    + *
      *
    • - *

      - * default - The Capacity Reservation Fleet is created on hardware - * that is shared with other Amazon Web Services accounts.

      - *
    • + *

      Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

      + * *
    • - *

      - * dedicated - The Capacity Reservations are created on single-tenant - * hardware that is dedicated to a single Amazon Web Services account.

      - *
    • + *

      Key alias. For example, alias/ExampleAlias.

      + * + *
    • + *

      Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

      + *
    • + *
    • + *

      Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

      + *
    • *
    + *

    Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, + * the action can appear to complete, but eventually fails.

    + *

    The specified KMS key must exist in the destination Region.

    + *

    Amazon EBS does not support asymmetric KMS keys.

    */ - Tenancy?: FleetCapacityReservationTenancy | string; + KmsKeyId?: string; /** - *

    The total number of capacity units to be reserved by the Capacity Reservation Fleet. This - * value, together with the instance type weights that you assign to each instance type used by - * the Fleet determine the number of instances for which the Fleet reserves capacity. Both values - * are based on units that make sense for your workload. For more information, see - * Total target capacity in the Amazon EC2 User Guide.

    + *

    The name of the new AMI in the destination Region.

    */ - TotalTargetCapacity: number | undefined; + Name: string | undefined; /** - *

    The date and time at which the Capacity Reservation Fleet expires. When the Capacity - * Reservation Fleet expires, its state changes to expired and all of the Capacity - * Reservations in the Fleet expire.

    - *

    The Capacity Reservation Fleet expires within an hour after the specified time. For example, - * if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet - * is guaranteed to expire between 13:30:55 and 14:30:55 on - * 5/31/2019. - *

    + *

    The ID of the AMI to copy.

    */ - EndDate?: Date; + SourceImageId: string | undefined; /** - *

    Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All - * Capacity Reservations in the Fleet inherit this instance matching criteria.

    - *

    Currently, Capacity Reservation Fleets support open instance matching criteria - * only. This means that instances that have matching attributes (instance type, platform, and - * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to - * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

    + *

    The name of the Region that contains the AMI to copy.

    */ - InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; + SourceRegion: string | undefined; /** - *

    The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned - * to the Capacity Reservations in the Fleet.

    + *

    The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only + * specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. + * The AMI must be in the Region of the destination Outpost. You cannot copy an + * AMI from an Outpost to a Region, from one Outpost to another, or within the same + * Outpost.

    + * + *

    For more information, see + * Copying AMIs from an Amazon Web Services Region to an Outpost in the + * Amazon Elastic Compute Cloud User Guide.

    */ - TagSpecifications?: TagSpecification[]; + DestinationOutpostArn?: 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.

    + *

    Checks whether you have the required permissions for the action, without 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 CreateCapacityReservationFleetRequest { +export namespace CopyImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateCapacityReservationFleetRequest): any => ({ + export const filterSensitiveLog = (obj: CopyImageRequest): any => ({ ...obj, }); } /** - *

    Information about a Capacity Reservation in a Capacity Reservation Fleet.

    + *

    Contains the output of CopyImage.

    */ -export interface FleetCapacityReservation { +export interface CopyImageResult { /** - *

    The ID of the Capacity Reservation.

    + *

    The ID of the new AMI.

    */ - CapacityReservationId?: string; + ImageId?: string; +} +export namespace CopyImageResult { /** - *

    The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

    + * @internal */ - AvailabilityZoneId?: string; + export const filterSensitiveLog = (obj: CopyImageResult): any => ({ + ...obj, + }); +} +export interface CopySnapshotRequest { /** - *

    The instance type for which the Capacity Reservation reserves capacity.

    + *

    A description for the EBS snapshot.

    */ - InstanceType?: _InstanceType | string; + Description?: string; /** - *

    The type of operating system for which the Capacity Reservation reserves capacity.

    + *

    The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only + * specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. + * The snapshot must be in the Region for the destination Outpost. You cannot copy a + * snapshot from an Outpost to a Region, from one Outpost to another, or within the same + * Outpost.

    + *

    For more information, see + * Copy snapshots from an Amazon Web Services Region to an Outpost in the + * Amazon Elastic Compute Cloud User Guide.

    */ - InstancePlatform?: CapacityReservationInstancePlatform | string; + DestinationOutpostArn?: string; /** - *

    The Availability Zone in which the Capacity Reservation reserves capacity.

    + *

    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 CLI, this is + * specified using the --region parameter or the default Region in your Amazon Web Services + * configuration file.

    */ - AvailabilityZone?: string; + DestinationRegion?: string; /** - *

    The total number of instances for which the Capacity Reservation reserves capacity.

    + *

    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 + * are encrypted, even if you omit this parameter and encryption by default is not enabled. You + * cannot set this parameter to false. For more information, see Amazon EBS encryption in the + * Amazon Elastic Compute Cloud User Guide.

    */ - TotalInstanceCount?: number; + Encrypted?: boolean; /** - *

    The number of capacity units fulfilled by the Capacity Reservation. For more information, see - * - * Total target capacity in the Amazon EC2 User Guide.

    + *

    The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

    + *

    You can specify the KMS key using any of the following:

    + *
      + *
    • + *

      Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

      + *
    • + *
    • + *

      Key alias. For example, alias/ExampleAlias.

      + *
    • + *
    • + *

      Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

      + *
    • + *
    • + *

      Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

      + *
    • + *
    + *

    Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

    */ - FulfilledCapacity?: number; + KmsKeyId?: string; /** - *

    Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

    + *

    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, + * see Query + * requests.

    + *

    The PresignedUrl should use the snapshot source endpoint, the + * CopySnapshot action, and include the SourceRegion, + * SourceSnapshotId, and DestinationRegion parameters. The + * PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS + * snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic + * that is described in Authenticating Requests: Using Query + * Parameters (Amazon Web Services Signature Version 4) in the Amazon Simple Storage Service API Reference. An + * invalid or improperly signed PresignedUrl will cause the copy operation to fail + * asynchronously, and the snapshot will move to an error state.

    */ - EbsOptimized?: boolean; + PresignedUrl?: string; /** - *

    The date and time at which the Capacity Reservation was created.

    + *

    The ID of the Region that contains the snapshot to be copied.

    */ - CreateDate?: Date; + SourceRegion: string | undefined; /** - *

    The weight of the instance type in the Capacity Reservation Fleet. For more information, - * see - * Instance type weight in the Amazon EC2 User Guide.

    + *

    The ID of the EBS snapshot to copy.

    */ - Weight?: number; + SourceSnapshotId: string | undefined; /** - *

    The priority of the instance type in the Capacity Reservation Fleet. For more information, - * see - * Instance type priority in the Amazon EC2 User Guide.

    + *

    The tags to apply to the new snapshot.

    */ - Priority?: number; + 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 FleetCapacityReservation { +export namespace CopySnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetCapacityReservation): any => ({ + export const filterSensitiveLog = (obj: CopySnapshotRequest): any => ({ + ...obj, + }); +} + +export interface CopySnapshotResult { + /** + *

    The ID of the new snapshot.

    + */ + SnapshotId?: string; + + /** + *

    Any tags applied to the new snapshot.

    + */ + Tags?: Tag[]; +} + +export namespace CopySnapshotResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CopySnapshotResult): any => ({ ...obj, }); } -export interface CreateCapacityReservationFleetResult { - /** - *

    The ID of the Capacity Reservation Fleet.

    - */ - CapacityReservationFleetId?: string; +export type EndDateType = "limited" | "unlimited"; + +export type InstanceMatchCriteria = "open" | "targeted"; + +export enum CapacityReservationInstancePlatform { + LINUX_UNIX = "Linux/UNIX", + LINUX_WITH_SQL_SERVER_ENTERPRISE = "Linux with SQL Server Enterprise", + LINUX_WITH_SQL_SERVER_STANDARD = "Linux with SQL Server Standard", + LINUX_WITH_SQL_SERVER_WEB = "Linux with SQL Server Web", + RED_HAT_ENTERPRISE_LINUX = "Red Hat Enterprise Linux", + SUSE_LINUX = "SUSE Linux", + WINDOWS = "Windows", + WINDOWS_WITH_SQL_SERVER = "Windows with SQL Server", + WINDOWS_WITH_SQL_SERVER_ENTERPRISE = "Windows with SQL Server Enterprise", + WINDOWS_WITH_SQL_SERVER_STANDARD = "Windows with SQL Server Standard", + WINDOWS_WITH_SQL_SERVER_WEB = "Windows with SQL Server Web", +} + +export type CapacityReservationTenancy = "dedicated" | "default"; +export interface CreateCapacityReservationRequest { /** - *

    The status of the Capacity Reservation Fleet.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    */ - State?: CapacityReservationFleetState | string; + ClientToken?: string; /** - *

    The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

    + *

    The instance type for which to reserve capacity. For more information, see Instance types in the Amazon EC2 User Guide.

    */ - TotalTargetCapacity?: number; + InstanceType: string | undefined; /** - *

    The requested capacity units that have been successfully reserved.

    + *

    The type of operating system for which to reserve capacity.

    */ - TotalFulfilledCapacity?: number; + InstancePlatform: CapacityReservationInstancePlatform | string | undefined; /** - *

    The instance matching criteria for the Capacity Reservation Fleet.

    + *

    The Availability Zone in which to create the Capacity Reservation.

    */ - InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; + AvailabilityZone?: string; /** - *

    The allocation strategy used by the Capacity Reservation Fleet.

    + *

    The ID of the Availability Zone in which to create the Capacity Reservation.

    */ - AllocationStrategy?: string; + AvailabilityZoneId?: string; /** - *

    The date and time at which the Capacity Reservation Fleet was created.

    + *

    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 Amazon Web Services accounts.

      + *
    • + *
    • + *

      + * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

      + *
    • + *
    */ - CreateTime?: Date; + Tenancy?: CapacityReservationTenancy | string; /** - *

    The date and time at which the Capacity Reservation Fleet expires.

    + *

    The number of instances for which to reserve capacity.

    + *

    Valid range: 1 - 1000

    */ - EndDate?: Date; + InstanceCount: number | undefined; /** - *

    Indicates the tenancy of Capacity Reservation Fleet.

    + *

    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.

    */ - Tenancy?: FleetCapacityReservationTenancy | string; + EbsOptimized?: boolean; /** - *

    Information about the individual Capacity Reservations in the Capacity Reservation Fleet.

    + *

    Indicates whether the Capacity Reservation supports instances with temporary, block-level + * storage.

    */ - FleetCapacityReservations?: FleetCapacityReservation[]; + EphemeralStorage?: boolean; /** - *

    The tags assigned to the Capacity Reservation Fleet.

    + *

    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.

    */ - Tags?: Tag[]; -} + EndDate?: Date; -export namespace CreateCapacityReservationFleetResult { /** - * @internal + *

    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. Do not + * provide an EndDate if the EndDateType is + * unlimited.

      + *
    • + *
    • + *

      + * limited - The Capacity Reservation expires automatically at a specified date and time. You must + * provide an EndDate value if the EndDateType value is + * limited.

      + *
    • + *
    */ - export const filterSensitiveLog = (obj: CreateCapacityReservationFleetResult): any => ({ - ...obj, - }); -} + EndDateType?: EndDateType | string; -export interface CreateCarrierGatewayRequest { /** - *

    The ID of the VPC to associate with the carrier gateway.

    + *

    Indicates the type of instance launches that the Capacity Reservation accepts. The options + * include:

    + *
      + *
    • + *

      + * open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, + * and Availability Zone). Instances that have matching attributes run in 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.

      + *
    • + *
    + *

    Default: open + *

    */ - VpcId: string | undefined; + InstanceMatchCriteria?: InstanceMatchCriteria | string; /** - *

    The tags to associate with the carrier gateway.

    + *

    The tags to apply to the Capacity Reservation during launch.

    */ 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.

    + *

    Checks whether you have the required permissions for the action, without 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.

    + *

    The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.

    */ - ClientToken?: string; + OutpostArn?: string; } -export namespace CreateCarrierGatewayRequest { +export namespace CreateCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateCarrierGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateCapacityReservationRequest): any => ({ ...obj, }); } -export type CarrierGatewayState = "available" | "deleted" | "deleting" | "pending"; +export type CapacityReservationState = "active" | "cancelled" | "expired" | "failed" | "pending"; /** - *

    Describes a carrier gateway.

    + *

    Describes a Capacity Reservation.

    */ -export interface CarrierGateway { +export interface CapacityReservation { /** - *

    The ID of the carrier gateway.

    + *

    The ID of the Capacity Reservation.

    */ - CarrierGatewayId?: string; + CapacityReservationId?: string; /** - *

    The ID of the VPC associated with the carrier gateway.

    + *

    The ID of the Amazon Web Services account that owns the Capacity Reservation.

    */ - VpcId?: string; + OwnerId?: string; /** - *

    The state of the carrier gateway.

    + *

    The Amazon Resource Name (ARN) of the Capacity Reservation.

    */ - State?: CarrierGatewayState | string; + CapacityReservationArn?: string; /** - *

    The Amazon Web Services account ID of the owner of the carrier gateway.

    + *

    The Availability Zone ID of the Capacity Reservation.

    */ - OwnerId?: string; + AvailabilityZoneId?: string; /** - *

    The tags assigned to the carrier gateway.

    + *

    The type of instance for which the Capacity Reservation reserves capacity.

    */ - Tags?: Tag[]; -} + InstanceType?: string; -export namespace CarrierGateway { /** - * @internal + *

    The type of operating system for which the Capacity Reservation reserves capacity.

    */ - export const filterSensitiveLog = (obj: CarrierGateway): any => ({ - ...obj, - }); -} + InstancePlatform?: CapacityReservationInstancePlatform | string; -export interface CreateCarrierGatewayResult { /** - *

    Information about the carrier gateway.

    + *

    The Availability Zone in which the capacity is reserved.

    */ - CarrierGateway?: CarrierGateway; -} + AvailabilityZone?: string; -export namespace CreateCarrierGatewayResult { /** - * @internal + *

    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 Amazon Web Services accounts.

      + *
    • + *
    • + *

      + * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

      + *
    • + *
    */ - export const filterSensitiveLog = (obj: CreateCarrierGatewayResult): any => ({ - ...obj, - }); -} + Tenancy?: CapacityReservationTenancy | string; -/** - *

    Describes the Active Directory to be used for client authentication.

    - */ -export interface DirectoryServiceAuthenticationRequest { /** - *

    The ID of the Active Directory to be used for authentication.

    + *

    The total number of instances for which the Capacity Reservation reserves capacity.

    */ - DirectoryId?: string; -} + TotalInstanceCount?: number; -export namespace DirectoryServiceAuthenticationRequest { /** - * @internal + *

    The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

    */ - export const filterSensitiveLog = (obj: DirectoryServiceAuthenticationRequest): any => ({ - ...obj, - }); -} + AvailableInstanceCount?: number; -/** - *

    The IAM SAML identity provider used for federated authentication.

    - */ -export interface FederatedAuthenticationRequest { /** - *

    The Amazon Resource Name (ARN) of the IAM SAML identity provider.

    + *

    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.

    */ - SAMLProviderArn?: string; + EbsOptimized?: boolean; /** - *

    The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

    + *

    Indicates whether the Capacity Reservation supports instances with temporary, block-level + * storage.

    */ - SelfServiceSAMLProviderArn?: string; -} + EphemeralStorage?: 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 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.

      + *
    • + *
    + */ + State?: CapacityReservationState | string; -export namespace FederatedAuthenticationRequest { /** - * @internal + *

    The date and time at which the Capacity Reservation was started.

    */ - export const filterSensitiveLog = (obj: FederatedAuthenticationRequest): any => ({ - ...obj, - }); -} + StartDate?: Date; -/** - *

    Information about the client certificate to be used for authentication.

    - */ -export interface CertificateAuthenticationRequest { /** - *

    The ARN of the client certificate. The certificate must be signed by a certificate - * authority (CA) and it must be provisioned in Certificate Manager (ACM).

    + *

    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.

    */ - ClientRootCertificateChainArn?: string; -} + EndDate?: Date; -export namespace CertificateAuthenticationRequest { /** - * @internal + *

    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.

      + *
    • + *
    */ - export const filterSensitiveLog = (obj: CertificateAuthenticationRequest): any => ({ - ...obj, - }); -} + EndDateType?: EndDateType | string; -export type ClientVpnAuthenticationType = - | "certificate-authentication" - | "directory-service-authentication" - | "federated-authentication"; + /** + *

    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.

      + *
    • + *
    + */ + InstanceMatchCriteria?: InstanceMatchCriteria | string; -/** - *

    Describes the authentication method to be used by a Client VPN endpoint. For more information, see Authentication - * in the Client VPN Administrator Guide.

    - */ -export interface ClientVpnAuthenticationRequest { /** - *

    The type of client authentication to be used.

    + *

    The date and time at which the Capacity Reservation was created.

    */ - Type?: ClientVpnAuthenticationType | string; + CreateDate?: Date; /** - *

    Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

    + *

    Any tags assigned to the Capacity Reservation.

    */ - ActiveDirectory?: DirectoryServiceAuthenticationRequest; + Tags?: Tag[]; /** - *

    Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

    + *

    The Amazon Resource Name (ARN) of the Outpost on which the Capacity + * Reservation was created.

    */ - MutualAuthentication?: CertificateAuthenticationRequest; + OutpostArn?: string; /** - *

    Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if Type is federated-authentication.

    + *

    The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. + * Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

    */ - FederatedAuthentication?: FederatedAuthenticationRequest; + CapacityReservationFleetId?: string; } -export namespace ClientVpnAuthenticationRequest { +export namespace CapacityReservation { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnAuthenticationRequest): any => ({ + export const filterSensitiveLog = (obj: CapacityReservation): any => ({ ...obj, }); } -/** - *

    The options for managing connection authorization for new client connections.

    - */ -export interface ClientConnectOptions { - /** - *

    Indicates whether client connect options are enabled. The default is false (not enabled).

    - */ - Enabled?: boolean; - +export interface CreateCapacityReservationResult { /** - *

    The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

    + *

    Information about the Capacity Reservation.

    */ - LambdaFunctionArn?: string; + CapacityReservation?: CapacityReservation; } -export namespace ClientConnectOptions { +export namespace CreateCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientConnectOptions): any => ({ + export const filterSensitiveLog = (obj: CreateCapacityReservationResult): any => ({ ...obj, }); } +export enum FleetInstanceMatchCriteria { + open = "open", +} + +export type _InstanceType = + | "a1.2xlarge" + | "a1.4xlarge" + | "a1.large" + | "a1.medium" + | "a1.metal" + | "a1.xlarge" + | "c1.medium" + | "c1.xlarge" + | "c3.2xlarge" + | "c3.4xlarge" + | "c3.8xlarge" + | "c3.large" + | "c3.xlarge" + | "c4.2xlarge" + | "c4.4xlarge" + | "c4.8xlarge" + | "c4.large" + | "c4.xlarge" + | "c5.12xlarge" + | "c5.18xlarge" + | "c5.24xlarge" + | "c5.2xlarge" + | "c5.4xlarge" + | "c5.9xlarge" + | "c5.large" + | "c5.metal" + | "c5.xlarge" + | "c5a.12xlarge" + | "c5a.16xlarge" + | "c5a.24xlarge" + | "c5a.2xlarge" + | "c5a.4xlarge" + | "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" + | "c5d.2xlarge" + | "c5d.4xlarge" + | "c5d.9xlarge" + | "c5d.large" + | "c5d.metal" + | "c5d.xlarge" + | "c5n.18xlarge" + | "c5n.2xlarge" + | "c5n.4xlarge" + | "c5n.9xlarge" + | "c5n.large" + | "c5n.metal" + | "c5n.xlarge" + | "c6g.12xlarge" + | "c6g.16xlarge" + | "c6g.2xlarge" + | "c6g.4xlarge" + | "c6g.8xlarge" + | "c6g.large" + | "c6g.medium" + | "c6g.metal" + | "c6g.xlarge" + | "c6gd.12xlarge" + | "c6gd.16xlarge" + | "c6gd.2xlarge" + | "c6gd.4xlarge" + | "c6gd.8xlarge" + | "c6gd.large" + | "c6gd.medium" + | "c6gd.metal" + | "c6gd.xlarge" + | "c6gn.12xlarge" + | "c6gn.16xlarge" + | "c6gn.2xlarge" + | "c6gn.4xlarge" + | "c6gn.8xlarge" + | "c6gn.large" + | "c6gn.medium" + | "c6gn.xlarge" + | "c6i.12xlarge" + | "c6i.16xlarge" + | "c6i.24xlarge" + | "c6i.2xlarge" + | "c6i.32xlarge" + | "c6i.4xlarge" + | "c6i.8xlarge" + | "c6i.large" + | "c6i.xlarge" + | "cc1.4xlarge" + | "cc2.8xlarge" + | "cg1.4xlarge" + | "cr1.8xlarge" + | "d2.2xlarge" + | "d2.4xlarge" + | "d2.8xlarge" + | "d2.xlarge" + | "d3.2xlarge" + | "d3.4xlarge" + | "d3.8xlarge" + | "d3.xlarge" + | "d3en.12xlarge" + | "d3en.2xlarge" + | "d3en.4xlarge" + | "d3en.6xlarge" + | "d3en.8xlarge" + | "d3en.xlarge" + | "dl1.24xlarge" + | "f1.16xlarge" + | "f1.2xlarge" + | "f1.4xlarge" + | "g2.2xlarge" + | "g2.8xlarge" + | "g3.16xlarge" + | "g3.4xlarge" + | "g3.8xlarge" + | "g3s.xlarge" + | "g4ad.16xlarge" + | "g4ad.2xlarge" + | "g4ad.4xlarge" + | "g4ad.8xlarge" + | "g4ad.xlarge" + | "g4dn.12xlarge" + | "g4dn.16xlarge" + | "g4dn.2xlarge" + | "g4dn.4xlarge" + | "g4dn.8xlarge" + | "g4dn.metal" + | "g4dn.xlarge" + | "g5.12xlarge" + | "g5.16xlarge" + | "g5.24xlarge" + | "g5.2xlarge" + | "g5.48xlarge" + | "g5.4xlarge" + | "g5.8xlarge" + | "g5.xlarge" + | "g5g.16xlarge" + | "g5g.2xlarge" + | "g5g.4xlarge" + | "g5g.8xlarge" + | "g5g.metal" + | "g5g.xlarge" + | "h1.16xlarge" + | "h1.2xlarge" + | "h1.4xlarge" + | "h1.8xlarge" + | "hi1.4xlarge" + | "hs1.8xlarge" + | "i2.2xlarge" + | "i2.4xlarge" + | "i2.8xlarge" + | "i2.xlarge" + | "i3.16xlarge" + | "i3.2xlarge" + | "i3.4xlarge" + | "i3.8xlarge" + | "i3.large" + | "i3.metal" + | "i3.xlarge" + | "i3en.12xlarge" + | "i3en.24xlarge" + | "i3en.2xlarge" + | "i3en.3xlarge" + | "i3en.6xlarge" + | "i3en.large" + | "i3en.metal" + | "i3en.xlarge" + | "im4gn.16xlarge" + | "im4gn.2xlarge" + | "im4gn.4xlarge" + | "im4gn.8xlarge" + | "im4gn.large" + | "im4gn.xlarge" + | "inf1.24xlarge" + | "inf1.2xlarge" + | "inf1.6xlarge" + | "inf1.xlarge" + | "is4gen.2xlarge" + | "is4gen.4xlarge" + | "is4gen.8xlarge" + | "is4gen.large" + | "is4gen.medium" + | "is4gen.xlarge" + | "m1.large" + | "m1.medium" + | "m1.small" + | "m1.xlarge" + | "m2.2xlarge" + | "m2.4xlarge" + | "m2.xlarge" + | "m3.2xlarge" + | "m3.large" + | "m3.medium" + | "m3.xlarge" + | "m4.10xlarge" + | "m4.16xlarge" + | "m4.2xlarge" + | "m4.4xlarge" + | "m4.large" + | "m4.xlarge" + | "m5.12xlarge" + | "m5.16xlarge" + | "m5.24xlarge" + | "m5.2xlarge" + | "m5.4xlarge" + | "m5.8xlarge" + | "m5.large" + | "m5.metal" + | "m5.xlarge" + | "m5a.12xlarge" + | "m5a.16xlarge" + | "m5a.24xlarge" + | "m5a.2xlarge" + | "m5a.4xlarge" + | "m5a.8xlarge" + | "m5a.large" + | "m5a.xlarge" + | "m5ad.12xlarge" + | "m5ad.16xlarge" + | "m5ad.24xlarge" + | "m5ad.2xlarge" + | "m5ad.4xlarge" + | "m5ad.8xlarge" + | "m5ad.large" + | "m5ad.xlarge" + | "m5d.12xlarge" + | "m5d.16xlarge" + | "m5d.24xlarge" + | "m5d.2xlarge" + | "m5d.4xlarge" + | "m5d.8xlarge" + | "m5d.large" + | "m5d.metal" + | "m5d.xlarge" + | "m5dn.12xlarge" + | "m5dn.16xlarge" + | "m5dn.24xlarge" + | "m5dn.2xlarge" + | "m5dn.4xlarge" + | "m5dn.8xlarge" + | "m5dn.large" + | "m5dn.metal" + | "m5dn.xlarge" + | "m5n.12xlarge" + | "m5n.16xlarge" + | "m5n.24xlarge" + | "m5n.2xlarge" + | "m5n.4xlarge" + | "m5n.8xlarge" + | "m5n.large" + | "m5n.metal" + | "m5n.xlarge" + | "m5zn.12xlarge" + | "m5zn.2xlarge" + | "m5zn.3xlarge" + | "m5zn.6xlarge" + | "m5zn.large" + | "m5zn.metal" + | "m5zn.xlarge" + | "m6a.12xlarge" + | "m6a.16xlarge" + | "m6a.24xlarge" + | "m6a.2xlarge" + | "m6a.32xlarge" + | "m6a.48xlarge" + | "m6a.4xlarge" + | "m6a.8xlarge" + | "m6a.large" + | "m6a.xlarge" + | "m6g.12xlarge" + | "m6g.16xlarge" + | "m6g.2xlarge" + | "m6g.4xlarge" + | "m6g.8xlarge" + | "m6g.large" + | "m6g.medium" + | "m6g.metal" + | "m6g.xlarge" + | "m6gd.12xlarge" + | "m6gd.16xlarge" + | "m6gd.2xlarge" + | "m6gd.4xlarge" + | "m6gd.8xlarge" + | "m6gd.large" + | "m6gd.medium" + | "m6gd.metal" + | "m6gd.xlarge" + | "m6i.12xlarge" + | "m6i.16xlarge" + | "m6i.24xlarge" + | "m6i.2xlarge" + | "m6i.32xlarge" + | "m6i.4xlarge" + | "m6i.8xlarge" + | "m6i.large" + | "m6i.xlarge" + | "mac1.metal" + | "p2.16xlarge" + | "p2.8xlarge" + | "p2.xlarge" + | "p3.16xlarge" + | "p3.2xlarge" + | "p3.8xlarge" + | "p3dn.24xlarge" + | "p4d.24xlarge" + | "r3.2xlarge" + | "r3.4xlarge" + | "r3.8xlarge" + | "r3.large" + | "r3.xlarge" + | "r4.16xlarge" + | "r4.2xlarge" + | "r4.4xlarge" + | "r4.8xlarge" + | "r4.large" + | "r4.xlarge" + | "r5.12xlarge" + | "r5.16xlarge" + | "r5.24xlarge" + | "r5.2xlarge" + | "r5.4xlarge" + | "r5.8xlarge" + | "r5.large" + | "r5.metal" + | "r5.xlarge" + | "r5a.12xlarge" + | "r5a.16xlarge" + | "r5a.24xlarge" + | "r5a.2xlarge" + | "r5a.4xlarge" + | "r5a.8xlarge" + | "r5a.large" + | "r5a.xlarge" + | "r5ad.12xlarge" + | "r5ad.16xlarge" + | "r5ad.24xlarge" + | "r5ad.2xlarge" + | "r5ad.4xlarge" + | "r5ad.8xlarge" + | "r5ad.large" + | "r5ad.xlarge" + | "r5b.12xlarge" + | "r5b.16xlarge" + | "r5b.24xlarge" + | "r5b.2xlarge" + | "r5b.4xlarge" + | "r5b.8xlarge" + | "r5b.large" + | "r5b.metal" + | "r5b.xlarge" + | "r5d.12xlarge" + | "r5d.16xlarge" + | "r5d.24xlarge" + | "r5d.2xlarge" + | "r5d.4xlarge" + | "r5d.8xlarge" + | "r5d.large" + | "r5d.metal" + | "r5d.xlarge" + | "r5dn.12xlarge" + | "r5dn.16xlarge" + | "r5dn.24xlarge" + | "r5dn.2xlarge" + | "r5dn.4xlarge" + | "r5dn.8xlarge" + | "r5dn.large" + | "r5dn.metal" + | "r5dn.xlarge" + | "r5n.12xlarge" + | "r5n.16xlarge" + | "r5n.24xlarge" + | "r5n.2xlarge" + | "r5n.4xlarge" + | "r5n.8xlarge" + | "r5n.large" + | "r5n.metal" + | "r5n.xlarge" + | "r6g.12xlarge" + | "r6g.16xlarge" + | "r6g.2xlarge" + | "r6g.4xlarge" + | "r6g.8xlarge" + | "r6g.large" + | "r6g.medium" + | "r6g.metal" + | "r6g.xlarge" + | "r6gd.12xlarge" + | "r6gd.16xlarge" + | "r6gd.2xlarge" + | "r6gd.4xlarge" + | "r6gd.8xlarge" + | "r6gd.large" + | "r6gd.medium" + | "r6gd.metal" + | "r6gd.xlarge" + | "t1.micro" + | "t2.2xlarge" + | "t2.large" + | "t2.medium" + | "t2.micro" + | "t2.nano" + | "t2.small" + | "t2.xlarge" + | "t3.2xlarge" + | "t3.large" + | "t3.medium" + | "t3.micro" + | "t3.nano" + | "t3.small" + | "t3.xlarge" + | "t3a.2xlarge" + | "t3a.large" + | "t3a.medium" + | "t3a.micro" + | "t3a.nano" + | "t3a.small" + | "t3a.xlarge" + | "t4g.2xlarge" + | "t4g.large" + | "t4g.medium" + | "t4g.micro" + | "t4g.nano" + | "t4g.small" + | "t4g.xlarge" + | "u-12tb1.112xlarge" + | "u-12tb1.metal" + | "u-18tb1.metal" + | "u-24tb1.metal" + | "u-6tb1.112xlarge" + | "u-6tb1.56xlarge" + | "u-6tb1.metal" + | "u-9tb1.112xlarge" + | "u-9tb1.metal" + | "vt1.24xlarge" + | "vt1.3xlarge" + | "vt1.6xlarge" + | "x1.16xlarge" + | "x1.32xlarge" + | "x1e.16xlarge" + | "x1e.2xlarge" + | "x1e.32xlarge" + | "x1e.4xlarge" + | "x1e.8xlarge" + | "x1e.xlarge" + | "x2gd.12xlarge" + | "x2gd.16xlarge" + | "x2gd.2xlarge" + | "x2gd.4xlarge" + | "x2gd.8xlarge" + | "x2gd.large" + | "x2gd.medium" + | "x2gd.metal" + | "x2gd.xlarge" + | "z1d.12xlarge" + | "z1d.2xlarge" + | "z1d.3xlarge" + | "z1d.6xlarge" + | "z1d.large" + | "z1d.metal" + | "z1d.xlarge"; + /** - *

    Describes the client connection logging options for the Client VPN endpoint.

    + *

    Information about an instance type to use in a Capacity Reservation Fleet.

    */ -export interface ConnectionLogOptions { - /** - *

    Indicates whether connection logging is enabled.

    - */ - Enabled?: boolean; - - /** - *

    The name of the CloudWatch Logs log group. Required if connection logging is enabled.

    - */ - CloudwatchLogGroup?: string; - - /** - *

    The name of the CloudWatch Logs log stream to which the connection data is published.

    - */ - CloudwatchLogStream?: string; -} - -export namespace ConnectionLogOptions { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ConnectionLogOptions): any => ({ - ...obj, - }); -} - -export type SelfServicePortal = "disabled" | "enabled"; - -export type TransportProtocol = "tcp" | "udp"; - -export interface CreateClientVpnEndpointRequest { - /** - *

    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.

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

    The ARN of the server certificate. For more information, see - * the Certificate Manager User Guide.

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

    Information about the authentication method to be used to authenticate clients.

    - */ - AuthenticationOptions: ClientVpnAuthenticationRequest[] | undefined; - - /** - *

    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

      - *
    • - *
    - */ - ConnectionLogOptions: ConnectionLogOptions | 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.

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

    The transport protocol to be used by the VPN session.

    - *

    Default value: udp - *

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

    The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

    - *

    Valid Values: 443 | 1194 - *

    - *

    Default Value: 443 - *

    - */ - VpnPort?: number; - - /** - *

    A brief description of the Client VPN endpoint.

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

    Indicates whether split-tunnel is enabled on the Client VPN endpoint.

    - *

    By default, split-tunnel on a VPN endpoint is disabled.

    - *

    For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the - * Client VPN Administrator Guide.

    - */ - 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.

    - */ - 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; - - /** - *

    The tags to apply to the Client VPN endpoint during creation.

    - */ - TagSpecifications?: TagSpecification[]; - +export interface ReservationFleetInstanceSpecification { /** - *

    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.

    + *

    The instance type for which the Capacity Reservation Fleet reserves capacity.

    */ - SecurityGroupIds?: string[]; + InstanceType?: _InstanceType | string; /** - *

    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 type of operating system for which the Capacity Reservation Fleet reserves capacity.

    */ - VpcId?: string; + InstancePlatform?: CapacityReservationInstancePlatform | string; /** - *

    Specify whether to enable the self-service portal for the Client VPN endpoint.

    - *

    Default Value: enabled - *

    + *

    The number of capacity units provided by the specified instance type. This value, together with the + * total target capacity that you specify for the Fleet determine the number of instances for which the + * Fleet reserves capacity. Both values are based on units that make sense for your workload. For more + * information, see Total target capacity + * in the Amazon EC2 User Guide.

    */ - SelfServicePortal?: SelfServicePortal | string; + Weight?: number; /** - *

    The options for managing connection authorization for new client connections.

    + *

    The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity + * Reservation Fleet can't span Availability Zones. All instance type specifications that you specify + * for the Fleet must use the same Availability Zone.

    */ - ClientConnectOptions?: ClientConnectOptions; -} + AvailabilityZone?: string; -export namespace CreateClientVpnEndpointRequest { /** - * @internal + *

    The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A + * Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you + * specify for the Fleet must use the same Availability Zone.

    */ - export const filterSensitiveLog = (obj: CreateClientVpnEndpointRequest): any => ({ - ...obj, - }); -} - -export type ClientVpnEndpointStatusCode = "available" | "deleted" | "deleting" | "pending-associate"; + AvailabilityZoneId?: string; -/** - *

    Describes the state of a Client VPN endpoint.

    - */ -export interface ClientVpnEndpointStatus { /** - *

    The state of the Client VPN endpoint. Possible states include:

    - *
      - *
    • - *

      - * pending-associate - The Client VPN endpoint has been created but no target networks - * have been associated. The Client VPN endpoint cannot accept connections.

      - *
    • - *
    • - *

      - * available - The Client VPN endpoint has been created and a target network has been - * associated. The Client VPN endpoint can accept connections.

      - *
    • - *
    • - *

      - * deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept - * connections.

      - *
    • - *
    • - *

      - * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept - * connections.

      - *
    • - *
    + *

    Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. 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 EBS-optimized instance types.

    */ - Code?: ClientVpnEndpointStatusCode | string; + EbsOptimized?: boolean; /** - *

    A message about the status of the Client VPN endpoint.

    + *

    The priority to assign to the instance type. This value is used to determine which of the instance types + * specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more + * information, see Instance type priority + * in the Amazon EC2 User Guide.

    */ - Message?: string; + Priority?: number; } -export namespace ClientVpnEndpointStatus { +export namespace ReservationFleetInstanceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnEndpointStatus): any => ({ + export const filterSensitiveLog = (obj: ReservationFleetInstanceSpecification): any => ({ ...obj, }); } -export interface CreateClientVpnEndpointResult { - /** - *

    The ID of the Client VPN endpoint.

    - */ - ClientVpnEndpointId?: string; - - /** - *

    The current state of the Client VPN endpoint.

    - */ - Status?: ClientVpnEndpointStatus; +export enum FleetCapacityReservationTenancy { + default = "default", +} +export interface CreateCapacityReservationFleetRequest { /** - *

    The DNS name to be used by clients when establishing their VPN session.

    + *

    The strategy used by the Capacity Reservation Fleet to determine which of the + * specified instance types to use. Currently, only the prioritized + * allocation strategy is supported. For more information, see + * Allocation strategy in the Amazon EC2 User Guide.

    + *

    Valid values: prioritized + *

    */ - DnsName?: string; -} + AllocationStrategy?: string; -export namespace CreateClientVpnEndpointResult { /** - * @internal + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    */ - export const filterSensitiveLog = (obj: CreateClientVpnEndpointResult): any => ({ - ...obj, - }); -} + ClientToken?: string; -export interface CreateClientVpnRouteRequest { /** - *

    The ID of the Client VPN endpoint to which to add the route.

    + *

    Information about the instance types for which to reserve the capacity.

    */ - ClientVpnEndpointId: string | undefined; + InstanceTypeSpecifications: ReservationFleetInstanceSpecification[] | undefined; /** - *

    The IPv4 address range, in CIDR notation, of the route destination. For example:

    + *

    Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations + * in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of + * the following tenancy settings:

    *
      *
    • - *

      To add a route for Internet access, enter 0.0.0.0/0 - *

      - *
    • - *
    • - *

      To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

      - *
    • - *
    • - *

      To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range

      - *
    • + *

      + * default - The Capacity Reservation Fleet is created on hardware + * that is shared with other Amazon Web Services accounts.

      + * *
    • - *

      To add a route for the local network, enter the client CIDR range

      - *
    • + *

      + * dedicated - The Capacity Reservations are created on single-tenant + * hardware that is dedicated to a single Amazon Web Services account.

      + * *
    */ - DestinationCidrBlock: string | undefined; + Tenancy?: FleetCapacityReservationTenancy | string; /** - *

    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.

    + *

    The total number of capacity units to be reserved by the Capacity Reservation Fleet. This + * value, together with the instance type weights that you assign to each instance type used by + * the Fleet determine the number of instances for which the Fleet reserves capacity. Both values + * are based on units that make sense for your workload. For more information, see + * Total target capacity in the Amazon EC2 User Guide.

    */ - TargetVpcSubnetId: string | undefined; + TotalTargetCapacity: number | undefined; /** - *

    A brief description of the route.

    + *

    The date and time at which the Capacity Reservation Fleet expires. When the Capacity + * Reservation Fleet expires, its state changes to expired and all of the Capacity + * Reservations in the Fleet expire.

    + *

    The Capacity Reservation Fleet expires within an hour after the specified time. For example, + * if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet + * is guaranteed to expire between 13:30:55 and 14:30:55 on + * 5/31/2019. + *

    */ - Description?: string; + EndDate?: Date; /** - *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    + *

    Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All + * Capacity Reservations in the Fleet inherit this instance matching criteria.

    + *

    Currently, Capacity Reservation Fleets support open instance matching criteria + * only. This means that instances that have matching attributes (instance type, platform, and + * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to + * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

    */ - ClientToken?: string; + InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; + + /** + *

    The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned + * to the Capacity Reservations in the Fleet.

    + */ + 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.

    @@ -6954,1967 +7173,1505 @@ export interface CreateClientVpnRouteRequest { DryRun?: boolean; } -export namespace CreateClientVpnRouteRequest { +export namespace CreateCapacityReservationFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateClientVpnRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateCapacityReservationFleetRequest): any => ({ ...obj, }); } -export type ClientVpnRouteStatusCode = "active" | "creating" | "deleting" | "failed"; - /** - *

    Describes the state of a Client VPN endpoint route.

    + *

    Information about a Capacity Reservation in a Capacity Reservation Fleet.

    */ -export interface ClientVpnRouteStatus { - /** - *

    The state of the Client VPN endpoint route.

    - */ - Code?: ClientVpnRouteStatusCode | string; - +export interface FleetCapacityReservation { /** - *

    A message about the status of the Client VPN endpoint route, if applicable.

    + *

    The ID of the Capacity Reservation.

    */ - Message?: string; -} + CapacityReservationId?: string; -export namespace ClientVpnRouteStatus { /** - * @internal + *

    The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

    */ - export const filterSensitiveLog = (obj: ClientVpnRouteStatus): any => ({ - ...obj, - }); -} + AvailabilityZoneId?: string; -export interface CreateClientVpnRouteResult { /** - *

    The current state of the route.

    + *

    The instance type for which the Capacity Reservation reserves capacity.

    */ - Status?: ClientVpnRouteStatus; -} + InstanceType?: _InstanceType | string; -export namespace CreateClientVpnRouteResult { /** - * @internal + *

    The type of operating system for which the Capacity Reservation reserves capacity.

    */ - export const filterSensitiveLog = (obj: CreateClientVpnRouteResult): any => ({ - ...obj, - }); -} - -export type GatewayType = "ipsec.1"; + InstancePlatform?: CapacityReservationInstancePlatform | string; -/** - *

    Contains the parameters for CreateCustomerGateway.

    - */ -export interface CreateCustomerGatewayRequest { /** - *

    For devices that support BGP, the customer gateway's BGP ASN.

    - *

    Default: 65000

    + *

    The Availability Zone in which the Capacity Reservation reserves capacity.

    */ - BgpAsn: number | undefined; + AvailabilityZone?: string; /** - *

    The Internet-routable IP address for the customer gateway's outside interface. The - * address must be static.

    + *

    The total number of instances for which the Capacity Reservation reserves capacity.

    */ - PublicIp?: string; + TotalInstanceCount?: number; /** - *

    The Amazon Resource Name (ARN) for the customer gateway certificate.

    + *

    The number of capacity units fulfilled by the Capacity Reservation. For more information, see + * + * Total target capacity in the Amazon EC2 User Guide.

    */ - CertificateArn?: string; + FulfilledCapacity?: number; /** - *

    The type of VPN connection that this customer gateway supports - * (ipsec.1).

    + *

    Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

    */ - Type: GatewayType | string | undefined; + EbsOptimized?: boolean; /** - *

    The tags to apply to the customer gateway.

    + *

    The date and time at which the Capacity Reservation was created.

    */ - TagSpecifications?: TagSpecification[]; + CreateDate?: Date; /** - *

    A name for the customer gateway device.

    - *

    Length Constraints: Up to 255 characters.

    + *

    The weight of the instance type in the Capacity Reservation Fleet. For more information, + * see + * Instance type weight in the Amazon EC2 User Guide.

    */ - DeviceName?: string; + Weight?: 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 priority of the instance type in the Capacity Reservation Fleet. For more information, + * see + * Instance type priority in the Amazon EC2 User Guide.

    */ - DryRun?: boolean; + Priority?: number; } -export namespace CreateCustomerGatewayRequest { +export namespace FleetCapacityReservation { /** * @internal */ - export const filterSensitiveLog = (obj: CreateCustomerGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: FleetCapacityReservation): any => ({ ...obj, }); } -/** - *

    Describes a customer gateway.

    - */ -export interface CustomerGateway { - /** - *

    The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number - * (ASN).

    - */ - BgpAsn?: string; - - /** - *

    The ID of the customer gateway.

    - */ - CustomerGatewayId?: string; - - /** - *

    The Internet-routable IP address of the customer gateway's outside interface.

    - */ - IpAddress?: string; - +export interface CreateCapacityReservationFleetResult { /** - *

    The Amazon Resource Name (ARN) for the customer gateway certificate.

    + *

    The ID of the Capacity Reservation Fleet.

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

    The current state of the customer gateway (pending | available | deleting | - * deleted).

    + *

    The status of the Capacity Reservation Fleet.

    */ - State?: string; + State?: CapacityReservationFleetState | string; /** - *

    The type of VPN connection the customer gateway supports - * (ipsec.1).

    + *

    The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

    */ - Type?: string; + TotalTargetCapacity?: number; /** - *

    The name of customer gateway device.

    + *

    The requested capacity units that have been successfully reserved.

    */ - DeviceName?: string; + TotalFulfilledCapacity?: number; /** - *

    Any tags assigned to the customer gateway.

    + *

    The instance matching criteria for the Capacity Reservation Fleet.

    */ - Tags?: Tag[]; -} + InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; -export namespace CustomerGateway { /** - * @internal - */ - export const filterSensitiveLog = (obj: CustomerGateway): any => ({ - ...obj, - }); -} + *

    The allocation strategy used by the Capacity Reservation Fleet.

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

    Contains the output of CreateCustomerGateway.

    - */ -export interface CreateCustomerGatewayResult { /** - *

    Information about the customer gateway.

    + *

    The date and time at which the Capacity Reservation Fleet was created.

    */ - CustomerGateway?: CustomerGateway; -} + CreateTime?: Date; -export namespace CreateCustomerGatewayResult { /** - * @internal + *

    The date and time at which the Capacity Reservation Fleet expires.

    */ - export const filterSensitiveLog = (obj: CreateCustomerGatewayResult): any => ({ - ...obj, - }); -} + EndDate?: Date; -export interface CreateDefaultSubnetRequest { /** - *

    The Availability Zone in which to create the default subnet.

    + *

    Indicates the tenancy of Capacity Reservation Fleet.

    */ - AvailabilityZone: string | undefined; + Tenancy?: FleetCapacityReservationTenancy | 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 individual Capacity Reservations in the Capacity Reservation Fleet.

    */ - DryRun?: boolean; + FleetCapacityReservations?: FleetCapacityReservation[]; /** - *

    Indicates whether to create an IPv6 only subnet. If you already have a default subnet - * for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

    + *

    The tags assigned to the Capacity Reservation Fleet.

    */ - Ipv6Native?: boolean; + Tags?: Tag[]; } -export namespace CreateDefaultSubnetRequest { +export namespace CreateCapacityReservationFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateDefaultSubnetRequest): any => ({ + export const filterSensitiveLog = (obj: CreateCapacityReservationFleetResult): any => ({ ...obj, }); } -export enum HostnameType { - ip_name = "ip-name", - resource_name = "resource-name", -} +export interface CreateCarrierGatewayRequest { + /** + *

    The ID of the VPC to associate with the carrier gateway.

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

    Describes the options for instance hostnames.

    - */ -export interface PrivateDnsNameOptionsOnLaunch { /** - *

    The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be - * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based - * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance - * IPv4 address or the instance ID.

    + *

    The tags to associate with the carrier gateway.

    */ - HostnameType?: HostnameType | string; + TagSpecifications?: TagSpecification[]; /** - *

    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

    + *

    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    */ - EnableResourceNameDnsARecord?: boolean; + DryRun?: boolean; /** - *

    Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

    */ - EnableResourceNameDnsAAAARecord?: boolean; + ClientToken?: string; } -export namespace PrivateDnsNameOptionsOnLaunch { +export namespace CreateCarrierGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PrivateDnsNameOptionsOnLaunch): any => ({ + export const filterSensitiveLog = (obj: CreateCarrierGatewayRequest): any => ({ ...obj, }); } -export type SubnetState = "available" | "pending"; +export type CarrierGatewayState = "available" | "deleted" | "deleting" | "pending"; /** - *

    Describes a subnet.

    + *

    Describes a carrier gateway.

    */ -export interface Subnet { - /** - *

    The Availability Zone of the subnet.

    - */ - AvailabilityZone?: string; - +export interface CarrierGateway { /** - *

    The AZ ID of the subnet.

    + *

    The ID of the carrier gateway.

    */ - AvailabilityZoneId?: string; + CarrierGatewayId?: string; /** - *

    The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any - * stopped instances are considered unavailable.

    + *

    The ID of the VPC associated with the carrier gateway.

    */ - AvailableIpAddressCount?: number; + VpcId?: string; /** - *

    The IPv4 CIDR block assigned to the subnet.

    + *

    The state of the carrier gateway.

    */ - CidrBlock?: string; + State?: CarrierGatewayState | string; /** - *

    Indicates whether this is the default subnet for the Availability Zone.

    + *

    The Amazon Web Services account ID of the owner of the carrier gateway.

    */ - DefaultForAz?: boolean; + OwnerId?: string; /** - *

    - * Indicates the device position for local network interfaces in this subnet. For example, - * 1 indicates local network interfaces in this subnet are the secondary - * network interface (eth1). - *

    + *

    The tags assigned to the carrier gateway.

    */ - EnableLniAtDeviceIndex?: number; + Tags?: Tag[]; +} +export namespace CarrierGateway { /** - *

    Indicates whether instances launched in this subnet receive a public IPv4 address.

    + * @internal */ - MapPublicIpOnLaunch?: boolean; + export const filterSensitiveLog = (obj: CarrierGateway): any => ({ + ...obj, + }); +} +export interface CreateCarrierGatewayResult { /** - *

    Indicates whether a network interface created in this subnet (including a network - * interface created by RunInstances) receives a customer-owned IPv4 address.

    + *

    Information about the carrier gateway.

    */ - MapCustomerOwnedIpOnLaunch?: boolean; + CarrierGateway?: CarrierGateway; +} +export namespace CreateCarrierGatewayResult { /** - *

    The customer-owned IPv4 address pool associated with the subnet.

    + * @internal */ - CustomerOwnedIpv4Pool?: string; + export const filterSensitiveLog = (obj: CreateCarrierGatewayResult): any => ({ + ...obj, + }); +} +/** + *

    Describes the Active Directory to be used for client authentication.

    + */ +export interface DirectoryServiceAuthenticationRequest { /** - *

    The current state of the subnet.

    + *

    The ID of the Active Directory to be used for authentication.

    */ - State?: SubnetState | string; + DirectoryId?: string; +} +export namespace DirectoryServiceAuthenticationRequest { /** - *

    The ID of the subnet.

    + * @internal */ - SubnetId?: string; + export const filterSensitiveLog = (obj: DirectoryServiceAuthenticationRequest): any => ({ + ...obj, + }); +} +/** + *

    The IAM SAML identity provider used for federated authentication.

    + */ +export interface FederatedAuthenticationRequest { /** - *

    The ID of the VPC the subnet is in.

    + *

    The Amazon Resource Name (ARN) of the IAM SAML identity provider.

    */ - VpcId?: string; + SAMLProviderArn?: string; /** - *

    The ID of the Amazon Web Services account that owns the subnet.

    + *

    The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

    */ - OwnerId?: string; + SelfServiceSAMLProviderArn?: string; +} +export namespace FederatedAuthenticationRequest { /** - *

    Indicates whether a network interface created in this subnet (including a network - * interface created by RunInstances) receives an IPv6 address.

    + * @internal */ - AssignIpv6AddressOnCreation?: boolean; + export const filterSensitiveLog = (obj: FederatedAuthenticationRequest): any => ({ + ...obj, + }); +} +/** + *

    Information about the client certificate to be used for authentication.

    + */ +export interface CertificateAuthenticationRequest { /** - *

    Information about the IPv6 CIDR blocks associated with the subnet.

    + *

    The ARN of the client certificate. The certificate must be signed by a certificate + * authority (CA) and it must be provisioned in Certificate Manager (ACM).

    */ - Ipv6CidrBlockAssociationSet?: SubnetIpv6CidrBlockAssociation[]; + ClientRootCertificateChainArn?: string; +} +export namespace CertificateAuthenticationRequest { /** - *

    Any tags assigned to the subnet.

    + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: CertificateAuthenticationRequest): any => ({ + ...obj, + }); +} - /** - *

    The Amazon Resource Name (ARN) of the subnet.

    - */ - SubnetArn?: string; +export type ClientVpnAuthenticationType = + | "certificate-authentication" + | "directory-service-authentication" + | "federated-authentication"; +/** + *

    Describes the authentication method to be used by a Client VPN endpoint. For more information, see Authentication + * in the Client VPN Administrator Guide.

    + */ +export interface ClientVpnAuthenticationRequest { /** - *

    The Amazon Resource Name (ARN) of the Outpost.

    + *

    The type of client authentication to be used.

    */ - OutpostArn?: string; + Type?: ClientVpnAuthenticationType | string; /** - *

    Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet - * should return synthetic IPv6 addresses for IPv4-only destinations.

    + *

    Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

    */ - EnableDns64?: boolean; + ActiveDirectory?: DirectoryServiceAuthenticationRequest; /** - *

    Indicates whether this is an IPv6 only subnet.

    + *

    Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

    */ - Ipv6Native?: boolean; + MutualAuthentication?: CertificateAuthenticationRequest; /** - *

    The type of hostnames to assign to instances in the subnet at launch. An instance hostname - * is based on the IPv4 address or ID of the instance.

    + *

    Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if Type is federated-authentication.

    */ - PrivateDnsNameOptionsOnLaunch?: PrivateDnsNameOptionsOnLaunch; + FederatedAuthentication?: FederatedAuthenticationRequest; } -export namespace Subnet { +export namespace ClientVpnAuthenticationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Subnet): any => ({ + export const filterSensitiveLog = (obj: ClientVpnAuthenticationRequest): any => ({ ...obj, }); } -export interface CreateDefaultSubnetResult { - /** - *

    Information about the subnet.

    - */ - Subnet?: Subnet; -} - -export namespace CreateDefaultSubnetResult { +/** + *

    The options for managing connection authorization for new client connections.

    + */ +export interface ClientConnectOptions { /** - * @internal + *

    Indicates whether client connect options are enabled. The default is false (not enabled).

    */ - export const filterSensitiveLog = (obj: CreateDefaultSubnetResult): any => ({ - ...obj, - }); -} + Enabled?: boolean; -export interface CreateDefaultVpcRequest { /** - *

    Checks whether you have the required permissions for the action, without 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 Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

    */ - DryRun?: boolean; + LambdaFunctionArn?: string; } -export namespace CreateDefaultVpcRequest { +export namespace ClientConnectOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateDefaultVpcRequest): any => ({ + export const filterSensitiveLog = (obj: ClientConnectOptions): any => ({ ...obj, }); } -export type Tenancy = "dedicated" | "default" | "host"; - -export type VpcState = "available" | "pending"; - /** - *

    Describes a VPC.

    + *

    Describes the client connection logging options for the Client VPN endpoint.

    */ -export interface Vpc { +export interface ConnectionLogOptions { /** - *

    The primary IPv4 CIDR block for the VPC.

    + *

    Indicates whether connection logging is enabled.

    */ - CidrBlock?: string; + Enabled?: boolean; /** - *

    The ID of the set of DHCP options you've associated with the VPC.

    + *

    The name of the CloudWatch Logs log group. Required if connection logging is enabled.

    */ - DhcpOptionsId?: string; + CloudwatchLogGroup?: string; /** - *

    The current state of the VPC.

    + *

    The name of the CloudWatch Logs log stream to which the connection data is published.

    */ - State?: VpcState | string; + CloudwatchLogStream?: string; +} +export namespace ConnectionLogOptions { /** - *

    The ID of the VPC.

    + * @internal */ - VpcId?: string; + export const filterSensitiveLog = (obj: ConnectionLogOptions): any => ({ + ...obj, + }); +} - /** - *

    The ID of the Amazon Web Services account that owns the VPC.

    - */ - OwnerId?: string; +export type SelfServicePortal = "disabled" | "enabled"; +export type TransportProtocol = "tcp" | "udp"; + +export interface CreateClientVpnEndpointRequest { /** - *

    The allowed tenancy of instances launched into the VPC.

    + *

    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.

    */ - InstanceTenancy?: Tenancy | string; + ClientCidrBlock: string | undefined; /** - *

    Information about the IPv6 CIDR blocks associated with the VPC.

    + *

    The ARN of the server certificate. For more information, see + * the Certificate Manager User Guide.

    */ - Ipv6CidrBlockAssociationSet?: VpcIpv6CidrBlockAssociation[]; + ServerCertificateArn: string | undefined; /** - *

    Information about the IPv4 CIDR blocks associated with the VPC.

    + *

    Information about the authentication method to be used to authenticate clients.

    */ - CidrBlockAssociationSet?: VpcCidrBlockAssociation[]; + AuthenticationOptions: ClientVpnAuthenticationRequest[] | undefined; /** - *

    Indicates whether the VPC is the default VPC.

    + *

    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

      + *
    • + *
    */ - IsDefault?: boolean; + ConnectionLogOptions: ConnectionLogOptions | undefined; /** - *

    Any tags assigned to the VPC.

    + *

    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.

    */ - Tags?: Tag[]; -} + DnsServers?: string[]; -export namespace Vpc { /** - * @internal + *

    The transport protocol to be used by the VPN session.

    + *

    Default value: udp + *

    */ - export const filterSensitiveLog = (obj: Vpc): any => ({ - ...obj, - }); -} + TransportProtocol?: TransportProtocol | string; -export interface CreateDefaultVpcResult { /** - *

    Information about the VPC.

    + *

    The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

    + *

    Valid Values: 443 | 1194 + *

    + *

    Default Value: 443 + *

    */ - Vpc?: Vpc; -} + VpnPort?: number; -export namespace CreateDefaultVpcResult { /** - * @internal + *

    A brief description of the Client VPN endpoint.

    */ - export const filterSensitiveLog = (obj: CreateDefaultVpcResult): any => ({ - ...obj, - }); -} + Description?: string; -/** - *

    Describes a DHCP configuration option.

    - */ -export interface NewDhcpConfiguration { /** - *

    The name of a DHCP option.

    + *

    Indicates whether split-tunnel is enabled on the Client VPN endpoint.

    + *

    By default, split-tunnel on a VPN endpoint is disabled.

    + *

    For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the + * Client VPN Administrator Guide.

    */ - Key?: string; + SplitTunnel?: boolean; /** - *

    One or more values for the DHCP 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.

    */ - Values?: string[]; -} + DryRun?: boolean; -export namespace NewDhcpConfiguration { /** - * @internal + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    */ - export const filterSensitiveLog = (obj: NewDhcpConfiguration): any => ({ - ...obj, - }); -} + ClientToken?: string; -export interface CreateDhcpOptionsRequest { /** - *

    A DHCP configuration option.

    + *

    The tags to apply to the Client VPN endpoint during creation.

    */ - DhcpConfigurations: NewDhcpConfiguration[] | undefined; + TagSpecifications?: TagSpecification[]; /** - *

    The tags to assign to the DHCP option.

    + *

    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.

    */ - TagSpecifications?: TagSpecification[]; + SecurityGroupIds?: 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 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.

    */ - DryRun?: boolean; -} + VpcId?: string; -export namespace CreateDhcpOptionsRequest { /** - * @internal + *

    Specify whether to enable the self-service portal for the Client VPN endpoint.

    + *

    Default Value: enabled + *

    */ - export const filterSensitiveLog = (obj: CreateDhcpOptionsRequest): any => ({ - ...obj, - }); -} + SelfServicePortal?: SelfServicePortal | string; -/** - *

    Describes a value for a resource attribute that is a String.

    - */ -export interface AttributeValue { /** - *

    The attribute value. The value is case-sensitive.

    + *

    The options for managing connection authorization for new client connections.

    */ - Value?: string; + ClientConnectOptions?: ClientConnectOptions; } -export namespace AttributeValue { +export namespace CreateClientVpnEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AttributeValue): any => ({ + export const filterSensitiveLog = (obj: CreateClientVpnEndpointRequest): any => ({ ...obj, }); } +export type ClientVpnEndpointStatusCode = "available" | "deleted" | "deleting" | "pending-associate"; + /** - *

    Describes a DHCP configuration option.

    + *

    Describes the state of a Client VPN endpoint.

    */ -export interface DhcpConfiguration { +export interface ClientVpnEndpointStatus { /** - *

    The name of a DHCP option.

    + *

    The state of the Client VPN endpoint. Possible states include:

    + *
      + *
    • + *

      + * pending-associate - The Client VPN endpoint has been created but no target networks + * have been associated. The Client VPN endpoint cannot accept connections.

      + *
    • + *
    • + *

      + * available - The Client VPN endpoint has been created and a target network has been + * associated. The Client VPN endpoint can accept connections.

      + *
    • + *
    • + *

      + * deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept + * connections.

      + *
    • + *
    • + *

      + * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept + * connections.

      + *
    • + *
    */ - Key?: string; + Code?: ClientVpnEndpointStatusCode | string; /** - *

    One or more values for the DHCP option.

    + *

    A message about the status of the Client VPN endpoint.

    */ - Values?: AttributeValue[]; + Message?: string; } -export namespace DhcpConfiguration { +export namespace ClientVpnEndpointStatus { /** * @internal */ - export const filterSensitiveLog = (obj: DhcpConfiguration): any => ({ + export const filterSensitiveLog = (obj: ClientVpnEndpointStatus): any => ({ ...obj, }); } -/** - *

    Describes a set of DHCP options.

    - */ -export interface DhcpOptions { - /** - *

    One or more DHCP options in the set.

    - */ - DhcpConfigurations?: DhcpConfiguration[]; - +export interface CreateClientVpnEndpointResult { /** - *

    The ID of the set of DHCP options.

    + *

    The ID of the Client VPN endpoint.

    */ - DhcpOptionsId?: string; + ClientVpnEndpointId?: string; /** - *

    The ID of the Amazon Web Services account that owns the DHCP options set.

    + *

    The current state of the Client VPN endpoint.

    */ - OwnerId?: string; + Status?: ClientVpnEndpointStatus; /** - *

    Any tags assigned to the DHCP options set.

    + *

    The DNS name to be used by clients when establishing their VPN session.

    */ - Tags?: Tag[]; + DnsName?: string; } -export namespace DhcpOptions { +export namespace CreateClientVpnEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: DhcpOptions): any => ({ + export const filterSensitiveLog = (obj: CreateClientVpnEndpointResult): any => ({ ...obj, }); } -export interface CreateDhcpOptionsResult { +export interface CreateClientVpnRouteRequest { /** - *

    A set of DHCP options.

    + *

    The ID of the Client VPN endpoint to which to add the route.

    */ - DhcpOptions?: DhcpOptions; -} + ClientVpnEndpointId: string | undefined; -export namespace CreateDhcpOptionsResult { /** - * @internal + *

    The IPv4 address range, in CIDR notation, of the route destination. For example:

    + *
      + *
    • + *

      To add a route for Internet access, enter 0.0.0.0/0 + *

      + *
    • + *
    • + *

      To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

      + *
    • + *
    • + *

      To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range

      + *
    • + *
    • + *

      To add a route for the local network, enter the client CIDR range

      + *
    • + *
    */ - export const filterSensitiveLog = (obj: CreateDhcpOptionsResult): any => ({ - ...obj, - }); -} + DestinationCidrBlock: string | undefined; -export interface CreateEgressOnlyInternetGatewayRequest { /** - *

    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 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.

    */ - ClientToken?: string; + TargetVpcSubnetId: 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 brief description of the route.

    */ - DryRun?: boolean; + Description?: string; /** - *

    The ID of the VPC for which to create the egress-only internet gateway.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    */ - VpcId: string | undefined; + ClientToken?: string; /** - *

    The tags to assign to the egress-only internet 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.

    */ - TagSpecifications?: TagSpecification[]; + DryRun?: boolean; } -export namespace CreateEgressOnlyInternetGatewayRequest { +export namespace CreateClientVpnRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateEgressOnlyInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateClientVpnRouteRequest): any => ({ ...obj, }); } +export type ClientVpnRouteStatusCode = "active" | "creating" | "deleting" | "failed"; + /** - *

    Describes the attachment of a VPC to an internet gateway or an egress-only internet - * gateway.

    + *

    Describes the state of a Client VPN endpoint route.

    */ -export interface InternetGatewayAttachment { +export interface ClientVpnRouteStatus { /** - *

    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.

    + *

    The state of the Client VPN endpoint route.

    */ - State?: AttachmentStatus | string; + Code?: ClientVpnRouteStatusCode | string; /** - *

    The ID of the VPC.

    + *

    A message about the status of the Client VPN endpoint route, if applicable.

    */ - VpcId?: string; + Message?: string; } -export namespace InternetGatewayAttachment { +export namespace ClientVpnRouteStatus { /** * @internal */ - export const filterSensitiveLog = (obj: InternetGatewayAttachment): any => ({ + export const filterSensitiveLog = (obj: ClientVpnRouteStatus): any => ({ ...obj, }); } -/** - *

    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.

    - */ - EgressOnlyInternetGatewayId?: string; - +export interface CreateClientVpnRouteResult { /** - *

    The tags assigned to the egress-only internet gateway.

    + *

    The current state of the route.

    */ - Tags?: Tag[]; + Status?: ClientVpnRouteStatus; } -export namespace EgressOnlyInternetGateway { +export namespace CreateClientVpnRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: EgressOnlyInternetGateway): any => ({ + export const filterSensitiveLog = (obj: CreateClientVpnRouteResult): any => ({ ...obj, }); } -export interface CreateEgressOnlyInternetGatewayResult { +export type GatewayType = "ipsec.1"; + +/** + *

    Contains the parameters for CreateCustomerGateway.

    + */ +export interface CreateCustomerGatewayRequest { /** - *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

    + *

    For devices that support BGP, the customer gateway's BGP ASN.

    + *

    Default: 65000

    */ - ClientToken?: string; + BgpAsn: number | undefined; /** - *

    Information about the egress-only internet gateway.

    + *

    The Internet-routable IP address for the customer gateway's outside interface. The + * address must be static.

    */ - EgressOnlyInternetGateway?: EgressOnlyInternetGateway; -} + PublicIp?: string; -export namespace CreateEgressOnlyInternetGatewayResult { /** - * @internal + *

    The Amazon Resource Name (ARN) for the customer gateway certificate.

    */ - export const filterSensitiveLog = (obj: CreateEgressOnlyInternetGatewayResult): any => ({ - ...obj, - }); -} + CertificateArn?: string; -export enum FleetExcessCapacityTerminationPolicy { - NO_TERMINATION = "no-termination", - TERMINATION = "termination", -} + /** + *

    The type of VPN connection that this customer gateway supports + * (ipsec.1).

    + */ + Type: GatewayType | string | undefined; -/** - *

    Describes the Amazon EC2 launch template and the launch template version that can be used by - * an EC2 Fleet to configure Amazon EC2 instances. For information about launch templates, see Launching - * an instance from a launch template in the - * Amazon EC2 User Guide.

    - */ -export interface FleetLaunchTemplateSpecificationRequest { /** - *

    The ID of the launch template. If you specify the template ID, you can't specify the template name.

    + *

    The tags to apply to the customer gateway.

    */ - LaunchTemplateId?: string; + TagSpecifications?: TagSpecification[]; /** - *

    The name of the launch template. If you specify the template name, you can't specify the template ID.

    + *

    A name for the customer gateway device.

    + *

    Length Constraints: Up to 255 characters.

    */ - LaunchTemplateName?: string; + DeviceName?: 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.

    - *

    If the value is $Default, Amazon EC2 uses the default version of the launch template.

    + *

    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

    */ - Version?: string; + DryRun?: boolean; } -export namespace FleetLaunchTemplateSpecificationRequest { +export namespace CreateCustomerGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateCustomerGatewayRequest): any => ({ ...obj, }); } -export enum BareMetal { - EXCLUDED = "excluded", - INCLUDED = "included", - REQUIRED = "required", -} - /** - *

    The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see - * Amazon - * EBS–optimized instances in the Amazon EC2 User Guide.

    + *

    Describes a customer gateway.

    */ -export interface BaselineEbsBandwidthMbpsRequest { +export interface CustomerGateway { /** - *

    The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit - * this parameter.

    + *

    The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number + * (ASN).

    */ - Min?: number; + BgpAsn?: string; /** - *

    The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit - * this parameter.

    + *

    The ID of the customer gateway.

    */ - Max?: number; -} + CustomerGatewayId?: string; -export namespace BaselineEbsBandwidthMbpsRequest { /** - * @internal + *

    The Internet-routable IP address of the customer gateway's outside interface.

    */ - export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbpsRequest): any => ({ - ...obj, - }); -} - -export enum BurstablePerformance { - EXCLUDED = "excluded", - INCLUDED = "included", - REQUIRED = "required", -} - -export enum CpuManufacturer { - AMAZON_WEB_SERVICES = "amazon-web-services", - AMD = "amd", - INTEL = "intel", -} - -export enum InstanceGeneration { - CURRENT = "current", - PREVIOUS = "previous", -} - -export enum LocalStorage { - EXCLUDED = "excluded", - INCLUDED = "included", - REQUIRED = "required", -} - -export enum LocalStorageType { - HDD = "hdd", - SSD = "ssd", -} + IpAddress?: string; -/** - *

    The minimum and maximum amount of memory per vCPU, in GiB.

    - */ -export interface MemoryGiBPerVCpuRequest { /** - *

    The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this - * parameter.

    + *

    The Amazon Resource Name (ARN) for the customer gateway certificate.

    */ - Min?: number; + CertificateArn?: string; /** - *

    The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this - * parameter.

    + *

    The current state of the customer gateway (pending | available | deleting | + * deleted).

    */ - Max?: number; -} + State?: string; -export namespace MemoryGiBPerVCpuRequest { /** - * @internal + *

    The type of VPN connection the customer gateway supports + * (ipsec.1).

    */ - export const filterSensitiveLog = (obj: MemoryGiBPerVCpuRequest): any => ({ - ...obj, - }); -} + Type?: string; -/** - *

    The minimum and maximum amount of memory, in MiB.

    - */ -export interface MemoryMiBRequest { /** - *

    The minimum amount of memory, in MiB. To specify no minimum limit, specify - * 0.

    + *

    The name of customer gateway device.

    */ - Min: number | undefined; + DeviceName?: string; /** - *

    The maximum amount of memory, in MiB. To specify no maximum limit, omit this - * parameter.

    + *

    Any tags assigned to the customer gateway.

    */ - Max?: number; + Tags?: Tag[]; } -export namespace MemoryMiBRequest { +export namespace CustomerGateway { /** * @internal */ - export const filterSensitiveLog = (obj: MemoryMiBRequest): any => ({ + export const filterSensitiveLog = (obj: CustomerGateway): any => ({ ...obj, }); } /** - *

    The minimum and maximum number of network interfaces.

    + *

    Contains the output of CreateCustomerGateway.

    */ -export interface NetworkInterfaceCountRequest { - /** - *

    The minimum number of network interfaces. To specify no minimum limit, omit this - * parameter.

    - */ - Min?: number; - +export interface CreateCustomerGatewayResult { /** - *

    The maximum number of network interfaces. To specify no maximum limit, omit this - * parameter.

    + *

    Information about the customer gateway.

    */ - Max?: number; + CustomerGateway?: CustomerGateway; } -export namespace NetworkInterfaceCountRequest { +export namespace CreateCustomerGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceCountRequest): any => ({ + export const filterSensitiveLog = (obj: CreateCustomerGatewayResult): any => ({ ...obj, }); } -/** - *

    The minimum and maximum amount of total local storage, in GB.

    - */ -export interface TotalLocalStorageGBRequest { +export interface CreateDefaultSubnetRequest { /** - *

    The minimum amount of total local storage, in GB. To specify no minimum limit, omit this - * parameter.

    + *

    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.

    */ - Min?: number; + DryRun?: boolean; /** - *

    The maximum amount of total local storage, in GB. To specify no maximum limit, omit this - * parameter.

    + *

    Indicates whether to create an IPv6 only subnet. If you already have a default subnet + * for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

    */ - Max?: number; + Ipv6Native?: boolean; } -export namespace TotalLocalStorageGBRequest { +export namespace CreateDefaultSubnetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TotalLocalStorageGBRequest): any => ({ + export const filterSensitiveLog = (obj: CreateDefaultSubnetRequest): any => ({ ...obj, }); } +export enum HostnameType { + ip_name = "ip-name", + resource_name = "resource-name", +} + /** - *

    The minimum and maximum number of vCPUs.

    + *

    Describes the options for instance hostnames.

    */ -export interface VCpuCountRangeRequest { +export interface PrivateDnsNameOptionsOnLaunch { + /** + *

    The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be + * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based + * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance + * IPv4 address or the instance ID.

    + */ + HostnameType?: HostnameType | string; + /** - *

    The minimum number of vCPUs. To specify no minimum limit, specify 0.

    + *

    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

    */ - Min: number | undefined; + EnableResourceNameDnsARecord?: boolean; /** - *

    The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

    + *

    Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.

    */ - Max?: number; + EnableResourceNameDnsAAAARecord?: boolean; } -export namespace VCpuCountRangeRequest { +export namespace PrivateDnsNameOptionsOnLaunch { /** * @internal */ - export const filterSensitiveLog = (obj: VCpuCountRangeRequest): any => ({ + export const filterSensitiveLog = (obj: PrivateDnsNameOptionsOnLaunch): any => ({ ...obj, }); } +export type SubnetState = "available" | "pending"; + /** - *

    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with these attributes.

    - *

    When you specify multiple parameters, you get instance types that satisfy all of the - * specified parameters. If you specify multiple values for a parameter, you get instance - * types that satisfy any of the specified values.

    - * - *

    You must specify VCpuCount and MemoryMiB. All other parameters - * are optional. Any unspecified optional parameter is set to its default.

    - *
    - *

    For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot - * placement score in the Amazon EC2 User Guide.

    + *

    Describes a subnet.

    */ -export interface InstanceRequirementsRequest { +export interface Subnet { /** - *

    The minimum and maximum number of vCPUs.

    + *

    The Availability Zone of the subnet.

    */ - VCpuCount: VCpuCountRangeRequest | undefined; + AvailabilityZone?: string; /** - *

    The minimum and maximum amount of memory, in MiB.

    + *

    The AZ ID of the subnet.

    */ - MemoryMiB: MemoryMiBRequest | undefined; + AvailabilityZoneId?: string; /** - *

    The CPU manufacturers to include.

    - *
      - *
    • - *

      For instance types with Intel CPUs, specify intel.

      - *
    • - *
    • - *

      For instance types with AMD CPUs, specify amd.

      - *
    • - *
    • - *

      For instance types with Amazon Web Services CPUs, specify amazon-web-services.

      - *
    • - *
    - * - *

    Don't confuse the CPU manufacturer with the CPU architecture. Instances will - * be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you - * specify in your launch template.

    - *
    - *

    Default: Any manufacturer

    + *

    The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any + * stopped instances are considered unavailable.

    */ - CpuManufacturers?: (CpuManufacturer | string)[]; + AvailableIpAddressCount?: number; /** - *

    The minimum and maximum amount of memory per vCPU, in GiB.

    - *

    Default: No minimum or maximum limits

    + *

    The IPv4 CIDR block assigned to the subnet.

    */ - MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest; + CidrBlock?: string; /** - *

    The instance types to exclude. You can use strings with one or more wild cards, represented by - * an asterisk (*), to exclude an instance family, type, size, or generation. The - * following are examples: m5.8xlarge, c5*.*, m5a.*, - * r*, *3*.

    - *

    For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance - * family, which includes all C5a and C5n instance types. If you specify - * m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n - * instance types.

    - *

    Default: No excluded instance types

    + *

    Indicates whether this is the default subnet for the Availability Zone.

    */ - ExcludedInstanceTypes?: string[]; + DefaultForAz?: boolean; /** - *

    Indicates whether current or previous generation instance types are included. The - * current generation instance types are recommended for use. Current generation instance types are - * typically the latest two to three generations in each instance family. For more - * information, see Instance types in the - * Amazon EC2 User Guide.

    - *

    For current generation instance types, specify current.

    - *

    For previous generation instance types, specify previous.

    - *

    Default: Current and previous generation instance types

    + *

    + * Indicates the device position for local network interfaces in this subnet. For example, + * 1 indicates local network interfaces in this subnet are the secondary + * network interface (eth1). + *

    */ - InstanceGenerations?: (InstanceGeneration | string)[]; + EnableLniAtDeviceIndex?: number; /** - *

    The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, - * expressed as a percentage above the cheapest M, C, or R instance type with your specified - * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance - * types priced above your threshold.

    - *

    The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

    - *

    To turn off price protection, specify a high value, such as 999999.

    - *

    This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

    - *

    Default: 100 - *

    + *

    Indicates whether instances launched in this subnet receive a public IPv4 address.

    */ - SpotMaxPricePercentageOverLowestPrice?: number; + MapPublicIpOnLaunch?: boolean; /** - *

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, - * expressed as a percentage above the cheapest M, C, or R instance type with your specified - * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance - * types priced above your threshold.

    - *

    The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

    - *

    To turn off price protection, specify a high value, such as 999999.

    - *

    This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

    - *

    Default: 20 - *

    + *

    Indicates whether a network interface created in this subnet (including a network + * interface created by RunInstances) receives a customer-owned IPv4 address.

    */ - OnDemandMaxPricePercentageOverLowestPrice?: number; + MapCustomerOwnedIpOnLaunch?: boolean; /** - *

    Indicates whether bare metal instance types must be included, excluded, or required.

    - *
      - *
    • - *

      To include bare metal instance types, specify included.

      - *
    • - *
    • - *

      To require only bare metal instance types, specify required.

      - *
    • - *
    • - *

      To exclude bare metal instance types, specify excluded.

      - *
    • - *
    - *

    Default: excluded - *

    + *

    The customer-owned IPv4 address pool associated with the subnet.

    */ - BareMetal?: BareMetal | string; + CustomerOwnedIpv4Pool?: string; /** - *

    Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see - * Burstable performance instances.

    - *
      - *
    • - *

      To include burstable performance instance types, specify included.

      - *
    • - *
    • - *

      To require only burstable performance instance types, specify required.

      - *
    • - *
    • - *

      To exclude burstable performance instance types, specify excluded.

      - *
    • - *
    - *

    Default: excluded - *

    + *

    The current state of the subnet.

    */ - BurstablePerformance?: BurstablePerformance | string; + State?: SubnetState | string; /** - *

    Indicates whether instance types must support hibernation for On-Demand Instances.

    - *

    This parameter is not supported for GetSpotPlacementScores.

    - *

    Default: false - *

    + *

    The ID of the subnet.

    */ - RequireHibernateSupport?: boolean; + SubnetId?: string; /** - *

    The minimum and maximum number of network interfaces.

    - *

    Default: No minimum or maximum limits

    + *

    The ID of the VPC the subnet is in.

    */ - NetworkInterfaceCount?: NetworkInterfaceCountRequest; + VpcId?: string; /** - *

    Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, - * Amazon - * EC2 instance store in the Amazon EC2 User Guide.

    - *
      - *
    • - *

      To include instance types with instance store volumes, specify - * included.

      - *
    • - *
    • - *

      To require only instance types with instance store volumes, specify - * required.

      - *
    • - *
    • - *

      To exclude instance types with instance store volumes, specify - * excluded.

      - *
    • - *
    - *

    Default: included - *

    + *

    The ID of the Amazon Web Services account that owns the subnet.

    */ - LocalStorage?: LocalStorage | string; + OwnerId?: string; /** - *

    The type of local storage that is required.

    - *
      - *
    • - *

      For instance types with hard disk drive (HDD) storage, specify hdd.

      - *
    • - *
    • - *

      For instance types with solid state drive (SDD) storage, specify sdd.

      - *
    • - *
    - *

    Default: hdd and sdd - *

    + *

    Indicates whether a network interface created in this subnet (including a network + * interface created by RunInstances) receives an IPv6 address.

    */ - LocalStorageTypes?: (LocalStorageType | string)[]; + AssignIpv6AddressOnCreation?: boolean; /** - *

    The minimum and maximum amount of total local storage, in GB.

    - *

    Default: No minimum or maximum limits

    + *

    Information about the IPv6 CIDR blocks associated with the subnet.

    */ - TotalLocalStorageGB?: TotalLocalStorageGBRequest; + Ipv6CidrBlockAssociationSet?: SubnetIpv6CidrBlockAssociation[]; /** - *

    The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see - * Amazon - * EBS–optimized instances in the Amazon EC2 User Guide.

    - *

    Default: No minimum or maximum limits

    + *

    Any tags assigned to the subnet.

    */ - BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest; + Tags?: Tag[]; /** - *

    The accelerator types that must be on the instance type.

    - *
      - *
    • - *

      To include instance types with GPU hardware, specify gpu.

      - *
    • - *
    • - *

      To include instance types with FPGA hardware, specify fpga.

      - *
    • - *
    • - *

      To include instance types with inference hardware, specify inference.

      - *
    • - *
    - *

    Default: Any accelerator type

    + *

    The Amazon Resource Name (ARN) of the subnet.

    */ - AcceleratorTypes?: (AcceleratorType | string)[]; + SubnetArn?: string; /** - *

    The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on - * an instance.

    - *

    To exclude accelerator-enabled instance types, set Max to 0.

    - *

    Default: No minimum or maximum limits

    + *

    The Amazon Resource Name (ARN) of the Outpost.

    */ - AcceleratorCount?: AcceleratorCountRequest; + OutpostArn?: string; /** - *

    Indicates whether instance types must have accelerators by specific manufacturers.

    - *
      - *
    • - *

      For instance types with NVIDIA devices, specify nvidia.

      - *
    • - *
    • - *

      For instance types with AMD devices, specify amd.

      - *
    • - *
    • - *

      For instance types with Amazon Web Services devices, specify amazon-web-services.

      - *
    • - *
    • - *

      For instance types with Xilinx devices, specify xilinx.

      - *
    • - *
    - *

    Default: Any manufacturer

    + *

    Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet + * should return synthetic IPv6 addresses for IPv4-only destinations.

    */ - AcceleratorManufacturers?: (AcceleratorManufacturer | string)[]; + EnableDns64?: boolean; /** - *

    The accelerators that must be on the instance type.

    - *
      - *
    • - *

      For instance types with NVIDIA A100 GPUs, specify a100.

      - *
    • - *
    • - *

      For instance types with NVIDIA V100 GPUs, specify v100.

      - *
    • - *
    • - *

      For instance types with NVIDIA K80 GPUs, specify k80.

      - *
    • - *
    • - *

      For instance types with NVIDIA T4 GPUs, specify t4.

      - *
    • - *
    • - *

      For instance types with NVIDIA M60 GPUs, specify m60.

      - *
    • - *
    • - *

      For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

      - *
    • - *
    • - *

      For instance types with Xilinx VU9P FPGAs, specify vu9p.

      - *
    • - *
    - *

    Default: Any accelerator

    + *

    Indicates whether this is an IPv6 only subnet.

    */ - AcceleratorNames?: (AcceleratorName | string)[]; + Ipv6Native?: boolean; /** - *

    The minimum and maximum amount of total accelerator memory, in MiB.

    - *

    Default: No minimum or maximum limits

    + *

    The type of hostnames to assign to instances in the subnet at launch. An instance hostname + * is based on the IPv4 address or ID of the instance.

    */ - AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; + PrivateDnsNameOptionsOnLaunch?: PrivateDnsNameOptionsOnLaunch; } -export namespace InstanceRequirementsRequest { +export namespace Subnet { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceRequirementsRequest): any => ({ + export const filterSensitiveLog = (obj: Subnet): any => ({ ...obj, }); } -/** - *

    Describes the placement of an instance.

    - */ -export interface Placement { - /** - *

    The Availability Zone of the instance.

    - *

    If not specified, an Availability Zone will be automatically chosen for you based on - * the load balancing criteria for the Region.

    - *

    This parameter is not supported by CreateFleet.

    - */ - AvailabilityZone?: string; - - /** - *

    The affinity setting for the instance on the Dedicated Host. This parameter is not - * supported for the ImportInstance command.

    - *

    This parameter is not supported by CreateFleet.

    - */ - Affinity?: string; - - /** - *

    The name of the placement group the instance is in.

    - */ - GroupName?: string; - - /** - *

    The number of the partition that the instance is in. Valid only if the placement group - * strategy is set to partition.

    - *

    This parameter is not supported by CreateFleet.

    - */ - PartitionNumber?: number; - - /** - *

    The ID of the Dedicated Host on which the instance resides. This parameter is not - * supported for the ImportInstance command.

    - *

    This parameter is not supported by CreateFleet.

    - */ - HostId?: string; - +export interface CreateDefaultSubnetResult { /** - *

    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.

    - * - *

    T3 instances that use the unlimited CPU credit option do not support host tenancy.

    + *

    Information about the subnet.

    */ - Tenancy?: Tenancy | string; + Subnet?: Subnet; +} +export namespace CreateDefaultSubnetResult { /** - *

    Reserved for future use.

    - *

    This parameter is not supported by CreateFleet.

    + * @internal */ - SpreadDomain?: string; + export const filterSensitiveLog = (obj: CreateDefaultSubnetResult): any => ({ + ...obj, + }); +} +export interface CreateDefaultVpcRequest { /** - *

    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.

    + *

    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    */ - HostResourceGroupArn?: string; + DryRun?: boolean; } -export namespace Placement { +export namespace CreateDefaultVpcRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Placement): any => ({ + export const filterSensitiveLog = (obj: CreateDefaultVpcRequest): any => ({ ...obj, }); } +export type Tenancy = "dedicated" | "default" | "host"; + +export type VpcState = "available" | "pending"; + /** - *

    Describes overrides for a launch template.

    + *

    Describes a VPC.

    */ -export interface FleetLaunchTemplateOverridesRequest { - /** - *

    The instance type.

    - * - *

    If you specify InstanceTypes, you can't specify - * InstanceRequirements.

    - *
    - */ - InstanceType?: _InstanceType | string; - +export interface Vpc { /** - *

    The maximum price per unit hour that you are willing to pay for a Spot Instance.

    + *

    The primary IPv4 CIDR block for the VPC.

    */ - MaxPrice?: string; + CidrBlock?: 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 ID of the set of DHCP options you've associated with the VPC.

    */ - SubnetId?: string; + DhcpOptionsId?: string; /** - *

    The Availability Zone in which to launch the instances.

    + *

    The current state of the VPC.

    */ - AvailabilityZone?: string; + State?: VpcState | string; /** - *

    The number of units provided by the specified instance type.

    + *

    The ID of the VPC.

    */ - WeightedCapacity?: number; + VpcId?: string; /** - *

    The priority for the launch template override. The highest priority is launched - * first.

    - *

    If the On-Demand AllocationStrategy is set to prioritized, - * EC2 Fleet uses priority to determine which launch template override to use first in fulfilling - * On-Demand capacity.

    - *

    If the Spot AllocationStrategy is set to - * capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis - * to determine which launch template override to use in fulfilling Spot capacity, but - * optimizes for capacity 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. You can set the same priority for different launch template overrides.

    + *

    The ID of the Amazon Web Services account that owns the VPC.

    */ - Priority?: number; + OwnerId?: string; /** - *

    The location where the instance launched, if applicable.

    + *

    The allowed tenancy of instances launched into the VPC.

    */ - Placement?: Placement; + InstanceTenancy?: Tenancy | string; /** - *

    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

    - * - *

    If you specify InstanceRequirements, you can't specify - * InstanceTypes.

    - *
    + *

    Information about the IPv6 CIDR blocks associated with the VPC.

    */ - InstanceRequirements?: InstanceRequirementsRequest; -} + Ipv6CidrBlockAssociationSet?: VpcIpv6CidrBlockAssociation[]; -export namespace FleetLaunchTemplateOverridesRequest { /** - * @internal + *

    Information about the IPv4 CIDR blocks associated with the VPC.

    */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateOverridesRequest): any => ({ - ...obj, - }); -} + CidrBlockAssociationSet?: VpcCidrBlockAssociation[]; -/** - *

    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.

    + *

    Indicates whether the VPC is the default VPC.

    */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecificationRequest; + IsDefault?: boolean; /** - *

    Any parameters that you specify override the same parameters in the launch - * template.

    - *

    For fleets of type request and maintain, a maximum of 300 - * items is allowed across all launch templates.

    + *

    Any tags assigned to the VPC.

    */ - Overrides?: FleetLaunchTemplateOverridesRequest[]; + Tags?: Tag[]; } -export namespace FleetLaunchTemplateConfigRequest { +export namespace Vpc { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateConfigRequest): any => ({ + export const filterSensitiveLog = (obj: Vpc): any => ({ ...obj, }); } -export enum FleetOnDemandAllocationStrategy { - LOWEST_PRICE = "lowest-price", - PRIORITIZED = "prioritized", -} - -export enum FleetCapacityReservationUsageStrategy { - USE_CAPACITY_RESERVATIONS_FIRST = "use-capacity-reservations-first", -} - -/** - *

    Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand - * capacity.

    - * - *

    This strategy can only be used if the EC2 Fleet is of type instant.

    - *
    - *

    For more information about Capacity Reservations, see On-Demand Capacity - * Reservations in the Amazon EC2 User Guide. For examples of using - * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example - * configurations in the Amazon EC2 User Guide.

    - */ -export interface CapacityReservationOptionsRequest { +export interface CreateDefaultVpcResult { /** - *

    Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

    - *

    If you specify use-capacity-reservations-first, the fleet uses unused - * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If - * multiple instance pools have unused Capacity Reservations, the On-Demand allocation - * strategy (lowest-price or prioritized) is applied. If the number - * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining - * On-Demand target capacity is launched according to the On-Demand allocation strategy - * (lowest-price or prioritized).

    - *

    If you do not specify a value, the fleet fulfils the On-Demand capacity according to the - * chosen On-Demand allocation strategy.

    + *

    Information about the VPC.

    */ - UsageStrategy?: FleetCapacityReservationUsageStrategy | string; + Vpc?: Vpc; } -export namespace CapacityReservationOptionsRequest { +export namespace CreateDefaultVpcResult { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateDefaultVpcResult): any => ({ ...obj, }); } /** - *

    Describes the configuration of On-Demand Instances in an EC2 Fleet.

    + *

    Describes a DHCP configuration option.

    */ -export interface OnDemandOptionsRequest { +export interface NewDhcpConfiguration { /** - *

    The strategy that determines the order of the launch template overrides to use in - * fulfilling On-Demand capacity.

    - *

    - * lowest-price - EC2 Fleet uses price to determine the order, launching the lowest - * price first.

    - *

    - * prioritized - EC2 Fleet uses the priority that you assigned to each launch - * template override, launching the highest priority first.

    - *

    Default: lowest-price - *

    + *

    The name of a DHCP option.

    */ - AllocationStrategy?: FleetOnDemandAllocationStrategy | string; + Key?: string; /** - *

    The strategy for using unused Capacity Reservations for fulfilling On-Demand - * capacity.

    - *

    Supported only for fleets of type instant.

    + *

    One or more values for the DHCP option.

    */ - CapacityReservationOptions?: CapacityReservationOptionsRequest; + Values?: string[]; +} +export namespace NewDhcpConfiguration { /** - *

    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.

    + * @internal */ - SingleInstanceType?: boolean; + export const filterSensitiveLog = (obj: NewDhcpConfiguration): any => ({ + ...obj, + }); +} +export interface CreateDhcpOptionsRequest { /** - *

    Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

    - *

    Supported only for fleets of type instant.

    + *

    A DHCP configuration option.

    */ - SingleAvailabilityZone?: boolean; + DhcpConfigurations: NewDhcpConfiguration[] | undefined; /** - *

    The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

    - *

    Supported only for fleets of type instant.

    - *

    At least one of the following must be specified: SingleAvailabilityZone | - * SingleInstanceType - *

    + *

    The tags to assign to the DHCP option.

    */ - MinTargetCapacity?: number; + TagSpecifications?: TagSpecification[]; /** - *

    The maximum amount per hour for On-Demand Instances that you're willing to pay.

    + *

    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    */ - MaxTotalPrice?: string; + DryRun?: boolean; } -export namespace OnDemandOptionsRequest { +export namespace CreateDhcpOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: OnDemandOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateDhcpOptionsRequest): any => ({ ...obj, }); } -export enum SpotAllocationStrategy { - CAPACITY_OPTIMIZED = "capacity-optimized", - CAPACITY_OPTIMIZED_PRIORITIZED = "capacity-optimized-prioritized", - DIVERSIFIED = "diversified", - LOWEST_PRICE = "lowest-price", -} - -export type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; - -export enum FleetReplacementStrategy { - LAUNCH = "launch", - LAUNCH_BEFORE_TERMINATE = "launch-before-terminate", -} - /** - *

    The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance - * notification signal that your Spot Instance is at an elevated risk of being interrupted. - * For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

    + *

    Describes a value for a resource attribute that is a String.

    */ -export interface FleetSpotCapacityRebalanceRequest { - /** - *

    The replacement strategy to use. Only available for fleets of type - * maintain.

    - *

    - * launch - EC2 Fleet launches a replacement Spot Instance when a rebalance - * notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not - * terminate the instances that receive a rebalance notification. You can terminate the old - * instances, or you can leave them running. You are charged for all instances while they are - * running.

    - *

    - * launch-before-terminate - EC2 Fleet launches a replacement Spot Instance - * when a rebalance notification is emitted for an existing Spot Instance in the fleet, and - * then, after a delay that you specify (in TerminationDelay), terminates the - * instances that received a rebalance notification.

    - */ - ReplacementStrategy?: FleetReplacementStrategy | string; - +export interface AttributeValue { /** - *

    The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot - * Instance after launching a new replacement Spot Instance.

    - *

    Valid only when ReplacementStrategy is set to launch-before-terminate.

    - *

    Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

    + *

    The attribute value. The value is case-sensitive.

    */ - TerminationDelay?: number; + Value?: string; } -export namespace FleetSpotCapacityRebalanceRequest { +export namespace AttributeValue { /** * @internal */ - export const filterSensitiveLog = (obj: FleetSpotCapacityRebalanceRequest): any => ({ + export const filterSensitiveLog = (obj: AttributeValue): any => ({ ...obj, }); } /** - *

    The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

    + *

    Describes a DHCP configuration option.

    */ -export interface FleetSpotMaintenanceStrategiesRequest { +export interface DhcpConfiguration { /** - *

    The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

    + *

    The name of a DHCP option.

    + */ + Key?: string; + + /** + *

    One or more values for the DHCP option.

    */ - CapacityRebalance?: FleetSpotCapacityRebalanceRequest; + Values?: AttributeValue[]; } -export namespace FleetSpotMaintenanceStrategiesRequest { +export namespace DhcpConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategiesRequest): any => ({ + export const filterSensitiveLog = (obj: DhcpConfiguration): any => ({ ...obj, }); } /** - *

    Describes the configuration of Spot Instances in an EC2 Fleet request.

    + *

    Describes a set of DHCP options.

    */ -export interface SpotOptionsRequest { - /** - *

    The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by - * the EC2 Fleet.

    - *

    - * lowest-price - EC2 Fleet launches instances from - * the Spot Instance pools with the lowest price.

    - *

    - * diversified - EC2 Fleet launches instances from all - * of the Spot Instance pools that you specify.

    - *

    - * capacity-optimized (recommended) - EC2 Fleet - * launches instances from Spot Instance pools with optimal capacity for the number of instances that - * are launching. To give certain instance types a higher chance of launching first, use - * capacity-optimized-prioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You can - * assign the same priority to different LaunchTemplateOverrides. EC2 implements - * the priorities on a best-effort basis, but optimizes for capacity first. - * capacity-optimized-prioritized is supported only if your fleet uses a - * launch template. Note that if the On-Demand AllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

    - *

    Default: lowest-price - *

    - */ - AllocationStrategy?: SpotAllocationStrategy | string; - - /** - *

    The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

    - */ - MaintenanceStrategies?: FleetSpotMaintenanceStrategiesRequest; - +export interface DhcpOptions { /** - *

    The behavior when a Spot Instance is interrupted.

    - *

    Default: terminate - *

    + *

    One or more DHCP options in the set.

    */ - InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; + DhcpConfigurations?: DhcpConfiguration[]; /** - *

    The number of Spot pools across which to allocate your target Spot capacity. Supported - * only when Spot 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.

    - *

    Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of pools - * that you specified.

    + *

    The ID of the set of DHCP options.

    */ - InstancePoolsToUseCount?: number; + DhcpOptionsId?: 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.

    + *

    The ID of the Amazon Web Services account that owns the DHCP options set.

    */ - SingleInstanceType?: boolean; + OwnerId?: string; /** - *

    Indicates that the fleet launches all Spot Instances into a single Availability Zone.

    - *

    Supported only for fleets of type instant.

    + *

    Any tags assigned to the DHCP options set.

    */ - SingleAvailabilityZone?: boolean; + Tags?: Tag[]; +} +export namespace DhcpOptions { /** - *

    The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

    - *

    Supported only for fleets of type instant.

    - *

    At least one of the following must be specified: SingleAvailabilityZone | - * SingleInstanceType - *

    + * @internal */ - MinTargetCapacity?: number; + export const filterSensitiveLog = (obj: DhcpOptions): any => ({ + ...obj, + }); +} +export interface CreateDhcpOptionsResult { /** - *

    The maximum amount per hour for Spot Instances that you're willing to pay.

    + *

    A set of DHCP options.

    */ - MaxTotalPrice?: string; + DhcpOptions?: DhcpOptions; } -export namespace SpotOptionsRequest { +export namespace CreateDhcpOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateDhcpOptionsResult): any => ({ ...obj, }); } -export enum DefaultTargetCapacityType { - ON_DEMAND = "on-demand", - SPOT = "spot", -} - -export enum TargetCapacityUnitType { - MEMORY_MIB = "memory-mib", - UNITS = "units", - VCPU = "vcpu", -} - -/** - *

    The number of units to request. You can choose to set the target capacity as the number of - * instances. Or you can set the target capacity to 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.

    - *

    You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance - * MaxTotalPrice 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, EC2 Fleet will launch instances until it reaches the maximum amount that 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 - * MaxTotalPrice parameters are located in OnDemandOptionsRequest - * and SpotOptionsRequest.

    - */ -export interface TargetCapacitySpecificationRequest { - /** - *

    The number of units to request, filled using - * DefaultTargetCapacityType.

    - */ - TotalTargetCapacity: number | undefined; - +export interface CreateEgressOnlyInternetGatewayRequest { /** - *

    The number of On-Demand units to request.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

    */ - OnDemandTargetCapacity?: number; + ClientToken?: string; /** - *

    The number of Spot units to 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.

    */ - SpotTargetCapacity?: number; + DryRun?: boolean; /** - *

    The default TotalTargetCapacity, which is either Spot or - * On-Demand.

    + *

    The ID of the VPC for which to create the egress-only internet gateway.

    */ - DefaultTargetCapacityType?: DefaultTargetCapacityType | string; + VpcId: string | undefined; /** - *

    The unit for the target capacity.

    - *

    Default: units (translates to number of instances)

    + *

    The tags to assign to the egress-only internet gateway.

    */ - TargetCapacityUnitType?: TargetCapacityUnitType | string; + TagSpecifications?: TagSpecification[]; } -export namespace TargetCapacitySpecificationRequest { +export namespace CreateEgressOnlyInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetCapacitySpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateEgressOnlyInternetGatewayRequest): any => ({ ...obj, }); } -export enum FleetType { - INSTANT = "instant", - MAINTAIN = "maintain", - REQUEST = "request", -} - -export interface CreateFleetRequest { +/** + *

    Describes the attachment of a VPC to an internet gateway or an egress-only internet + * gateway.

    + */ +export interface InternetGatewayAttachment { /** - *

    Checks whether you have the required permissions for the action, without 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 current state of the attachment. For an internet gateway, the state is + * available when attached to a VPC; otherwise, this value is not + * returned.

    */ - DryRun?: boolean; + State?: AttachmentStatus | string; /** - *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

    + *

    The ID of the VPC.

    */ - ClientToken?: string; + VpcId?: string; +} +export namespace InternetGatewayAttachment { /** - *

    Describes the configuration of Spot Instances in an EC2 Fleet.

    + * @internal */ - SpotOptions?: SpotOptionsRequest; + export const filterSensitiveLog = (obj: InternetGatewayAttachment): any => ({ + ...obj, + }); +} +/** + *

    Describes an egress-only internet gateway.

    + */ +export interface EgressOnlyInternetGateway { /** - *

    Describes the configuration of On-Demand Instances in an EC2 Fleet.

    + *

    Information about the attachment of the egress-only internet gateway.

    */ - OnDemandOptions?: OnDemandOptionsRequest; + Attachments?: InternetGatewayAttachment[]; /** - *

    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.

    + *

    The ID of the egress-only internet gateway.

    */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + EgressOnlyInternetGatewayId?: string; /** - *

    The configuration for the EC2 Fleet.

    + *

    The tags assigned to the egress-only internet gateway.

    */ - LaunchTemplateConfigs: FleetLaunchTemplateConfigRequest[] | undefined; + Tags?: Tag[]; +} +export namespace EgressOnlyInternetGateway { /** - *

    The number of units to request.

    + * @internal */ - TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; + export const filterSensitiveLog = (obj: EgressOnlyInternetGateway): any => ({ + ...obj, + }); +} +export interface CreateEgressOnlyInternetGatewayResult { /** - *

    Indicates whether running instances should be terminated when the EC2 Fleet expires.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

    */ - TerminateInstancesWithExpiration?: boolean; + ClientToken?: string; /** - *

    The fleet type. The default value is maintain.

    - *
      - *
    • - *

      - * maintain - The EC2 Fleet places an asynchronous request for your desired - * capacity, and continues to maintain your desired Spot capacity by replenishing - * interrupted Spot Instances.

      - *
    • - *
    • - *

      - * request - The EC2 Fleet places an asynchronous one-time request for your - * desired capacity, but does submit Spot requests in alternative capacity pools if Spot - * capacity is unavailable, and does not maintain Spot capacity if Spot Instances are - * interrupted.

      - *
    • - *
    • - *

      - * instant - The EC2 Fleet places a synchronous one-time request for your - * desired capacity, and returns errors for any instances that could not be - * launched.

      - *
    • - *
    - *

    For more information, see EC2 Fleet - * request types in the Amazon EC2 User Guide.

    + *

    Information about the egress-only internet gateway.

    */ - Type?: FleetType | string; + EgressOnlyInternetGateway?: EgressOnlyInternetGateway; +} +export namespace CreateEgressOnlyInternetGatewayResult { /** - *

    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.

    + * @internal */ - ValidFrom?: Date; + export const filterSensitiveLog = (obj: CreateEgressOnlyInternetGatewayResult): any => ({ + ...obj, + }); +} - /** - *

    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.

    - */ - ValidUntil?: Date; +export enum FleetExcessCapacityTerminationPolicy { + NO_TERMINATION = "no-termination", + TERMINATION = "termination", +} +/** + *

    Describes the Amazon EC2 launch template and the launch template version that can be used by + * an EC2 Fleet to configure Amazon EC2 instances. For information about launch templates, see Launching + * an instance from a launch template in the + * Amazon EC2 User Guide.

    + */ +export interface FleetLaunchTemplateSpecificationRequest { /** - *

    Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for - * fleets of type maintain. For more information, see EC2 Fleet - * health checks in the Amazon EC2 User Guide.

    + *

    The ID of the launch template. If you specify the template ID, you can't specify the template name.

    */ - ReplaceUnhealthyInstances?: boolean; + LaunchTemplateId?: string; /** - *

    The key-value pair for tagging the EC2 Fleet request on creation. For more information, see - * Tagging your resources.

    - *

    If the fleet type is instant, specify a resource type of fleet - * to tag the fleet or instance to tag the instances at launch.

    - *

    If the fleet type is maintain or request, specify a resource - * type of fleet to tag the fleet. You cannot specify a resource type of - * instance. To tag instances at launch, specify the tags in a launch template.

    + *

    The name of the launch template. If you specify the template name, you can't specify the template ID.

    */ - TagSpecifications?: TagSpecification[]; + LaunchTemplateName?: string; /** - *

    Reserved.

    + *

    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.

    + *

    If the value is $Default, Amazon EC2 uses the default version of the launch template.

    */ - Context?: string; + Version?: string; } -export namespace CreateFleetRequest { +export namespace FleetLaunchTemplateSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetRequest): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateSpecificationRequest): any => ({ ...obj, }); } +export enum BareMetal { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + /** - *

    Describes the Amazon EC2 launch template and the launch template version that can be used - * by a Spot Fleet request to configure Amazon EC2 instances. For information about launch templates, - * see Launching an instance from a launch template in the - * Amazon EC2 User Guide for Linux Instances.

    + *

    The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

    */ -export interface FleetLaunchTemplateSpecification { - /** - *

    The ID of the launch template. If you specify the template ID, you can't specify the - * template name.

    - */ - LaunchTemplateId?: string; - +export interface BaselineEbsBandwidthMbpsRequest { /** - *

    The name of the launch template. If you specify the template name, you can't specify - * the template ID.

    + *

    The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit + * this parameter.

    */ - LaunchTemplateName?: string; + Min?: number; /** - *

    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.

    - *

    If the value is $Default, Amazon EC2 uses the default version of the launch - * template.

    + *

    The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit + * this parameter.

    */ - Version?: string; + Max?: number; } -export namespace FleetLaunchTemplateSpecification { +export namespace BaselineEbsBandwidthMbpsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateSpecification): any => ({ + export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbpsRequest): any => ({ ...obj, }); } + +export enum BurstablePerformance { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + +export enum CpuManufacturer { + AMAZON_WEB_SERVICES = "amazon-web-services", + AMD = "amd", + INTEL = "intel", +} + +export enum InstanceGeneration { + CURRENT = "current", + PREVIOUS = "previous", +} + +export enum LocalStorage { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + +export enum LocalStorageType { + HDD = "hdd", + SSD = "ssd", +} diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 8bf282e347e9..7ec8a82865e9 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -3,28 +3,35 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { _InstanceType, AcceleratorCount, + AcceleratorCountRequest, AcceleratorManufacturer, AcceleratorName, AcceleratorTotalMemoryMiB, + AcceleratorTotalMemoryMiBRequest, AcceleratorType, + AccessScopePath, + AccessScopePathRequest, + AddIpamOperatingRegion, AddPrefixListEntry, - ApplianceModeSupportValue, + AddressFamily, AttachmentStatus, BareMetal, + BaselineEbsBandwidthMbpsRequest, BurstablePerformance, CpuManufacturer, CurrencyCodeValues, DnsSupportValue, - FleetLaunchTemplateSpecification, + FleetExcessCapacityTerminationPolicy, + FleetLaunchTemplateSpecificationRequest, HostnameType, InstanceEventWindow, InstanceGeneration, - InstanceRequirementsRequest, InternetGatewayAttachment, Ipv4PrefixSpecification, - Ipv6SupportValue, LocalStorage, LocalStorageType, + PortRange, + Protocol, ReservedInstancesListing, ResourceType, RouteTableAssociationState, @@ -32,67 +39,33 @@ import { Tag, TagSpecification, Tenancy, - TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, - TransitGatewayPeeringAttachment, - TransitGatewayVpcAttachment, UnsuccessfulItem, - VolumeAttachment, - Vpc, WeekDay, } from "./models_0"; -/** - *

    The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see - * Amazon - * EBS–optimized instances in the Amazon EC2 User Guide.

    - */ -export interface BaselineEbsBandwidthMbps { - /** - *

    The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no - * minimum limit.

    - */ - Min?: number; - - /** - *

    The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no - * maximum limit.

    - */ - Max?: number; -} - -export namespace BaselineEbsBandwidthMbps { - /** - * @internal - */ - export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbps): any => ({ - ...obj, - }); -} - /** *

    The minimum and maximum amount of memory per vCPU, in GiB.

    - *

    */ -export interface MemoryGiBPerVCpu { +export interface MemoryGiBPerVCpuRequest { /** - *

    The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is - * no minimum limit.

    + *

    The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this + * parameter.

    */ Min?: number; /** - *

    The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is - * no maximum limit.

    + *

    The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this + * parameter.

    */ Max?: number; } -export namespace MemoryGiBPerVCpu { +export namespace MemoryGiBPerVCpuRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MemoryGiBPerVCpu): any => ({ + export const filterSensitiveLog = (obj: MemoryGiBPerVCpuRequest): any => ({ ...obj, }); } @@ -100,25 +73,25 @@ export namespace MemoryGiBPerVCpu { /** *

    The minimum and maximum amount of memory, in MiB.

    */ -export interface MemoryMiB { +export interface MemoryMiBRequest { /** - *

    The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum - * limit.

    + *

    The minimum amount of memory, in MiB. To specify no minimum limit, specify + * 0.

    */ - Min?: number; + Min: number | undefined; /** - *

    The maximum amount of memory, in MiB. If this parameter is not specified, there is no - * maximum limit.

    + *

    The maximum amount of memory, in MiB. To specify no maximum limit, omit this + * parameter.

    */ Max?: number; } -export namespace MemoryMiB { +export namespace MemoryMiBRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MemoryMiB): any => ({ + export const filterSensitiveLog = (obj: MemoryMiBRequest): any => ({ ...obj, }); } @@ -126,25 +99,25 @@ export namespace MemoryMiB { /** *

    The minimum and maximum number of network interfaces.

    */ -export interface NetworkInterfaceCount { +export interface NetworkInterfaceCountRequest { /** - *

    The minimum number of network interfaces. If this parameter is not specified, there is no - * minimum limit.

    + *

    The minimum number of network interfaces. To specify no minimum limit, omit this + * parameter.

    */ Min?: number; /** - *

    The maximum number of network interfaces. If this parameter is not specified, there is no - * maximum limit.

    + *

    The maximum number of network interfaces. To specify no maximum limit, omit this + * parameter.

    */ Max?: number; } -export namespace NetworkInterfaceCount { +export namespace NetworkInterfaceCountRequest { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceCount): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceCountRequest): any => ({ ...obj, }); } @@ -152,25 +125,25 @@ export namespace NetworkInterfaceCount { /** *

    The minimum and maximum amount of total local storage, in GB.

    */ -export interface TotalLocalStorageGB { +export interface TotalLocalStorageGBRequest { /** - *

    The minimum amount of total local storage, in GB. If this parameter is not specified, there is - * no minimum limit.

    + *

    The minimum amount of total local storage, in GB. To specify no minimum limit, omit this + * parameter.

    */ Min?: number; /** - *

    The maximum amount of total local storage, in GB. If this parameter is not specified, there is - * no maximum limit.

    + *

    The maximum amount of total local storage, in GB. To specify no maximum limit, omit this + * parameter.

    */ Max?: number; } -export namespace TotalLocalStorageGB { +export namespace TotalLocalStorageGBRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TotalLocalStorageGB): any => ({ + export const filterSensitiveLog = (obj: TotalLocalStorageGBRequest): any => ({ ...obj, }); } @@ -178,32 +151,30 @@ export namespace TotalLocalStorageGB { /** *

    The minimum and maximum number of vCPUs.

    */ -export interface VCpuCountRange { +export interface VCpuCountRangeRequest { /** - *

    The minimum number of vCPUs. If the value is 0, there is no minimum - * limit.

    + *

    The minimum number of vCPUs. To specify no minimum limit, specify 0.

    */ - Min?: number; + Min: number | undefined; /** - *

    The maximum number of vCPUs. If this parameter is not specified, there is no maximum - * limit.

    + *

    The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

    */ Max?: number; } -export namespace VCpuCountRange { +export namespace VCpuCountRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VCpuCountRange): any => ({ + export const filterSensitiveLog = (obj: VCpuCountRangeRequest): any => ({ ...obj, }); } /** *

    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with these attributes.

    + * identify instance types with these attributes.

    *

    When you specify multiple parameters, you get instance types that satisfy all of the * specified parameters. If you specify multiple values for a parameter, you get instance * types that satisfy any of the specified values.

    @@ -214,16 +185,16 @@ export namespace VCpuCountRange { *

    For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot * placement score in the Amazon EC2 User Guide.

    */ -export interface InstanceRequirements { +export interface InstanceRequirementsRequest { /** *

    The minimum and maximum number of vCPUs.

    */ - VCpuCount?: VCpuCountRange; + VCpuCount: VCpuCountRangeRequest | undefined; /** *

    The minimum and maximum amount of memory, in MiB.

    */ - MemoryMiB?: MemoryMiB; + MemoryMiB: MemoryMiBRequest | undefined; /** *

    The CPU manufacturers to include.

    @@ -251,13 +222,13 @@ export interface InstanceRequirements { *

    The minimum and maximum amount of memory per vCPU, in GiB.

    *

    Default: No minimum or maximum limits

    */ - MemoryGiBPerVCpu?: MemoryGiBPerVCpu; + MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest; /** *

    The instance types to exclude. You can use strings with one or more wild cards, represented by - * an asterisk (*), to exclude an instance type, size, or generation. The - * following are examples: m5.8xlarge, c5*.*, m5a.*, - * r*, *3*.

    + * an asterisk (*), to exclude an instance family, type, size, or generation. The + * following are examples: m5.8xlarge, c5*.*, m5a.*, + * r*, *3*.

    *

    For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance * family, which includes all C5a and C5n instance types. If you specify * m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n @@ -279,7 +250,7 @@ export interface InstanceRequirements { InstanceGenerations?: (InstanceGeneration | string)[]; /** - *

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, + *

    The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, * expressed as a percentage above the cheapest M, C, or R instance type with your specified * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance * types priced above your threshold.

    @@ -342,8 +313,7 @@ export interface InstanceRequirements { BurstablePerformance?: BurstablePerformance | string; /** - *

    Indicates whether instance types must support hibernation for On-Demand - * Instances.

    + *

    Indicates whether instance types must support hibernation for On-Demand Instances.

    *

    This parameter is not supported for GetSpotPlacementScores.

    *

    Default: false *

    @@ -354,16 +324,16 @@ export interface InstanceRequirements { *

    The minimum and maximum number of network interfaces.

    *

    Default: No minimum or maximum limits

    */ - NetworkInterfaceCount?: NetworkInterfaceCount; + NetworkInterfaceCount?: NetworkInterfaceCountRequest; /** *

    Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, - * Amazon - * EC2 instance store in the Amazon EC2 User Guide.

    + * Amazon + * EC2 instance store in the Amazon EC2 User Guide.

    *
      *
    • *

      To include instance types with instance store volumes, specify - * included.

      + * included.

      *
    • *
    • *

      To require only instance types with instance store volumes, specify @@ -371,7 +341,7 @@ export interface InstanceRequirements { *

    • *
    • *

      To exclude instance types with instance store volumes, specify - * excluded.

      + * excluded.

      *
    • *
    *

    Default: included @@ -398,7 +368,7 @@ export interface InstanceRequirements { *

    The minimum and maximum amount of total local storage, in GB.

    *

    Default: No minimum or maximum limits

    */ - TotalLocalStorageGB?: TotalLocalStorageGB; + TotalLocalStorageGB?: TotalLocalStorageGBRequest; /** *

    The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see @@ -406,19 +376,19 @@ export interface InstanceRequirements { * EBS–optimized instances in the Amazon EC2 User Guide.

    *

    Default: No minimum or maximum limits

    */ - BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbps; + BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest; /** *

    The accelerator types that must be on the instance type.

    *
      *
    • - *

      For instance types with GPU accelerators, specify gpu.

      + *

      To include instance types with GPU hardware, specify gpu.

      *
    • *
    • - *

      For instance types with FPGA accelerators, specify fpga.

      + *

      To include instance types with FPGA hardware, specify fpga.

      *
    • *
    • - *

      For instance types with inference accelerators, specify inference.

      + *

      To include instance types with inference hardware, specify inference.

      *
    • *
    *

    Default: Any accelerator type

    @@ -431,7 +401,7 @@ export interface InstanceRequirements { *

    To exclude accelerator-enabled instance types, set Max to 0.

    *

    Default: No minimum or maximum limits

    */ - AcceleratorCount?: AcceleratorCount; + AcceleratorCount?: AcceleratorCountRequest; /** *

    Indicates whether instance types must have accelerators by specific manufacturers.

    @@ -475,7 +445,7 @@ export interface InstanceRequirements { *

    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

    * *
  • - *

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    + *

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    *
  • *
*

Default: Any accelerator

@@ -486,14 +456,14 @@ export interface InstanceRequirements { *

The minimum and maximum amount of total accelerator memory, in MiB.

*

Default: No minimum or maximum limits

*/ - AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiB; + AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; } -export namespace InstanceRequirements { +export namespace InstanceRequirementsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceRequirements): any => ({ + export const filterSensitiveLog = (obj: InstanceRequirementsRequest): any => ({ ...obj, }); } @@ -501,18 +471,71 @@ export namespace InstanceRequirements { /** *

Describes the placement of an instance.

*/ -export interface PlacementResponse { +export interface Placement { /** - *

The name of the placement group that the instance is in.

+ *

The Availability Zone of the instance.

+ *

If not specified, an Availability Zone will be automatically chosen for you based on + * the load balancing criteria for the Region.

+ *

This parameter is not supported by CreateFleet.

+ */ + AvailabilityZone?: string; + + /** + *

The affinity setting for the instance on the Dedicated Host. This parameter is not + * supported for the ImportInstance command.

+ *

This parameter is not supported by CreateFleet.

+ */ + Affinity?: string; + + /** + *

The name of the placement group the instance is in.

*/ GroupName?: string; + + /** + *

The number of the partition that the instance is in. Valid only if the placement group + * strategy is set to partition.

+ *

This parameter is not supported by CreateFleet.

+ */ + PartitionNumber?: number; + + /** + *

The ID of the Dedicated Host on which the instance resides. This parameter is not + * supported for the ImportInstance command.

+ *

This parameter is not supported by CreateFleet.

+ */ + HostId?: 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.

+ * + *

T3 instances that use the unlimited CPU credit option do not support host tenancy.

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

Reserved for future use.

+ *

This parameter is not supported by CreateFleet.

+ */ + 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.

+ *

This parameter is not supported by CreateFleet.

+ */ + HostResourceGroupArn?: string; } -export namespace PlacementResponse { +export namespace Placement { /** * @internal */ - export const filterSensitiveLog = (obj: PlacementResponse): any => ({ + export const filterSensitiveLog = (obj: Placement): any => ({ ...obj, }); } @@ -520,7 +543,7 @@ export namespace PlacementResponse { /** *

Describes overrides for a launch template.

*/ -export interface FleetLaunchTemplateOverrides { +export interface FleetLaunchTemplateOverridesRequest { /** *

The instance type.

* @@ -536,7 +559,7 @@ export interface FleetLaunchTemplateOverrides { MaxPrice?: string; /** - *

The ID of the subnet in which to launch the instances.

+ *

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.

*/ SubnetId?: string; @@ -561,32 +584,32 @@ export interface FleetLaunchTemplateOverrides { * to determine which launch template override to use in fulfilling Spot capacity, but * optimizes for capacity 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. You can set - * the same priority for different launch template overrides.

+ * higher the priority. If no number is set, the launch template override has the lowest + * priority. You can set the same priority for different launch template overrides.

*/ Priority?: number; /** *

The location where the instance launched, if applicable.

*/ - Placement?: PlacementResponse; + Placement?: Placement; /** *

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will * identify instance types with those attributes.

* *

If you specify InstanceRequirements, you can't specify - * InstanceTypes.

+ * InstanceTypes.

*
*/ - InstanceRequirements?: InstanceRequirements; + InstanceRequirements?: InstanceRequirementsRequest; } -export namespace FleetLaunchTemplateOverrides { +export namespace FleetLaunchTemplateOverridesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateOverrides): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateOverridesRequest): any => ({ ...obj, }); } @@ -594,184 +617,381 @@ export namespace FleetLaunchTemplateOverrides { /** *

Describes a launch template and overrides.

*/ -export interface LaunchTemplateAndOverridesResponse { +export interface FleetLaunchTemplateConfigRequest { /** - *

The launch template.

+ *

The launch template to use. You must specify either the launch template ID or launch + * template name in the request.

*/ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecificationRequest; /** *

Any parameters that you specify override the same parameters in the launch * template.

+ *

For fleets of type request and maintain, a maximum of 300 + * items is allowed across all launch templates.

*/ - Overrides?: FleetLaunchTemplateOverrides; + Overrides?: FleetLaunchTemplateOverridesRequest[]; } -export namespace LaunchTemplateAndOverridesResponse { +export namespace FleetLaunchTemplateConfigRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateAndOverridesResponse): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateConfigRequest): any => ({ ...obj, }); } -export enum InstanceLifecycle { - ON_DEMAND = "on-demand", - SPOT = "spot", +export enum FleetOnDemandAllocationStrategy { + LOWEST_PRICE = "lowest-price", + PRIORITIZED = "prioritized", +} + +export enum FleetCapacityReservationUsageStrategy { + USE_CAPACITY_RESERVATIONS_FIRST = "use-capacity-reservations-first", } /** - *

Describes the instances that could not be launched by the fleet.

+ *

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand + * capacity.

+ * + *

This strategy can only be used if the EC2 Fleet is of type instant.

+ *
+ *

For more information about Capacity Reservations, see On-Demand Capacity + * Reservations in the Amazon EC2 User Guide. For examples of using + * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example + * configurations in the Amazon EC2 User Guide.

*/ -export interface CreateFleetError { - /** - *

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; - - /** - *

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

- */ - Lifecycle?: InstanceLifecycle | string; - - /** - *

The error code that indicates why the instance could not be launched. For more - * information about error codes, see Error Codes.

- */ - ErrorCode?: string; - +export interface CapacityReservationOptionsRequest { /** - *

The error message that describes why the instance could not be launched. For more - * information about error messages, see Error Codes.

+ *

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

+ *

If you specify use-capacity-reservations-first, the fleet uses unused + * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If + * multiple instance pools have unused Capacity Reservations, the On-Demand allocation + * strategy (lowest-price or prioritized) is applied. If the number + * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining + * On-Demand target capacity is launched according to the On-Demand allocation strategy + * (lowest-price or prioritized).

+ *

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the + * chosen On-Demand allocation strategy.

*/ - ErrorMessage?: string; + UsageStrategy?: FleetCapacityReservationUsageStrategy | string; } -export namespace CreateFleetError { +export namespace CapacityReservationOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetError): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationOptionsRequest): any => ({ ...obj, }); } -export type PlatformValues = "Windows"; - /** - *

Describes the instances that were launched by the fleet.

+ *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ -export interface CreateFleetInstance { +export interface OnDemandOptionsRequest { /** - *

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 strategy that determines the order of the launch template overrides to use in + * fulfilling On-Demand capacity.

+ *

+ * lowest-price - EC2 Fleet uses price to determine the order, launching the lowest + * price first.

+ *

+ * prioritized - EC2 Fleet uses the priority that you assigned to each launch + * template override, launching the highest priority first.

+ *

Default: lowest-price + *

*/ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; + AllocationStrategy?: FleetOnDemandAllocationStrategy | string; /** - *

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

+ *

The strategy for using unused Capacity Reservations for fulfilling On-Demand + * capacity.

+ *

Supported only for fleets of type instant.

*/ - Lifecycle?: InstanceLifecycle | string; + CapacityReservationOptions?: CapacityReservationOptionsRequest; /** - *

The IDs of the instances.

+ *

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.

*/ - InstanceIds?: string[]; + SingleInstanceType?: boolean; /** - *

The instance type.

+ *

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

+ *

Supported only for fleets of type instant.

*/ - InstanceType?: _InstanceType | string; + SingleAvailabilityZone?: boolean; /** - *

The value is Windows for Windows instances. Otherwise, the value is - * blank.

+ *

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

+ *

Supported only for fleets of type instant.

+ *

At least one of the following must be specified: SingleAvailabilityZone | + * SingleInstanceType + *

*/ - Platform?: PlatformValues | string; + MinTargetCapacity?: number; + + /** + *

The maximum amount per hour for On-Demand Instances that you're willing to pay.

+ */ + MaxTotalPrice?: string; } -export namespace CreateFleetInstance { +export namespace OnDemandOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetInstance): any => ({ + export const filterSensitiveLog = (obj: OnDemandOptionsRequest): any => ({ ...obj, }); } -export interface CreateFleetResult { - /** - *

The ID of the EC2 Fleet.

- */ - FleetId?: string; +export enum SpotAllocationStrategy { + CAPACITY_OPTIMIZED = "capacity-optimized", + CAPACITY_OPTIMIZED_PRIORITIZED = "capacity-optimized-prioritized", + DIVERSIFIED = "diversified", + LOWEST_PRICE = "lowest-price", +} + +export type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; + +export enum FleetReplacementStrategy { + LAUNCH = "launch", + LAUNCH_BEFORE_TERMINATE = "launch-before-terminate", +} +/** + *

The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance + * notification signal that your Spot Instance is at an elevated risk of being interrupted. + * For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

+ */ +export interface FleetSpotCapacityRebalanceRequest { /** - *

Information about the instances that could not be launched by the fleet. Supported only for - * fleets of type instant.

+ *

The replacement strategy to use. Only available for fleets of type + * maintain.

+ *

+ * launch - EC2 Fleet launches a replacement Spot Instance when a rebalance + * notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not + * terminate the instances that receive a rebalance notification. You can terminate the old + * instances, or you can leave them running. You are charged for all instances while they are + * running.

+ *

+ * launch-before-terminate - EC2 Fleet launches a replacement Spot Instance + * when a rebalance notification is emitted for an existing Spot Instance in the fleet, and + * then, after a delay that you specify (in TerminationDelay), terminates the + * instances that received a rebalance notification.

*/ - Errors?: CreateFleetError[]; + ReplacementStrategy?: FleetReplacementStrategy | string; /** - *

Information about the instances that were launched by the fleet. Supported only for - * fleets of type instant.

+ *

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot + * Instance after launching a new replacement Spot Instance.

+ *

Valid only when ReplacementStrategy is set to launch-before-terminate.

+ *

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

*/ - Instances?: CreateFleetInstance[]; + TerminationDelay?: number; } -export namespace CreateFleetResult { +export namespace FleetSpotCapacityRebalanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetResult): any => ({ + export const filterSensitiveLog = (obj: FleetSpotCapacityRebalanceRequest): any => ({ ...obj, }); } -export enum DestinationFileFormat { - parquet = "parquet", - plain_text = "plain-text", -} - /** - *

Describes the destination options for a flow log.

+ *

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

*/ -export interface DestinationOptionsRequest { - /** - *

The format for the flow log. The default is plain-text.

- */ - FileFormat?: DestinationFileFormat | string; - +export interface FleetSpotMaintenanceStrategiesRequest { /** - *

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. - * The default is false.

- */ - HiveCompatiblePartitions?: boolean; - - /** - *

Indicates whether to partition the flow log per hour. This reduces the cost and response - * time for queries. The default is false.

+ *

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

*/ - PerHourPartition?: boolean; + CapacityRebalance?: FleetSpotCapacityRebalanceRequest; } -export namespace DestinationOptionsRequest { +export namespace FleetSpotMaintenanceStrategiesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DestinationOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategiesRequest): any => ({ ...obj, }); } -export type LogDestinationType = "cloud-watch-logs" | "s3"; +/** + *

Describes the configuration of Spot Instances in an EC2 Fleet request.

+ */ +export interface SpotOptionsRequest { + /** + *

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by + * the EC2 Fleet.

+ *

+ * lowest-price - EC2 Fleet launches instances from + * the Spot Instance pools with the lowest price.

+ *

+ * diversified - EC2 Fleet launches instances from all + * of the Spot Instance pools that you specify.

+ *

+ * capacity-optimized (recommended) - EC2 Fleet + * launches instances from Spot Instance pools with optimal capacity for the number of instances that + * are launching. To give certain instance types a higher chance of launching first, use + * capacity-optimized-prioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You can + * assign the same priority to different LaunchTemplateOverrides. EC2 implements + * the priorities on a best-effort basis, but optimizes for capacity first. + * capacity-optimized-prioritized is supported only if your fleet uses a + * launch template. Note that if the On-Demand AllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

+ *

Default: lowest-price + *

+ */ + AllocationStrategy?: SpotAllocationStrategy | string; -export type FlowLogsResourceType = "NetworkInterface" | "Subnet" | "VPC"; + /** + *

The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

+ */ + MaintenanceStrategies?: FleetSpotMaintenanceStrategiesRequest; -export type TrafficType = "ACCEPT" | "ALL" | "REJECT"; + /** + *

The behavior when a Spot Instance is interrupted.

+ *

Default: terminate + *

+ */ + InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; -export interface CreateFlowLogsRequest { + /** + *

The number of Spot pools across which to allocate your target Spot capacity. Supported + * only when Spot 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.

+ *

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of pools + * that you specified.

+ */ + 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.

+ */ + 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 minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

+ *

Supported only for fleets of type instant.

+ *

At least one of the following must be specified: SingleAvailabilityZone | + * SingleInstanceType + *

+ */ + MinTargetCapacity?: number; + + /** + *

The maximum amount per hour for Spot Instances that you're willing to pay.

+ */ + MaxTotalPrice?: string; +} + +export namespace SpotOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SpotOptionsRequest): any => ({ + ...obj, + }); +} + +export enum DefaultTargetCapacityType { + ON_DEMAND = "on-demand", + SPOT = "spot", +} + +export enum TargetCapacityUnitType { + MEMORY_MIB = "memory-mib", + UNITS = "units", + VCPU = "vcpu", +} + +/** + *

The number of units to request. You can choose to set the target capacity as the number of + * instances. Or you can set the target capacity to 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.

+ *

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance + * MaxTotalPrice 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, EC2 Fleet will launch instances until it reaches the maximum amount that 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 + * MaxTotalPrice parameters are located in OnDemandOptionsRequest + * and SpotOptionsRequest.

+ */ +export interface TargetCapacitySpecificationRequest { + /** + *

The number of units to request, filled using + * DefaultTargetCapacityType.

+ */ + TotalTargetCapacity: number | undefined; + + /** + *

The number of On-Demand units to request.

+ */ + OnDemandTargetCapacity?: number; + + /** + *

The number of Spot units to request.

+ */ + SpotTargetCapacity?: number; + + /** + *

The default TotalTargetCapacity, which is either Spot or + * On-Demand.

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

The unit for the target capacity.

+ *

Default: units (translates to number of instances)

+ */ + TargetCapacityUnitType?: TargetCapacityUnitType | string; +} + +export namespace TargetCapacitySpecificationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TargetCapacitySpecificationRequest): any => ({ + ...obj, + }); +} + +export enum FleetType { + INSTANT = "instant", + MAINTAIN = "maintain", + REQUEST = "request", +} + +export interface CreateFleetRequest { /** *

Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -781,988 +1001,1139 @@ export interface CreateFlowLogsRequest { /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

+ * request. For more information, see Ensuring + * Idempotency.

*/ ClientToken?: string; /** - *

The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group - * in your account.

- *

If you specify LogDestinationType as s3, do not specify - * DeliverLogsPermissionArn or LogGroupName.

+ *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ - DeliverLogsPermissionArn?: string; + SpotOptions?: SpotOptionsRequest; /** - *

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

- *

If you specify LogDestinationType as s3, do not specify - * DeliverLogsPermissionArn or LogGroupName.

+ *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ - LogGroupName?: string; + OnDemandOptions?: OnDemandOptionsRequest; /** - *

The ID of the subnet, network interface, or VPC for which you want to create a flow log.

- *

Constraints: Maximum of 1000 resources

+ *

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.

*/ - ResourceIds: string[] | undefined; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; /** - *

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.

+ *

The configuration for the EC2 Fleet.

*/ - ResourceType: FlowLogsResourceType | string | undefined; + LaunchTemplateConfigs: FleetLaunchTemplateConfigRequest[] | undefined; /** - *

The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

+ *

The number of units to request.

*/ - TrafficType: TrafficType | string | undefined; + TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; /** - *

The type of destination to which the flow log data is to be published. Flow log data can be - * published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To - * publish flow log data to Amazon S3, specify s3.

- *

If you specify LogDestinationType as s3, do not specify - * DeliverLogsPermissionArn or LogGroupName.

- *

Default: cloud-watch-logs - *

+ *

Indicates whether running instances should be terminated when the EC2 Fleet expires.

*/ - LogDestinationType?: LogDestinationType | string; + TerminateInstancesWithExpiration?: boolean; /** - *

The destination to which the flow log data is to be published. Flow log data can be published - * to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified - * for LogDestinationType.

- *

If LogDestinationType is not specified or cloud-watch-logs, - * specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish - * to a log group called my-logs, specify - * arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, - * use LogGroupName instead.

- *

If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a - * subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: - * bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a - * bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You - * cannot use AWSLogs as a subfolder name. This is a reserved term.

+ *

The fleet type. The default value is maintain.

+ *
    + *
  • + *

    + * maintain - The EC2 Fleet places an asynchronous request for your desired + * capacity, and continues to maintain your desired Spot capacity by replenishing + * interrupted Spot Instances.

    + *
  • + *
  • + *

    + * request - The EC2 Fleet places an asynchronous one-time request for your + * desired capacity, but does submit Spot requests in alternative capacity pools if Spot + * capacity is unavailable, and does not maintain Spot capacity if Spot Instances are + * interrupted.

    + *
  • + *
  • + *

    + * instant - The EC2 Fleet places a synchronous one-time request for your + * desired capacity, and returns errors for any instances that could not be + * launched.

    + *
  • + *
+ *

For more information, see EC2 Fleet + * request types in the Amazon EC2 User Guide.

*/ - LogDestination?: string; + Type?: FleetType | 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 CLI, surround this parameter value with single quotes on Linux or - * double quotes on Windows.

+ *

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.

*/ - LogFormat?: string; + ValidFrom?: Date; /** - *

The tags to apply to the flow logs.

+ *

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.

*/ - TagSpecifications?: TagSpecification[]; + ValidUntil?: Date; /** - *

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

+ *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for + * fleets of type maintain. For more information, see EC2 Fleet + * health checks in the Amazon EC2 User Guide.

*/ - MaxAggregationInterval?: number; + ReplaceUnhealthyInstances?: boolean; /** - *

The destination options.

+ *

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see + * Tagging your resources.

+ *

If the fleet type is instant, specify a resource type of fleet + * to tag the fleet or instance to tag the instances at launch.

+ *

If the fleet type is maintain or request, specify a resource + * type of fleet to tag the fleet. You cannot specify a resource type of + * instance. To tag instances at launch, specify the tags in a launch template.

*/ - DestinationOptions?: DestinationOptionsRequest; + TagSpecifications?: TagSpecification[]; + + /** + *

Reserved.

+ */ + Context?: string; } -export namespace CreateFlowLogsRequest { +export namespace CreateFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFlowLogsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFleetRequest): any => ({ ...obj, }); } -export interface CreateFlowLogsResult { +/** + *

Describes the Amazon EC2 launch template and the launch template version that can be used + * by a Spot Fleet request to configure Amazon EC2 instances. For information about launch templates, + * see Launching an instance from a launch template in the + * Amazon EC2 User Guide for Linux Instances.

+ */ +export interface FleetLaunchTemplateSpecification { /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

+ *

The ID of the launch template. If you specify the template ID, you can't specify the + * template name.

*/ - ClientToken?: string; + LaunchTemplateId?: string; /** - *

The IDs of the flow logs.

+ *

The name of the launch template. If you specify the template name, you can't specify + * the template ID.

*/ - FlowLogIds?: string[]; + LaunchTemplateName?: string; /** - *

Information about the flow logs that could not be created successfully.

+ *

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.

+ *

If the value is $Default, Amazon EC2 uses the default version of the launch + * template.

*/ - Unsuccessful?: UnsuccessfulItem[]; + Version?: string; } -export namespace CreateFlowLogsResult { +export namespace FleetLaunchTemplateSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFlowLogsResult): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateSpecification): any => ({ ...obj, }); } /** - *

Describes a storage location in Amazon S3.

+ *

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

*/ -export interface StorageLocation { +export interface BaselineEbsBandwidthMbps { /** - *

The name of the S3 bucket.

+ *

The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no + * minimum limit.

*/ - Bucket?: string; + Min?: number; /** - *

The key.

+ *

The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no + * maximum limit.

*/ - Key?: string; + Max?: number; } -export namespace StorageLocation { +export namespace BaselineEbsBandwidthMbps { /** * @internal */ - export const filterSensitiveLog = (obj: StorageLocation): any => ({ + export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbps): any => ({ ...obj, }); } -export interface CreateFpgaImageRequest { - /** - *

Checks whether you have the required permissions for the action, without 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 location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

- */ - InputStorageLocation: StorageLocation | undefined; - +/** + *

The minimum and maximum amount of memory per vCPU, in GiB.

+ *

+ */ +export interface MemoryGiBPerVCpu { /** - *

The location in Amazon S3 for the output logs.

+ *

The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is + * no minimum limit.

*/ - LogsStorageLocation?: StorageLocation; + Min?: number; /** - *

A description for the AFI.

+ *

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is + * no maximum limit.

*/ - Description?: string; + Max?: number; +} +export namespace MemoryGiBPerVCpu { /** - *

A name for the AFI.

+ * @internal */ - Name?: string; + export const filterSensitiveLog = (obj: MemoryGiBPerVCpu): any => ({ + ...obj, + }); +} +/** + *

The minimum and maximum amount of memory, in MiB.

+ */ +export interface MemoryMiB { /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see Ensuring Idempotency.

+ *

The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum + * limit.

*/ - ClientToken?: string; + Min?: number; /** - *

The tags to apply to the FPGA image during creation.

+ *

The maximum amount of memory, in MiB. If this parameter is not specified, there is no + * maximum limit.

*/ - TagSpecifications?: TagSpecification[]; + Max?: number; } -export namespace CreateFpgaImageRequest { +export namespace MemoryMiB { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFpgaImageRequest): any => ({ + export const filterSensitiveLog = (obj: MemoryMiB): any => ({ ...obj, }); } -export interface CreateFpgaImageResult { +/** + *

The minimum and maximum number of network interfaces.

+ */ +export interface NetworkInterfaceCount { /** - *

The FPGA image identifier (AFI ID).

+ *

The minimum number of network interfaces. If this parameter is not specified, there is no + * minimum limit.

*/ - FpgaImageId?: string; + Min?: number; /** - *

The global FPGA image identifier (AGFI ID).

+ *

The maximum number of network interfaces. If this parameter is not specified, there is no + * maximum limit.

*/ - FpgaImageGlobalId?: string; + Max?: number; } -export namespace CreateFpgaImageResult { +export namespace NetworkInterfaceCount { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFpgaImageResult): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceCount): any => ({ ...obj, }); } -export type VolumeType = "gp2" | "gp3" | "io1" | "io2" | "sc1" | "st1" | "standard"; - /** - *

Describes a block device for an EBS volume.

+ *

The minimum and maximum amount of total local storage, in GB.

*/ -export interface EbsBlockDevice { +export interface TotalLocalStorageGB { /** - *

Indicates whether the EBS volume is deleted on instance termination. For more - * information, see Preserving Amazon EBS volumes on instance termination in the - * Amazon EC2 User Guide.

+ *

The minimum amount of total local storage, in GB. If this parameter is not specified, there is + * no minimum limit.

*/ - DeleteOnTermination?: boolean; + Min?: number; /** - *

The number of I/O operations per second (IOPS). For gp3, 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.

- *

The following are the supported values for each volume type:

- *
    - *
  • - *

    - * gp3: 3,000-16,000 IOPS

    - *
  • - *
  • - *

    - * io1: 100-64,000 IOPS

    - *
  • - *
  • - *

    - * io2: 100-64,000 IOPS

    - *
  • - *
- *

For io1 and io2 volumes, we guarantee 64,000 IOPS only for - * Instances built on the Nitro System. Other instance families guarantee performance - * up to 32,000 IOPS.

- *

This parameter is required for io1 and io2 volumes. - * The default for gp3 volumes is 3,000 IOPS. - * This parameter is not supported for gp2, st1, sc1, or standard volumes.

+ *

The maximum amount of total local storage, in GB. If this parameter is not specified, there is + * no maximum limit.

*/ - Iops?: number; + Max?: number; +} +export namespace TotalLocalStorageGB { /** - *

The ID of the snapshot.

+ * @internal */ - SnapshotId?: string; + export const filterSensitiveLog = (obj: TotalLocalStorageGB): any => ({ + ...obj, + }); +} + +/** + *

The minimum and maximum number of vCPUs.

+ */ +export interface VCpuCountRange { + /** + *

The minimum number of vCPUs. If the value is 0, there is no minimum + * limit.

+ */ + Min?: number; /** - *

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. - * If you specify a snapshot, the default is the snapshot size. You can specify a volume - * size that is equal to or larger than the snapshot size.

- *

The following are the supported volumes sizes for each volume type:

- *
    - *
  • - *

    - * gp2 and gp3:1-16,384

    - *
  • + *

    The maximum number of vCPUs. If this parameter is not specified, there is no maximum + * limit.

    + */ + Max?: number; +} + +export namespace VCpuCountRange { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VCpuCountRange): any => ({ + ...obj, + }); +} + +/** + *

    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with these attributes.

    + *

    When you specify multiple parameters, you get instance types that satisfy all of the + * specified parameters. If you specify multiple values for a parameter, you get instance + * types that satisfy any of the specified values.

    + * + *

    You must specify VCpuCount and MemoryMiB. All other parameters + * are optional. Any unspecified optional parameter is set to its default.

    + *
    + *

    For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot + * placement score in the Amazon EC2 User Guide.

    + */ +export interface InstanceRequirements { + /** + *

    The minimum and maximum number of vCPUs.

    + */ + VCpuCount?: VCpuCountRange; + + /** + *

    The minimum and maximum amount of memory, in MiB.

    + */ + MemoryMiB?: MemoryMiB; + + /** + *

    The CPU manufacturers to include.

    + *
      *
    • - *

      - * io1 and io2: 4-16,384

      + *

      For instance types with Intel CPUs, specify intel.

      *
    • *
    • - *

      - * st1 and sc1: 125-16,384

      + *

      For instance types with AMD CPUs, specify amd.

      *
    • *
    • - *

      - * standard: 1-1,024

      + *

      For instance types with Amazon Web Services CPUs, specify amazon-web-services.

      *
    • *
    + * + *

    Don't confuse the CPU manufacturer with the CPU architecture. Instances will + * be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you + * specify in your launch template.

    + *
    + *

    Default: Any manufacturer

    */ - VolumeSize?: number; - - /** - *

    The volume type. For more information, see Amazon EBS volume types in the - * Amazon EC2 User Guide. If the volume type is io1 or io2, - * you must specify the IOPS that the volume supports.

    - */ - VolumeType?: VolumeType | string; + CpuManufacturers?: (CpuManufacturer | string)[]; /** - *

    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 minimum and maximum amount of memory per vCPU, in GiB.

    + *

    Default: No minimum or maximum limits

    */ - KmsKeyId?: string; + MemoryGiBPerVCpu?: MemoryGiBPerVCpu; /** - *

    The throughput that the volume supports, in MiB/s.

    - *

    This parameter is valid only for gp3 volumes.

    - *

    Valid Range: Minimum value of 125. Maximum value of 1000.

    + *

    The instance types to exclude. You can use strings with one or more wild cards, represented by + * an asterisk (*), to exclude an instance type, size, or generation. The + * following are examples: m5.8xlarge, c5*.*, m5a.*, + * r*, *3*.

    + *

    For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance + * family, which includes all C5a and C5n instance types. If you specify + * m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n + * instance types.

    + *

    Default: No excluded instance types

    */ - Throughput?: number; + ExcludedInstanceTypes?: string[]; /** - *

    The ARN of the Outpost on which the snapshot is stored.

    + *

    Indicates whether current or previous generation instance types are included. The + * current generation instance types are recommended for use. Current generation instance types are + * typically the latest two to three generations in each instance family. For more + * information, see Instance types in the + * Amazon EC2 User Guide.

    + *

    For current generation instance types, specify current.

    + *

    For previous generation instance types, specify previous.

    + *

    Default: Current and previous generation instance types

    */ - OutpostArn?: string; + InstanceGenerations?: (InstanceGeneration | 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 EC2 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 .

    + *

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, + * expressed as a percentage above the cheapest M, C, or R instance type with your specified + * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance + * types priced above your threshold.

    + *

    The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

    + *

    To turn off price protection, specify a high value, such as 999999.

    + *

    This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

    + *

    Default: 100 + *

    */ - Encrypted?: boolean; -} + SpotMaxPricePercentageOverLowestPrice?: number; -export namespace EbsBlockDevice { /** - * @internal + *

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, + * expressed as a percentage above the cheapest M, C, or R instance type with your specified + * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance + * types priced above your threshold.

    + *

    The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

    + *

    To turn off price protection, specify a high value, such as 999999.

    + *

    This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

    + *

    Default: 20 + *

    */ - export const filterSensitiveLog = (obj: EbsBlockDevice): any => ({ - ...obj, - }); -} + OnDemandMaxPricePercentageOverLowestPrice?: number; -/** - *

    Describes a block device mapping, which defines the EBS volumes and instance store - * volumes to attach to an instance at launch.

    - */ -export interface BlockDeviceMapping { /** - *

    The device name (for example, /dev/sdh or xvdh).

    + *

    Indicates whether bare metal instance types must be included, excluded, or required.

    + *
      + *
    • + *

      To include bare metal instance types, specify included.

      + *
    • + *
    • + *

      To require only bare metal instance types, specify required.

      + *
    • + *
    • + *

      To exclude bare metal instance types, specify excluded.

      + *
    • + *
    + *

    Default: excluded + *

    */ - DeviceName?: string; + BareMetal?: BareMetal | 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.

    - *

    NVMe instance store volumes are automatically enumerated and assigned a device name. - * Including them in your block device mapping has no effect.

    - *

    Constraints: For M3 instances, you must specify instance store volumes in the block - * device mapping for the instance. When you launch an M3 instance, we ignore any instance - * store volumes specified in the block device mapping for the AMI.

    + *

    Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see + * Burstable performance instances.

    + *
      + *
    • + *

      To include burstable performance instance types, specify included.

      + *
    • + *
    • + *

      To require only burstable performance instance types, specify required.

      + *
    • + *
    • + *

      To exclude burstable performance instance types, specify excluded.

      + *
    • + *
    + *

    Default: excluded + *

    */ - VirtualName?: string; + BurstablePerformance?: BurstablePerformance | string; /** - *

    Parameters used to automatically set up EBS volumes when the instance is - * launched.

    + *

    Indicates whether instance types must support hibernation for On-Demand + * Instances.

    + *

    This parameter is not supported for GetSpotPlacementScores.

    + *

    Default: false + *

    */ - Ebs?: EbsBlockDevice; + RequireHibernateSupport?: boolean; /** - *

    To omit the device from the block device mapping, specify an empty string. When this - * property is specified, the device is removed from the block device mapping regardless of - * the assigned value.

    + *

    The minimum and maximum number of network interfaces.

    + *

    Default: No minimum or maximum limits

    */ - NoDevice?: string; -} + NetworkInterfaceCount?: NetworkInterfaceCount; -export namespace BlockDeviceMapping { /** - * @internal + *

    Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, + * Amazon + * EC2 instance store in the Amazon EC2 User Guide.

    + *
      + *
    • + *

      To include instance types with instance store volumes, specify + * included.

      + *
    • + *
    • + *

      To require only instance types with instance store volumes, specify + * required.

      + *
    • + *
    • + *

      To exclude instance types with instance store volumes, specify + * excluded.

      + *
    • + *
    + *

    Default: included + *

    */ - export const filterSensitiveLog = (obj: BlockDeviceMapping): any => ({ - ...obj, - }); -} + LocalStorage?: LocalStorage | string; -export interface CreateImageRequest { /** - *

    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.

    + *

    The type of local storage that is required.

    + *
      + *
    • + *

      For instance types with hard disk drive (HDD) storage, specify hdd.

      + *
    • + *
    • + *

      For instance types with solid state drive (SDD) storage, specify sdd.

      + *
    • + *
    + *

    Default: hdd and sdd + *

    */ - BlockDeviceMappings?: BlockDeviceMapping[]; + LocalStorageTypes?: (LocalStorageType | string)[]; /** - *

    A description for the new image.

    + *

    The minimum and maximum amount of total local storage, in GB.

    + *

    Default: No minimum or maximum limits

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

    Checks whether you have the required permissions for the action, without 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 minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

    + *

    Default: No minimum or maximum limits

    */ - DryRun?: boolean; + BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbps; /** - *

    The ID of the instance.

    + *

    The accelerator types that must be on the instance type.

    + *
      + *
    • + *

      For instance types with GPU accelerators, specify gpu.

      + *
    • + *
    • + *

      For instance types with FPGA accelerators, specify fpga.

      + *
    • + *
    • + *

      For instance types with inference accelerators, specify inference.

      + *
    • + *
    + *

    Default: Any accelerator type

    */ - InstanceId: string | undefined; + AcceleratorTypes?: (AcceleratorType | string)[]; /** - *

    A name for the new image.

    - *

    Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

    + *

    The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on + * an instance.

    + *

    To exclude accelerator-enabled instance types, set Max to 0.

    + *

    Default: No minimum or maximum limits

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

    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. Without a reboot, the AMI will be crash consistent (all the volumes are snapshotted - * at the same time), but not application consistent (all the operating system buffers are not flushed - * to disk before the snapshots are created).

    + *

    Indicates whether instance types must have accelerators by specific manufacturers.

    + *
      + *
    • + *

      For instance types with NVIDIA devices, specify nvidia.

      + *
    • + *
    • + *

      For instance types with AMD devices, specify amd.

      + *
    • + *
    • + *

      For instance types with Amazon Web Services devices, specify amazon-web-services.

      + *
    • + *
    • + *

      For instance types with Xilinx devices, specify xilinx.

      + *
    • + *
    + *

    Default: Any manufacturer

    */ - NoReboot?: boolean; + AcceleratorManufacturers?: (AcceleratorManufacturer | string)[]; /** - *

    The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the - * snapshots, or both.

    + *

    The accelerators that must be on the instance type.

    *
      *
    • - *

      To tag the AMI, the value for ResourceType must be - * image.

      + *

      For instance types with NVIDIA A100 GPUs, specify a100.

      *
    • *
    • - *

      To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that - * are attached to the instance, the value for ResourceType must be - * snapshot. The same tag is applied to all of the snapshots that are - * created.

      + *

      For instance types with NVIDIA V100 GPUs, specify v100.

      + *
    • + *
    • + *

      For instance types with NVIDIA K80 GPUs, specify k80.

      + *
    • + *
    • + *

      For instance types with NVIDIA T4 GPUs, specify t4.

      + *
    • + *
    • + *

      For instance types with NVIDIA M60 GPUs, specify m60.

      + *
    • + *
    • + *

      For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

      + *
    • + *
    • + *

      For instance types with Xilinx VU9P FPGAs, specify vu9p.

      *
    • *
    - *

    If you specify other values for ResourceType, the request fails.

    - *

    To tag an AMI or snapshot after it has been created, see CreateTags.

    + *

    Default: Any accelerator

    */ - TagSpecifications?: TagSpecification[]; + AcceleratorNames?: (AcceleratorName | string)[]; + + /** + *

    The minimum and maximum amount of total accelerator memory, in MiB.

    + *

    Default: No minimum or maximum limits

    + */ + AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiB; } -export namespace CreateImageRequest { +export namespace InstanceRequirements { /** * @internal */ - export const filterSensitiveLog = (obj: CreateImageRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceRequirements): any => ({ ...obj, }); } -export interface CreateImageResult { +/** + *

    Describes the placement of an instance.

    + */ +export interface PlacementResponse { /** - *

    The ID of the new AMI.

    + *

    The name of the placement group that the instance is in.

    */ - ImageId?: string; + GroupName?: string; } -export namespace CreateImageResult { +export namespace PlacementResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateImageResult): any => ({ + export const filterSensitiveLog = (obj: PlacementResponse): any => ({ ...obj, }); } /** - *

    The start day and time and the end day and time of the time range, in UTC.

    + *

    Describes overrides for a launch template.

    */ -export interface InstanceEventWindowTimeRangeRequest { - /** - *

    The day on which the time range begins.

    - */ - StartWeekDay?: WeekDay | string; - - /** - *

    The hour when the time range begins.

    - */ - StartHour?: number; - +export interface FleetLaunchTemplateOverrides { /** - *

    The day on which the time range ends.

    + *

    The instance type.

    + * + *

    If you specify InstanceTypes, you can't specify + * InstanceRequirements.

    + *
    */ - EndWeekDay?: WeekDay | string; + InstanceType?: _InstanceType | string; /** - *

    The hour when the time range ends.

    + *

    The maximum price per unit hour that you are willing to pay for a Spot Instance.

    */ - EndHour?: number; -} + MaxPrice?: string; -export namespace InstanceEventWindowTimeRangeRequest { /** - * @internal + *

    The ID of the subnet in which to launch the instances.

    */ - export const filterSensitiveLog = (obj: InstanceEventWindowTimeRangeRequest): any => ({ - ...obj, - }); -} + SubnetId?: string; -export interface CreateInstanceEventWindowRequest { /** - *

    Checks whether you have the required permissions for the action, without 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 in which to launch the instances.

    */ - DryRun?: boolean; + AvailabilityZone?: string; /** - *

    The name of the event window.

    + *

    The number of units provided by the specified instance type.

    */ - Name?: string; + WeightedCapacity?: number; /** - *

    The time range for the event window. If you specify a time range, you can't specify a cron - * expression.

    + *

    The priority for the launch template override. The highest priority is launched + * first.

    + *

    If the On-Demand AllocationStrategy is set to prioritized, + * EC2 Fleet uses priority to determine which launch template override to use first in fulfilling + * On-Demand capacity.

    + *

    If the Spot AllocationStrategy is set to + * capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis + * to determine which launch template override to use in fulfilling Spot capacity, but + * optimizes for capacity 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. You can set + * the same priority for different launch template overrides.

    */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[]; + Priority?: number; /** - *

    The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If - * you specify a cron expression, you can't specify a time range.

    - *

    Constraints:

    - *
      - *
    • - *

      Only hour and day of the week values are supported.

      - *
    • - *
    • - *

      For day of the week values, you can specify either integers 0 through - * 6, or alternative single values SUN through - * SAT.

      - *
    • - *
    • - *

      The minute, month, and year must be specified by *.

      - *
    • - *
    • - *

      The hour value must be one or a multiple range, for example, 0-4 or - * 0-4,20-23.

      - *
    • - *
    • - *

      Each hour range must be >= 2 hours, for example, 0-2 or - * 20-23.

      - *
    • - *
    • - *

      The event window must be >= 4 hours. The combined total time ranges in the event - * window must be >= 4 hours.

      - *
    • - *
    - *

    For more information about cron expressions, see cron on the Wikipedia - * website.

    + *

    The location where the instance launched, if applicable.

    */ - CronExpression?: string; + Placement?: PlacementResponse; /** - *

    The tags to apply to the event window.

    + *

    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

    + * + *

    If you specify InstanceRequirements, you can't specify + * InstanceTypes.

    + *
    */ - TagSpecifications?: TagSpecification[]; + InstanceRequirements?: InstanceRequirements; } -export namespace CreateInstanceEventWindowRequest { +export namespace FleetLaunchTemplateOverrides { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateOverrides): any => ({ ...obj, }); } -export interface CreateInstanceEventWindowResult { +/** + *

    Describes a launch template and overrides.

    + */ +export interface LaunchTemplateAndOverridesResponse { /** - *

    Information about the event window.

    + *

    The launch template.

    */ - InstanceEventWindow?: InstanceEventWindow; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + + /** + *

    Any parameters that you specify override the same parameters in the launch + * template.

    + */ + Overrides?: FleetLaunchTemplateOverrides; } -export namespace CreateInstanceEventWindowResult { +export namespace LaunchTemplateAndOverridesResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInstanceEventWindowResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateAndOverridesResponse): any => ({ ...obj, }); } -export type ContainerFormat = "ova"; - -export type DiskImageFormat = "RAW" | "VHD" | "VMDK"; +export enum InstanceLifecycle { + ON_DEMAND = "on-demand", + SPOT = "spot", +} /** - *

    Describes an export instance task.

    + *

    Describes the instances that could not be launched by the fleet.

    */ -export interface ExportToS3TaskSpecification { +export interface CreateFleetError { /** - *

    The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is - * exported.

    + *

    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.

    */ - ContainerFormat?: ContainerFormat | string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

    The format for the exported image.

    + *

    Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

    */ - DiskImageFormat?: DiskImageFormat | string; + Lifecycle?: InstanceLifecycle | string; /** - *

    The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

    + *

    The error code that indicates why the instance could not be launched. For more + * information about error codes, see Error Codes.

    */ - S3Bucket?: string; + ErrorCode?: string; /** - *

    The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + - * exportTaskId + '.' + diskImageFormat.

    + *

    The error message that describes why the instance could not be launched. For more + * information about error messages, see Error Codes.

    */ - S3Prefix?: string; + ErrorMessage?: string; } -export namespace ExportToS3TaskSpecification { +export namespace CreateFleetError { /** * @internal */ - export const filterSensitiveLog = (obj: ExportToS3TaskSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateFleetError): any => ({ ...obj, }); } -export type ExportEnvironment = "citrix" | "microsoft" | "vmware"; +export type PlatformValues = "Windows"; -export interface CreateInstanceExportTaskRequest { +/** + *

    Describes the instances that were launched by the fleet.

    + */ +export interface CreateFleetInstance { /** - *

    A description for the conversion task or the resource being exported. The maximum length is 255 characters.

    + *

    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.

    */ - Description?: string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

    The format and location for an export instance task.

    + *

    Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

    */ - ExportToS3Task: ExportToS3TaskSpecification | undefined; + Lifecycle?: InstanceLifecycle | string; /** - *

    The ID of the instance.

    + *

    The IDs of the instances.

    */ - InstanceId: string | undefined; + InstanceIds?: string[]; /** - *

    The target virtualization environment.

    + *

    The instance type.

    */ - TargetEnvironment: ExportEnvironment | string | undefined; + InstanceType?: _InstanceType | string; /** - *

    The tags to apply to the export instance task during creation.

    + *

    The value is Windows for Windows instances. Otherwise, the value is + * blank.

    */ - TagSpecifications?: TagSpecification[]; + Platform?: PlatformValues | string; } -export namespace CreateInstanceExportTaskRequest { +export namespace CreateFleetInstance { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInstanceExportTaskRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFleetInstance): any => ({ ...obj, }); } -/** - *

    Describes the format and location for the export task.

    - */ -export interface ExportToS3Task { - /** - *

    The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is - * exported.

    - */ - ContainerFormat?: ContainerFormat | string; - +export interface CreateFleetResult { /** - *

    The format for the exported image.

    + *

    The ID of the EC2 Fleet.

    */ - DiskImageFormat?: DiskImageFormat | string; + FleetId?: string; /** - *

    The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

    + *

    Information about the instances that could not be launched by the fleet. Supported only for + * fleets of type instant.

    */ - S3Bucket?: string; + Errors?: CreateFleetError[]; /** - *

    The encryption key for your S3 bucket.

    + *

    Information about the instances that were launched by the fleet. Supported only for + * fleets of type instant.

    */ - S3Key?: string; + Instances?: CreateFleetInstance[]; } -export namespace ExportToS3Task { +export namespace CreateFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportToS3Task): any => ({ + export const filterSensitiveLog = (obj: CreateFleetResult): any => ({ ...obj, }); } +export enum DestinationFileFormat { + parquet = "parquet", + plain_text = "plain-text", +} + /** - *

    Describes an instance to export.

    + *

    Describes the destination options for a flow log.

    */ -export interface InstanceExportDetails { +export interface DestinationOptionsRequest { /** - *

    The ID of the resource being exported.

    + *

    The format for the flow log. The default is plain-text.

    */ - InstanceId?: string; + FileFormat?: DestinationFileFormat | string; /** - *

    The target virtualization environment.

    + *

    Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. + * The default is false.

    */ - TargetEnvironment?: ExportEnvironment | string; + HiveCompatiblePartitions?: boolean; + + /** + *

    Indicates whether to partition the flow log per hour. This reduces the cost and response + * time for queries. The default is false.

    + */ + PerHourPartition?: boolean; } -export namespace InstanceExportDetails { +export namespace DestinationOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceExportDetails): any => ({ + export const filterSensitiveLog = (obj: DestinationOptionsRequest): any => ({ ...obj, }); } -export type ExportTaskState = "active" | "cancelled" | "cancelling" | "completed"; +export type LogDestinationType = "cloud-watch-logs" | "s3"; -/** - *

    Describes an export instance task.

    - */ -export interface ExportTask { +export type FlowLogsResourceType = "NetworkInterface" | "Subnet" | "VPC"; + +export type TrafficType = "ACCEPT" | "ALL" | "REJECT"; + +export interface CreateFlowLogsRequest { /** - *

    A description of the resource being exported.

    + *

    Checks whether you have the required permissions for the action, without 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; /** - *

    The ID of the export task.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

    */ - ExportTaskId?: string; + ClientToken?: string; /** - *

    Information about the export task.

    + *

    The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group + * in your account.

    + *

    If you specify LogDestinationType as s3, do not specify + * DeliverLogsPermissionArn or LogGroupName.

    */ - ExportToS3Task?: ExportToS3Task; + DeliverLogsPermissionArn?: string; /** - *

    Information about the instance to export.

    + *

    The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

    + *

    If you specify LogDestinationType as s3, do not specify + * DeliverLogsPermissionArn or LogGroupName.

    */ - InstanceExportDetails?: InstanceExportDetails; + LogGroupName?: string; /** - *

    The state of the export task.

    + *

    The ID of the subnet, network interface, or VPC for which you want to create a flow log.

    + *

    Constraints: Maximum of 1000 resources

    */ - State?: ExportTaskState | string; + ResourceIds: string[] | undefined; /** - *

    The status message related to the export task.

    + *

    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.

    */ - StatusMessage?: string; + ResourceType: FlowLogsResourceType | string | undefined; /** - *

    The tags for the export task.

    + *

    The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

    */ - Tags?: Tag[]; -} + TrafficType: TrafficType | string | undefined; -export namespace ExportTask { /** - * @internal + *

    The type of destination to which the flow log data is to be published. Flow log data can be + * published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To + * publish flow log data to Amazon S3, specify s3.

    + *

    If you specify LogDestinationType as s3, do not specify + * DeliverLogsPermissionArn or LogGroupName.

    + *

    Default: cloud-watch-logs + *

    */ - export const filterSensitiveLog = (obj: ExportTask): any => ({ - ...obj, - }); -} + LogDestinationType?: LogDestinationType | string; -export interface CreateInstanceExportTaskResult { /** - *

    Information about the export instance task.

    + *

    The destination to which the flow log data is to be published. Flow log data can be published + * to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified + * for LogDestinationType.

    + *

    If LogDestinationType is not specified or cloud-watch-logs, + * specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish + * to a log group called my-logs, specify + * arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, + * use LogGroupName instead.

    + *

    If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a + * subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: + * bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a + * bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You + * cannot use AWSLogs as a subfolder name. This is a reserved term.

    */ - ExportTask?: ExportTask; -} + LogDestination?: string; -export namespace CreateInstanceExportTaskResult { /** - * @internal + *

    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 CLI, surround this parameter value with single quotes on Linux or + * double quotes on Windows.

    */ - export const filterSensitiveLog = (obj: CreateInstanceExportTaskResult): any => ({ - ...obj, - }); -} + LogFormat?: string; -export interface CreateInternetGatewayRequest { /** - *

    The tags to assign to the internet gateway.

    + *

    The tags to apply to the flow logs.

    */ 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 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

    */ - DryRun?: boolean; + MaxAggregationInterval?: number; + + /** + *

    The destination options.

    + */ + DestinationOptions?: DestinationOptionsRequest; } -export namespace CreateInternetGatewayRequest { +export namespace CreateFlowLogsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFlowLogsRequest): any => ({ ...obj, }); } -/** - *

    Describes an internet gateway.

    - */ -export interface InternetGateway { - /** - *

    Any VPCs attached to the internet gateway.

    - */ - Attachments?: InternetGatewayAttachment[]; - +export interface CreateFlowLogsResult { /** - *

    The ID of the internet gateway.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

    */ - InternetGatewayId?: string; + ClientToken?: string; /** - *

    The ID of the Amazon Web Services account that owns the internet gateway.

    + *

    The IDs of the flow logs.

    */ - OwnerId?: string; + FlowLogIds?: string[]; /** - *

    Any tags assigned to the internet gateway.

    + *

    Information about the flow logs that could not be created successfully.

    */ - Tags?: Tag[]; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace InternetGateway { +export namespace CreateFlowLogsResult { /** * @internal */ - export const filterSensitiveLog = (obj: InternetGateway): any => ({ + export const filterSensitiveLog = (obj: CreateFlowLogsResult): any => ({ ...obj, }); } -export interface CreateInternetGatewayResult { +/** + *

    Describes a storage location in Amazon S3.

    + */ +export interface StorageLocation { /** - *

    Information about the internet gateway.

    + *

    The name of the S3 bucket.

    */ - InternetGateway?: InternetGateway; + Bucket?: string; + + /** + *

    The key.

    + */ + Key?: string; } -export namespace CreateInternetGatewayResult { +export namespace StorageLocation { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInternetGatewayResult): any => ({ + export const filterSensitiveLog = (obj: StorageLocation): any => ({ ...obj, }); } -export enum KeyType { - ed25519 = "ed25519", - rsa = "rsa", -} +export interface CreateFpgaImageRequest { + /** + *

    Checks whether you have the required permissions for the action, without 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 CreateKeyPairRequest { /** - *

    A unique name for the key pair.

    - *

    Constraints: Up to 255 ASCII characters

    + *

    The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

    */ - KeyName: string | undefined; + InputStorageLocation: StorageLocation | 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 location in Amazon S3 for the output logs.

    + */ + LogsStorageLocation?: StorageLocation; + + /** + *

    A description for the AFI.

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

    A name for the AFI.

    */ - DryRun?: boolean; + Name?: string; /** - *

    The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

    - *

    Default: rsa - *

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see Ensuring Idempotency.

    */ - KeyType?: KeyType | string; + ClientToken?: string; /** - *

    The tags to apply to the new key pair.

    + *

    The tags to apply to the FPGA image during creation.

    */ TagSpecifications?: TagSpecification[]; } -export namespace CreateKeyPairRequest { +export namespace CreateFpgaImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateKeyPairRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFpgaImageRequest): any => ({ ...obj, }); } -/** - *

    Describes a key pair.

    - */ -export interface KeyPair { - /** - *

    The SHA-1 digest of the DER encoded private key.

    - */ - KeyFingerprint?: string; - - /** - *

    An unencrypted PEM encoded RSA or ED25519 private key.

    - */ - KeyMaterial?: string; - - /** - *

    The name of the key pair.

    - */ - KeyName?: string; - +export interface CreateFpgaImageResult { /** - *

    The ID of the key pair.

    + *

    The FPGA image identifier (AFI ID).

    */ - KeyPairId?: string; + FpgaImageId?: string; /** - *

    Any tags applied to the key pair.

    + *

    The global FPGA image identifier (AGFI ID).

    */ - Tags?: Tag[]; + FpgaImageGlobalId?: string; } -export namespace KeyPair { +export namespace CreateFpgaImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: KeyPair): any => ({ + export const filterSensitiveLog = (obj: CreateFpgaImageResult): any => ({ ...obj, - ...(obj.KeyMaterial && { KeyMaterial: SENSITIVE_STRING }), }); } +export type VolumeType = "gp2" | "gp3" | "io1" | "io2" | "sc1" | "st1" | "standard"; + /** - *

    The parameters for a block device for an EBS volume.

    + *

    Describes a block device for an EBS volume.

    */ -export interface LaunchTemplateEbsBlockDeviceRequest { - /** - *

    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.

    - */ - Encrypted?: boolean; - +export interface EbsBlockDevice { /** - *

    Indicates whether the EBS volume is deleted on instance termination.

    + *

    Indicates whether the EBS volume is deleted on instance termination. For more + * information, see Preserving Amazon EBS volumes on instance termination in the + * Amazon EC2 User Guide.

    */ DeleteOnTermination?: boolean; /** - *

    The number of I/O operations per second (IOPS). For gp3, 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.

    + *

    The number of I/O operations per second (IOPS). For gp3, 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.

    *

    The following are the supported values for each volume type:

    *
      *
    • @@ -1778,32 +2149,29 @@ export interface LaunchTemplateEbsBlockDeviceRequest { * io2: 100-64,000 IOPS

      *
    • *
    - *

    For io1 and io2 volumes, we guarantee 64,000 IOPS - * only for Instances built on the Nitro System. Other instance families guarantee performance up - * to 32,000 IOPS.

    - *

    This parameter is supported for io1, io2, and gp3 volumes only. This parameter is not supported for - * gp2, st1, sc1, or standard volumes.

    + *

    For io1 and io2 volumes, we guarantee 64,000 IOPS only for + * Instances built on the Nitro System. Other instance families guarantee performance + * up to 32,000 IOPS.

    + *

    This parameter is required for io1 and io2 volumes. + * The default for gp3 volumes is 3,000 IOPS. + * This parameter is not supported for gp2, st1, sc1, or standard volumes.

    */ Iops?: number; - /** - *

    The ARN of the symmetric Key Management Service (KMS) CMK used for - * encryption.

    - */ - KmsKeyId?: string; - /** *

    The ID of the snapshot.

    */ SnapshotId?: string; /** - *

    The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following - * are the supported volumes sizes for each volume type:

    + *

    The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. + * If you specify a snapshot, the default is the snapshot size. You can specify a volume + * size that is equal to or larger than the snapshot size.

    + *

    The following are the supported volumes sizes for each volume type:

    *
      *
    • *

      - * gp2 and gp3: 1-16,384

      + * gp2 and gp3:1-16,384

      *
    • *
    • *

      @@ -1819,1237 +2187,1301 @@ export interface LaunchTemplateEbsBlockDeviceRequest { *

    • *
    */ - VolumeSize?: number; + VolumeSize?: number; + + /** + *

    The volume type. For more information, see Amazon EBS volume types in the + * Amazon EC2 User Guide. If the volume type is io1 or io2, + * you must specify the IOPS that the volume supports.

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

    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.

    + */ + KmsKeyId?: string; + + /** + *

    The throughput that the volume supports, in MiB/s.

    + *

    This parameter is valid only for gp3 volumes.

    + *

    Valid Range: Minimum value of 125. Maximum value of 1000.

    + */ + Throughput?: number; + + /** + *

    The ARN of the Outpost on which the snapshot is stored.

    + */ + OutpostArn?: 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 EC2 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 .

    + */ + Encrypted?: boolean; +} + +export namespace EbsBlockDevice { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EbsBlockDevice): any => ({ + ...obj, + }); +} + +/** + *

    Describes a block device mapping, which defines the EBS volumes and instance store + * volumes to attach to an instance at launch.

    + */ +export interface BlockDeviceMapping { + /** + *

    The device name (for example, /dev/sdh or xvdh).

    + */ + 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.

    + *

    NVMe instance store volumes are automatically enumerated and assigned a device name. + * Including them in your block device mapping has no effect.

    + *

    Constraints: For M3 instances, you must specify instance store volumes in the block + * device mapping for the instance. When you launch an M3 instance, we ignore any instance + * 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; + + /** + *

    To omit the device from the block device mapping, specify an empty string. When this + * property is specified, the device is removed from the block device mapping regardless of + * the assigned value.

    + */ + NoDevice?: string; +} + +export namespace BlockDeviceMapping { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BlockDeviceMapping): any => ({ + ...obj, + }); +} + +export interface CreateImageRequest { + /** + *

    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.

    + */ + BlockDeviceMappings?: BlockDeviceMapping[]; + + /** + *

    A description for the new image.

    + */ + 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 ID of the instance.

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

    A name for the new image.

    + *

    Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

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

    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. Without a reboot, the AMI will be crash consistent (all the volumes are snapshotted + * at the same time), but not application consistent (all the operating system buffers are not flushed + * to disk before the snapshots are created).

    + */ + NoReboot?: boolean; + + /** + *

    The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the + * snapshots, or both.

    + *
      + *
    • + *

      To tag the AMI, the value for ResourceType must be + * image.

      + *
    • + *
    • + *

      To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that + * are attached to the instance, the value for ResourceType must be + * snapshot. The same tag is applied to all of the snapshots that are + * created.

      + *
    • + *
    + *

    If you specify other values for ResourceType, the request fails.

    + *

    To tag an AMI or snapshot after it has been created, see CreateTags.

    + */ + TagSpecifications?: TagSpecification[]; +} +export namespace CreateImageRequest { /** - *

    The volume type. For more information, see Amazon EBS volume types in the - * Amazon Elastic Compute Cloud User Guide.

    + * @internal */ - VolumeType?: VolumeType | string; + export const filterSensitiveLog = (obj: CreateImageRequest): any => ({ + ...obj, + }); +} +export interface CreateImageResult { /** - *

    The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.

    - *

    Valid Range: Minimum value of 125. Maximum value of 1000.

    + *

    The ID of the new AMI.

    */ - Throughput?: number; + ImageId?: string; } -export namespace LaunchTemplateEbsBlockDeviceRequest { +export namespace CreateImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDeviceRequest): any => ({ + export const filterSensitiveLog = (obj: CreateImageResult): any => ({ ...obj, }); } /** - *

    Describes a block device mapping.

    + *

    The start day and time and the end day and time of the time range, in UTC.

    */ -export interface LaunchTemplateBlockDeviceMappingRequest { +export interface InstanceEventWindowTimeRangeRequest { /** - *

    The device name (for example, /dev/sdh or xvdh).

    + *

    The day on which the time range begins.

    */ - DeviceName?: string; + StartWeekDay?: WeekDay | 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.

    + *

    The hour when the time range begins.

    */ - VirtualName?: string; + StartHour?: number; /** - *

    Parameters used to automatically set up EBS volumes when the instance is launched.

    + *

    The day on which the time range ends.

    */ - Ebs?: LaunchTemplateEbsBlockDeviceRequest; + EndWeekDay?: WeekDay | string; /** - *

    To omit the device from the block device mapping, specify an empty string.

    + *

    The hour when the time range ends.

    */ - NoDevice?: string; + EndHour?: number; } -export namespace LaunchTemplateBlockDeviceMappingRequest { +export namespace InstanceEventWindowTimeRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMappingRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindowTimeRangeRequest): any => ({ ...obj, }); } -export type CapacityReservationPreference = "none" | "open"; - -/** - *

    Describes a target Capacity Reservation or Capacity Reservation group.

    - */ -export interface CapacityReservationTarget { +export interface CreateInstanceEventWindowRequest { /** - *

    The ID of the Capacity Reservation in which to run the instance.

    + *

    Checks whether you have the required permissions for the action, without 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; + DryRun?: boolean; /** - *

    The ARN of the Capacity Reservation resource group in which to run the instance.

    + *

    The name of the event window.

    */ - CapacityReservationResourceGroupArn?: string; -} + Name?: string; -export namespace CapacityReservationTarget { /** - * @internal + *

    The time range for the event window. If you specify a time range, you can't specify a cron + * expression.

    */ - export const filterSensitiveLog = (obj: CapacityReservationTarget): any => ({ - ...obj, - }); -} + TimeRanges?: InstanceEventWindowTimeRangeRequest[]; -/** - *

    Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the - * CapacityReservationPreference parameter to configure the instance to run in On-Demand capacity or - * to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). - * Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation or - * a Capacity Reservation group.

    - */ -export interface LaunchTemplateCapacityReservationSpecificationRequest { /** - *

    Indicates the instance's Capacity Reservation preferences. Possible preferences include:

    - *
      + *

      The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If + * you specify a cron expression, you can't specify a time range.

      + *

      Constraints:

      + *
        *
      • - *

        - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

        + *

        Only hour and day of the week values are supported.

        *
      • *
      • - *

        - * none - The instance avoids running in a Capacity Reservation even if one is available. The instance - * runs in On-Demand capacity.

        + *

        For day of the week values, you can specify either integers 0 through + * 6, or alternative single values SUN through + * SAT.

        + *
      • + *
      • + *

        The minute, month, and year must be specified by *.

        + *
      • + *
      • + *

        The hour value must be one or a multiple range, for example, 0-4 or + * 0-4,20-23.

        + *
      • + *
      • + *

        Each hour range must be >= 2 hours, for example, 0-2 or + * 20-23.

        + *
      • + *
      • + *

        The event window must be >= 4 hours. The combined total time ranges in the event + * window must be >= 4 hours.

        *
      • *
      + *

      For more information about cron expressions, see cron on the Wikipedia + * website.

      */ - CapacityReservationPreference?: CapacityReservationPreference | string; + CronExpression?: string; /** - *

      Information about the target Capacity Reservation or Capacity Reservation group.

      + *

      The tags to apply to the event window.

      */ - CapacityReservationTarget?: CapacityReservationTarget; + TagSpecifications?: TagSpecification[]; } -export namespace LaunchTemplateCapacityReservationSpecificationRequest { +export namespace CreateInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceEventWindowRequest): any => ({ ...obj, }); } -/** - *

      The CPU options for the instance. Both the core count and threads per core - * must be specified in the request.

      - */ -export interface LaunchTemplateCpuOptionsRequest { - /** - *

      The number of CPU cores for the instance.

      - */ - CoreCount?: number; - +export interface CreateInstanceEventWindowResult { /** - *

      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.

      + *

      Information about the event window.

      */ - ThreadsPerCore?: number; + InstanceEventWindow?: InstanceEventWindow; } -export namespace LaunchTemplateCpuOptionsRequest { +export namespace CreateInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateCpuOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceEventWindowResult): any => ({ ...obj, }); } -/** - *

      The credit option for CPU usage of a T2, T3, or T3a instance.

      - */ -export interface CreditSpecificationRequest { - /** - *

      The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are - * standard and unlimited.

      - */ - CpuCredits: string | undefined; -} +export type ContainerFormat = "ova"; -export namespace CreditSpecificationRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreditSpecificationRequest): any => ({ - ...obj, - }); -} +export type DiskImageFormat = "RAW" | "VHD" | "VMDK"; /** - *

      A specification for an Elastic Graphics accelerator.

      + *

      Describes an export instance task.

      */ -export interface ElasticGpuSpecification { +export interface ExportToS3TaskSpecification { /** - *

      The type of Elastic Graphics accelerator. For more information about the values to specify for - * Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the - * Amazon Elastic Compute Cloud User Guide for Windows Instances.

      + *

      The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is + * exported.

      */ - Type: string | undefined; -} + ContainerFormat?: ContainerFormat | string; -export namespace ElasticGpuSpecification { /** - * @internal + *

      The format for the exported image.

      */ - export const filterSensitiveLog = (obj: ElasticGpuSpecification): any => ({ - ...obj, - }); -} + DiskImageFormat?: DiskImageFormat | string; -/** - *

      - * Describes an elastic inference accelerator. - *

      - */ -export interface LaunchTemplateElasticInferenceAccelerator { /** - *

      - * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. - *

      + *

      The Amazon S3 bucket for the destination image. The destination bucket must exist and grant + * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

      */ - Type: string | undefined; + S3Bucket?: string; /** - *

      - * The number of elastic inference accelerators to attach to the instance. - *

      - *

      Default: 1

      + *

      The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + + * exportTaskId + '.' + diskImageFormat.

      */ - Count?: number; + S3Prefix?: string; } -export namespace LaunchTemplateElasticInferenceAccelerator { +export namespace ExportToS3TaskSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAccelerator): any => ({ + export const filterSensitiveLog = (obj: ExportToS3TaskSpecification): any => ({ ...obj, }); } -/** - *

      Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, - * see - * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

      - */ -export interface LaunchTemplateEnclaveOptionsRequest { - /** - *

      To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

      - */ - Enabled?: boolean; -} +export type ExportEnvironment = "citrix" | "microsoft" | "vmware"; -export namespace LaunchTemplateEnclaveOptionsRequest { +export interface CreateInstanceExportTaskRequest { /** - * @internal + *

      A description for the conversion task or the resource being exported. The maximum length is 255 characters.

      */ - export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptionsRequest): any => ({ - ...obj, - }); -} + Description?: string; -/** - *

      Indicates whether the instance is configured for hibernation. This parameter is valid only - * if the instance meets the hibernation - * prerequisites.

      - */ -export interface LaunchTemplateHibernationOptionsRequest { /** - *

      If you set this parameter to true, the instance is enabled for hibernation.

      - *

      Default: false - *

      + *

      The format and location for an export instance task.

      */ - Configured?: boolean; -} + ExportToS3Task: ExportToS3TaskSpecification | undefined; -export namespace LaunchTemplateHibernationOptionsRequest { /** - * @internal + *

      The ID of the instance.

      */ - export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptionsRequest): any => ({ - ...obj, - }); -} + InstanceId: string | undefined; -/** - *

      An IAM instance profile.

      - */ -export interface LaunchTemplateIamInstanceProfileSpecificationRequest { /** - *

      The Amazon Resource Name (ARN) of the instance profile.

      + *

      The target virtualization environment.

      */ - Arn?: string; + TargetEnvironment: ExportEnvironment | string | undefined; /** - *

      The name of the instance profile.

      + *

      The tags to apply to the export instance task during creation.

      */ - Name?: string; + TagSpecifications?: TagSpecification[]; } -export namespace LaunchTemplateIamInstanceProfileSpecificationRequest { +export namespace CreateInstanceExportTaskRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceExportTaskRequest): any => ({ ...obj, }); } -export type ShutdownBehavior = "stop" | "terminate"; - -export type MarketType = "spot"; - -export type InstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; - -export type SpotInstanceType = "one-time" | "persistent"; - /** - *

      The options for Spot Instances.

      + *

      Describes the format and location for the export task.

      */ -export interface LaunchTemplateSpotMarketOptionsRequest { - /** - *

      The maximum hourly price you're willing to pay for the Spot Instances.

      - */ - MaxPrice?: string; - +export interface ExportToS3Task { /** - *

      The Spot Instance request type.

      + *

      The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is + * exported.

      */ - SpotInstanceType?: SpotInstanceType | string; + ContainerFormat?: ContainerFormat | 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).

      + *

      The format for the exported image.

      */ - BlockDurationMinutes?: number; + DiskImageFormat?: DiskImageFormat | 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 Amazon S3 bucket for the destination image. The destination bucket must exist and grant + * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

      */ - ValidUntil?: Date; + S3Bucket?: string; /** - *

      The behavior when a Spot Instance is interrupted. The default is terminate.

      + *

      The encryption key for your S3 bucket.

      */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + S3Key?: string; } -export namespace LaunchTemplateSpotMarketOptionsRequest { +export namespace ExportToS3Task { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ExportToS3Task): any => ({ ...obj, }); } /** - *

      The market (purchasing) option for the instances.

      + *

      Describes an instance to export.

      */ -export interface LaunchTemplateInstanceMarketOptionsRequest { +export interface InstanceExportDetails { /** - *

      The market type.

      + *

      The ID of the resource being exported.

      */ - MarketType?: MarketType | string; + InstanceId?: string; /** - *

      The options for Spot Instances.

      + *

      The target virtualization environment.

      */ - SpotOptions?: LaunchTemplateSpotMarketOptionsRequest; + TargetEnvironment?: ExportEnvironment | string; } -export namespace LaunchTemplateInstanceMarketOptionsRequest { +export namespace InstanceExportDetails { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceExportDetails): any => ({ ...obj, }); } +export type ExportTaskState = "active" | "cancelled" | "cancelling" | "completed"; + /** - *

      Describes a license configuration.

      + *

      Describes an export instance task.

      */ -export interface LaunchTemplateLicenseConfigurationRequest { +export interface ExportTask { /** - *

      The Amazon Resource Name (ARN) of the license configuration.

      + *

      A description of the resource being exported.

      */ - LicenseConfigurationArn?: string; -} + Description?: string; -export namespace LaunchTemplateLicenseConfigurationRequest { /** - * @internal + *

      The ID of the export task.

      */ - export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfigurationRequest): any => ({ - ...obj, - }); -} - -export type LaunchTemplateInstanceMetadataEndpointState = "disabled" | "enabled"; - -export enum LaunchTemplateInstanceMetadataProtocolIpv6 { - disabled = "disabled", - enabled = "enabled", -} + ExportTaskId?: string; -export enum LaunchTemplateHttpTokensState { - optional = "optional", - required = "required", -} + /** + *

      Information about the export task.

      + */ + ExportToS3Task?: ExportToS3Task; -/** - *

      The metadata options for the instance. For more information, see Instance Metadata and User Data in the - * Amazon Elastic Compute Cloud User Guide.

      - */ -export interface LaunchTemplateInstanceMetadataOptionsRequest { /** - *

      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.

      + *

      Information about the instance to export.

      */ - HttpTokens?: LaunchTemplateHttpTokensState | string; + InstanceExportDetails?: InstanceExportDetails; /** - *

      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

      + *

      The state of the export task.

      */ - HttpPutResponseHopLimit?: number; + State?: ExportTaskState | 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 status message related to the export task.

      */ - HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; + StatusMessage?: string; /** - *

      Enables or disables the IPv6 endpoint for the instance metadata service.

      - *

      Default: disabled - *

      + *

      The tags for the export task.

      */ - HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; + Tags?: Tag[]; } -export namespace LaunchTemplateInstanceMetadataOptionsRequest { +export namespace ExportTask { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ExportTask): any => ({ ...obj, }); } -/** - *

      Describes the monitoring for the instance.

      - */ -export interface LaunchTemplatesMonitoringRequest { +export interface CreateInstanceExportTaskResult { /** - *

      Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

      + *

      Information about the export instance task.

      */ - Enabled?: boolean; + ExportTask?: ExportTask; } -export namespace LaunchTemplatesMonitoringRequest { +export namespace CreateInstanceExportTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplatesMonitoringRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceExportTaskResult): any => ({ ...obj, }); } -/** - *

      Describes the IPv4 prefix option for a network interface.

      - */ -export interface Ipv4PrefixSpecificationRequest { +export interface CreateInternetGatewayRequest { /** - *

      The IPv4 prefix. For information, see - * Assigning prefixes to Amazon EC2 network interfaces in the - * Amazon Elastic Compute Cloud User Guide.

      + *

      The tags to assign to the internet gateway.

      */ - Ipv4Prefix?: 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.

      + */ + DryRun?: boolean; } -export namespace Ipv4PrefixSpecificationRequest { +export namespace CreateInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInternetGatewayRequest): any => ({ ...obj, }); } /** - *

      Describes an IPv6 address.

      + *

      Describes an internet gateway.

      */ -export interface InstanceIpv6AddressRequest { +export interface InternetGateway { /** - *

      The IPv6 address.

      + *

      Any VPCs attached to the internet gateway.

      */ - Ipv6Address?: string; + Attachments?: InternetGatewayAttachment[]; + + /** + *

      The ID of the internet gateway.

      + */ + InternetGatewayId?: string; + + /** + *

      The ID of the Amazon Web Services account that owns the internet gateway.

      + */ + OwnerId?: string; + + /** + *

      Any tags assigned to the internet gateway.

      + */ + Tags?: Tag[]; } -export namespace InstanceIpv6AddressRequest { +export namespace InternetGateway { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceIpv6AddressRequest): any => ({ + export const filterSensitiveLog = (obj: InternetGateway): any => ({ ...obj, }); } -/** - *

      Describes the IPv4 prefix option for a network interface.

      - */ -export interface Ipv6PrefixSpecificationRequest { +export interface CreateInternetGatewayResult { /** - *

      The IPv6 prefix.

      + *

      Information about the internet gateway.

      */ - Ipv6Prefix?: string; + InternetGateway?: InternetGateway; } -export namespace Ipv6PrefixSpecificationRequest { +export namespace CreateInternetGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInternetGatewayResult): any => ({ ...obj, }); } -/** - *

      Describes a secondary private IPv4 address for a network interface.

      - */ -export interface PrivateIpAddressSpecification { +export interface CreateIpamRequest { /** - *

      Indicates whether the private IPv4 address is the primary private IPv4 address. Only - * one IPv4 address can be designated as primary.

      + *

      A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      */ - Primary?: boolean; + DryRun?: boolean; /** - *

      The private IPv4 addresses.

      + *

      A description for the IPAM.

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

      The operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

      + *

      For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide. + *

      + */ + OperatingRegions?: AddIpamOperatingRegion[]; + + /** + *

      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.

      + */ + TagSpecifications?: TagSpecification[]; + + /** + *

      A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

      + */ + ClientToken?: string; } -export namespace PrivateIpAddressSpecification { +export namespace CreateIpamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PrivateIpAddressSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateIpamRequest): any => ({ ...obj, }); } /** - *

      The parameters for a network interface.

      - */ -export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { - /** - *

      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 Wavelength Developer - * Guide.

      - */ - AssociateCarrierIpAddress?: boolean; - + *

      The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

      + *

      For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

      + */ +export interface IpamOperatingRegion { /** - *

      Associates a public IPv4 address with eth0 for a new network interface.

      + *

      The name of the operating Region.

      */ - AssociatePublicIpAddress?: boolean; + RegionName?: string; +} +export namespace IpamOperatingRegion { /** - *

      Indicates whether the network interface is deleted when the instance is terminated.

      + * @internal */ - DeleteOnTermination?: boolean; + export const filterSensitiveLog = (obj: IpamOperatingRegion): any => ({ + ...obj, + }); +} + +export enum IpamState { + create_complete = "create-complete", + create_failed = "create-failed", + create_in_progress = "create-in-progress", + delete_complete = "delete-complete", + delete_failed = "delete-failed", + delete_in_progress = "delete-in-progress", + modify_complete = "modify-complete", + modify_failed = "modify-failed", + modify_in_progress = "modify-in-progress", +} +/** + *

      IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

      + */ +export interface Ipam { /** - *

      A description for the network interface.

      + *

      The Amazon Web Services account ID of the owner of the IPAM.

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

      The device index for the network interface attachment.

      + *

      The ID of the IPAM.

      */ - DeviceIndex?: number; + IpamId?: string; /** - *

      The IDs of one or more security groups.

      + *

      The ARN of the IPAM.

      */ - Groups?: string[]; + IpamArn?: 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 - *

      + *

      The Amazon Web Services Region of the IPAM.

      */ - InterfaceType?: string; + IpamRegion?: 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.

      + *

      The ID of the IPAM's default public scope.

      */ - Ipv6AddressCount?: number; + PublicDefaultScopeId?: string; /** - *

      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 ID of the IPAM's default private scope.

      */ - Ipv6Addresses?: InstanceIpv6AddressRequest[]; + PrivateDefaultScopeId?: string; /** - *

      The ID of the network interface.

      + *

      The number of scopes in the IPAM. The scope quota is 5. For more information on quotas, see Quotas in IPAM in the Amazon VPC IPAM User Guide. + *

      */ - NetworkInterfaceId?: string; + ScopeCount?: number; /** - *

      The primary private IPv4 address of the network interface.

      + *

      The description for the IPAM.

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

      One or more private IPv4 addresses.

      + *

      The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

      + *

      For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

      */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + OperatingRegions?: IpamOperatingRegion[]; /** - *

      The number of secondary private IPv4 addresses to assign to a network interface.

      + *

      The state of the IPAM.

      */ - SecondaryPrivateIpAddressCount?: number; + State?: IpamState | string; /** - *

      The ID of the subnet for the network interface.

      + *

      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.

      */ - SubnetId?: string; + Tags?: Tag[]; +} +export namespace Ipam { /** - *

      The index of the network card. Some instance types support multiple network cards. - * The primary network interface must be assigned to network card index 0. - * The default is network card index 0.

      + * @internal */ - NetworkCardIndex?: number; + export const filterSensitiveLog = (obj: Ipam): any => ({ + ...obj, + }); +} +export interface CreateIpamResult { /** - *

      One or more IPv4 prefixes to be assigned to the network interface. You cannot use - * this option if you use the Ipv4PrefixCount option.

      + *

      Information about the IPAM created.

      */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + Ipam?: Ipam; +} +export namespace CreateIpamResult { /** - *

      The number of IPv4 prefixes to be automatically assigned to the - * network interface. You cannot use this option if you use the Ipv4Prefix option.

      + * @internal */ - Ipv4PrefixCount?: number; + export const filterSensitiveLog = (obj: CreateIpamResult): any => ({ + ...obj, + }); +} +/** + *

      A tag on an IPAM resource.

      + */ +export interface RequestIpamResourceTag { /** - *

      One or more IPv6 prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv6PrefixCount option.

      + *

      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.

      */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + Key?: string; /** - *

      The number of IPv6 prefixes to be automatically assigned to the network - * interface. You cannot use this option if you use the Ipv6Prefix option.

      + *

      The value for the tag.

      */ - Ipv6PrefixCount?: number; + Value?: string; } -export namespace LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { +export namespace RequestIpamResourceTag { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: RequestIpamResourceTag): any => ({ ...obj, }); } -/** - *

      Describes the placement of an instance.

      - */ -export interface LaunchTemplatePlacementRequest { +export enum IpamPoolAwsService { + ec2 = "ec2", +} + +export interface CreateIpamPoolRequest { /** - *

      The Availability Zone for the instance.

      + *

      A check for whether you have the required permissions for the action without 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 affinity setting for an instance on a Dedicated Host.

      + *

      The ID of the scope in which you would like to create the IPAM pool.

      */ - Affinity?: string; + IpamScopeId: string | undefined; /** - *

      The name of the placement group for the instance.

      + *

      In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

      + *

      Possible values: Any Amazon Web Services Region, such as us-east-1.

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

      The ID of the Dedicated Host for the instance.

      + *

      The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

      */ - HostId?: string; + SourceIpamPoolId?: 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.

      + *

      A description for the IPAM pool.

      */ - Tenancy?: Tenancy | string; + Description?: string; /** - *

      Reserved for future use.

      + *

      The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.

      */ - SpreadDomain?: string; + AddressFamily?: AddressFamily | 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.

      + *

      If selected, IPAM will continuously look for resources within the CIDR range of this pool + * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for + * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import + * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently + * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM + * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. + *

      + *

      A locale must be set on the pool for this feature to work.

      */ - HostResourceGroupArn?: string; + AutoImport?: boolean; /** - *

      The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

      + *

      Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

      */ - PartitionNumber?: number; -} + PubliclyAdvertisable?: boolean; -export namespace LaunchTemplatePlacementRequest { /** - * @internal + *

      The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be + * less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

      */ - export const filterSensitiveLog = (obj: LaunchTemplatePlacementRequest): any => ({ - ...obj, - }); -} + AllocationMinNetmaskLength?: number; -/** - *

      Describes the options for instance hostnames.

      - */ -export interface LaunchTemplatePrivateDnsNameOptionsRequest { /** - *

      The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must - * be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must - * be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use - * the instance IPv4 address or the instance ID.

      + *

      The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be + * greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

      */ - HostnameType?: HostnameType | string; + AllocationMaxNetmaskLength?: number; /** - *

      Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

      + *

      The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, + * new allocations will default to 10.0.0.0/16.

      */ - EnableResourceNameDnsARecord?: boolean; + AllocationDefaultNetmaskLength?: number; /** - *

      Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

      + *

      Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

      */ - EnableResourceNameDnsAAAARecord?: boolean; -} + AllocationResourceTags?: RequestIpamResourceTag[]; -export namespace LaunchTemplatePrivateDnsNameOptionsRequest { /** - * @internal + *

      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.

      */ - export const filterSensitiveLog = (obj: LaunchTemplatePrivateDnsNameOptionsRequest): any => ({ - ...obj, - }); -} + TagSpecifications?: TagSpecification[]; -/** - *

      The tags specification for the launch template.

      - */ -export interface LaunchTemplateTagSpecificationRequest { /** - *

      The type of resource to tag. Currently, the resource types that support tagging on - * creation are instance and volume. To tag a resource after it - * has been created, see CreateTags.

      + *

      A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

      */ - ResourceType?: ResourceType | string; + ClientToken?: string; /** - *

      The tags to apply to the resource.

      + *

      Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.

      */ - Tags?: Tag[]; + AwsService?: IpamPoolAwsService | string; } -export namespace LaunchTemplateTagSpecificationRequest { +export namespace CreateIpamPoolRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateTagSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateIpamPoolRequest): any => ({ ...obj, }); } /** - *

      The information to include in the launch template.

      + *

      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.

      */ -export interface RequestLaunchTemplateData { - /** - *

      The ID of the kernel.

      - * - *

      We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - * information, see User Provided - * Kernels in the Amazon Elastic Compute Cloud User - * Guide.

      - *
      - */ - KernelId?: 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.

      - */ - EbsOptimized?: boolean; - +export interface IpamResourceTag { /** - *

      The name or Amazon Resource Name (ARN) of an IAM instance profile.

      + *

      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.

      */ - IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecificationRequest; + Key?: string; /** - *

      The block device mapping.

      + *

      The value of the tag.

      */ - BlockDeviceMappings?: LaunchTemplateBlockDeviceMappingRequest[]; + Value?: string; +} +export namespace IpamResourceTag { /** - *

      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.

      + * @internal */ - NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest[]; + export const filterSensitiveLog = (obj: IpamResourceTag): any => ({ + ...obj, + }); +} - /** - *

      The ID of the AMI.

      - */ - ImageId?: string; +export enum IpamScopeType { + private = "private", + public = "public", +} - /** - *

      The instance type. For more information, see Instance Types in the - * Amazon Elastic Compute Cloud User Guide.

      - *

      If you specify InstanceTypes, you can't specify - * InstanceRequirements.

      - */ - InstanceType?: _InstanceType | string; +export enum IpamPoolState { + create_complete = "create-complete", + create_failed = "create-failed", + create_in_progress = "create-in-progress", + delete_complete = "delete-complete", + delete_failed = "delete-failed", + delete_in_progress = "delete-in-progress", + modify_complete = "modify-complete", + modify_failed = "modify-failed", + modify_in_progress = "modify-in-progress", +} +/** + *

      In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

      + */ +export interface IpamPool { /** - *

      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.

      - *
      + *

      The Amazon Web Services account ID of the owner of the IPAM pool.

      */ - KeyName?: string; + OwnerId?: string; /** - *

      The monitoring for the instance.

      + *

      The ID of the IPAM pool.

      */ - Monitoring?: LaunchTemplatesMonitoringRequest; + IpamPoolId?: string; /** - *

      The placement for the instance.

      + *

      The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.

      */ - Placement?: LaunchTemplatePlacementRequest; + SourceIpamPoolId?: string; /** - *

      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 - * Kernels in the Amazon Elastic Compute Cloud User - * Guide.

      - *
      + *

      The ARN of the IPAM pool.

      */ - RamDiskId?: string; + IpamPoolArn?: 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.

      + *

      The ARN of the scope of the IPAM pool.

      */ - DisableApiTermination?: boolean; + IpamScopeArn?: 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 - *

      + *

      In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

      */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + IpamScopeType?: IpamScopeType | string; /** - *

      The user data to make available to the instance. You must provide base64-encoded text. - * User data is limited to 16 KB. For more information, see Running Commands on Your Linux Instance - * at Launch (Linux) or Adding User Data (Windows).

      - * - *

      If you are creating the launch template for use with Batch, the user data - * must be provided in the - * MIME multi-part archive format. For more information, see Amazon EC2 user data in - * launch templates in the Batch User Guide.

      + *

      The ARN of the IPAM.

      */ - UserData?: string; + IpamArn?: 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 Amazon Web Services Region of the IPAM pool.

      */ - TagSpecifications?: LaunchTemplateTagSpecificationRequest[]; + IpamRegion?: string; /** - *

      An elastic GPU to associate with the instance.

      + *

      The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

      */ - ElasticGpuSpecifications?: ElasticGpuSpecification[]; + Locale?: string; /** - *

      - * The elastic inference accelerator for the instance. - *

      + *

      The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide. + *

      */ - ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; + PoolDepth?: number; /** - *

      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.

      + *

      The state of the IPAM pool.

      */ - SecurityGroupIds?: 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.

      + State?: IpamPoolState | string; + + /** + *

      A message related to the failed creation of an IPAM pool.

      */ - SecurityGroups?: string[]; + StateMessage?: string; /** - *

      The market (purchasing) option for the instances.

      + *

      The description of the IPAM pool.

      */ - InstanceMarketOptions?: LaunchTemplateInstanceMarketOptionsRequest; + Description?: string; /** - *

      The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances - * only.

      + *

      If selected, IPAM will continuously look for resources within the CIDR range of this pool + * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for + * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import + * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently + * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM + * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. + *

      + *

      A locale must be set on the pool for this feature to work.

      */ - CreditSpecification?: CreditSpecificationRequest; + AutoImport?: boolean; /** - *

      The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User - * Guide.

      + *

      Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

      */ - CpuOptions?: LaunchTemplateCpuOptionsRequest; + PubliclyAdvertisable?: boolean; /** - *

      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).

      + *

      The address family of the pool.

      */ - CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationRequest; + AddressFamily?: AddressFamily | string; /** - *

      The license configurations.

      + *

      The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

      */ - LicenseSpecifications?: LaunchTemplateLicenseConfigurationRequest[]; + AllocationMinNetmaskLength?: number; /** - *

      Indicates whether an instance is enabled for hibernation. This parameter is valid only - * if the instance meets the hibernation - * prerequisites. For - * more information, see Hibernate your instance in the - * Amazon Elastic Compute Cloud User Guide.

      + *

      The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

      */ - HibernationOptions?: LaunchTemplateHibernationOptionsRequest; + AllocationMaxNetmaskLength?: number; /** - *

      The metadata options for the instance. For more information, see Instance metadata and user data in the - * Amazon Elastic Compute Cloud User Guide.

      + *

      The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and + * you enter 16 here, new allocations will default to 10.0.0.0/16.

      */ - MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest; + AllocationDefaultNetmaskLength?: number; /** - *

      Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, - * see - * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

      - *

      You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

      + *

      Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

      */ - EnclaveOptions?: LaunchTemplateEnclaveOptionsRequest; + AllocationResourceTags?: IpamResourceTag[]; /** - *

      The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with these attributes.

      - *

      If you specify InstanceRequirements, you can't specify - * InstanceTypes.

      + *

      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.

      */ - InstanceRequirements?: InstanceRequirementsRequest; + Tags?: Tag[]; /** - *

      The options for the instance hostname. The default values are inherited from the subnet.

      + *

      Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.

      */ - PrivateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptionsRequest; + AwsService?: IpamPoolAwsService | string; } -export namespace RequestLaunchTemplateData { +export namespace IpamPool { /** * @internal */ - export const filterSensitiveLog = (obj: RequestLaunchTemplateData): any => ({ + export const filterSensitiveLog = (obj: IpamPool): any => ({ ...obj, }); } -export interface CreateLaunchTemplateRequest { +export interface CreateIpamPoolResult { /** - *

      Checks whether you have the required permissions for the action, without 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 IPAM pool created.

      */ - DryRun?: boolean; + IpamPool?: IpamPool; +} +export namespace CreateIpamPoolResult { /** - *

      Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

      - *

      Constraint: Maximum 128 ASCII characters.

      + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: CreateIpamPoolResult): any => ({ + ...obj, + }); +} +export interface CreateIpamScopeRequest { /** - *

      A name for the launch template.

      + *

      A check for whether you have the required permissions for the action without 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 | undefined; + DryRun?: boolean; /** - *

      A description for the first version of the launch template.

      + *

      The ID of the IPAM for which you're creating this scope.

      */ - VersionDescription?: string; + IpamId: string | undefined; /** - *

      The information for the launch template.

      + *

      A description for the scope you're creating.

      */ - LaunchTemplateData: RequestLaunchTemplateData | undefined; + Description?: string; /** - *

      The tags to apply to the launch template during creation.

      + *

      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.

      */ TagSpecifications?: TagSpecification[]; + + /** + *

      A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

      + */ + ClientToken?: string; } -export namespace CreateLaunchTemplateRequest { +export namespace CreateIpamScopeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: CreateIpamScopeRequest): any => ({ ...obj, }); } +export enum IpamScopeState { + create_complete = "create-complete", + create_failed = "create-failed", + create_in_progress = "create-in-progress", + delete_complete = "delete-complete", + delete_failed = "delete-failed", + delete_in_progress = "delete-in-progress", + modify_complete = "modify-complete", + modify_failed = "modify-failed", + modify_in_progress = "modify-in-progress", +} + /** - *

      Describes a launch template.

      + *

      In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

      + *

      For more information, see How IPAM works in the Amazon VPC IPAM User Guide + *

      */ -export interface LaunchTemplate { +export interface IpamScope { /** - *

      The ID of the launch template.

      + *

      The Amazon Web Services account ID of the owner of the scope.

      */ - LaunchTemplateId?: string; + OwnerId?: string; /** - *

      The name of the launch template.

      + *

      The ID of the scope.

      */ - LaunchTemplateName?: string; + IpamScopeId?: string; /** - *

      The time launch template was created.

      + *

      The ARN of the scope.

      */ - CreateTime?: Date; + IpamScopeArn?: string; /** - *

      The principal that created the launch template.

      + *

      The ARN of the IPAM.

      */ - CreatedBy?: string; + IpamArn?: string; /** - *

      The version number of the default version of the launch template.

      + *

      The Amazon Web Services Region of the IPAM scope.

      */ - DefaultVersionNumber?: number; + IpamRegion?: string; /** - *

      The version number of the latest version of the launch template.

      + *

      The type of the scope.

      */ - LatestVersionNumber?: number; + IpamScopeType?: IpamScopeType | string; /** - *

      The tags for the launch template.

      + *

      Defines if the scope is the default scope or not.

      */ - Tags?: Tag[]; -} + IsDefault?: boolean; -export namespace LaunchTemplate { /** - * @internal + *

      The description of the scope.

      */ - export const filterSensitiveLog = (obj: LaunchTemplate): any => ({ - ...obj, - }); -} + Description?: string; -/** - *

      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.

      + *

      The number of pools in the scope.

      */ - Code?: string; + PoolCount?: number; /** - *

      The error message that describes why the parameter or parameter combination is not valid. For more - * information about error messages, see Error Codes.

      + *

      The state of the IPAM scope.

      */ - Message?: string; + State?: IpamScopeState | string; + + /** + *

      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.

      + */ + Tags?: Tag[]; } -export namespace ValidationError { +export namespace IpamScope { /** * @internal */ - export const filterSensitiveLog = (obj: ValidationError): any => ({ + export const filterSensitiveLog = (obj: IpamScope): 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 { +export interface CreateIpamScopeResult { /** - *

      The error codes and error messages.

      + *

      Information about the created scope.

      */ - Errors?: ValidationError[]; + IpamScope?: IpamScope; } -export namespace ValidationWarning { +export namespace CreateIpamScopeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ValidationWarning): any => ({ + export const filterSensitiveLog = (obj: CreateIpamScopeResult): any => ({ ...obj, }); } -export interface CreateLaunchTemplateResult { +export enum KeyType { + ed25519 = "ed25519", + rsa = "rsa", +} + +export interface CreateKeyPairRequest { /** - *

      Information about the launch template.

      + *

      A unique name for the key pair.

      + *

      Constraints: Up to 255 ASCII characters

      */ - LaunchTemplate?: LaunchTemplate; + KeyName: string | undefined; /** - *

      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.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      */ - Warning?: ValidationWarning; -} + DryRun?: boolean; -export namespace CreateLaunchTemplateResult { /** - * @internal + *

      The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

      + *

      Default: rsa + *

      */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateResult): any => ({ - ...obj, - }); -} + KeyType?: KeyType | string; -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.

      + *

      The tags to apply to the new key pair.

      */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; +} +export namespace CreateKeyPairRequest { /** - *

      Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

      - *

      Constraint: Maximum 128 ASCII characters.

      + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: CreateKeyPairRequest): any => ({ + ...obj, + }); +} +/** + *

      Describes a key pair.

      + */ +export interface KeyPair { /** - *

      The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

      + *

      The SHA-1 digest of the DER encoded private key.

      */ - LaunchTemplateId?: string; + KeyFingerprint?: string; /** - *

      The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

      + *

      An unencrypted PEM encoded RSA or ED25519 private key.

      */ - LaunchTemplateName?: string; + KeyMaterial?: string; /** - *

      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.

      + *

      The name of the key pair.

      */ - SourceVersion?: string; + KeyName?: string; /** - *

      A description for the version of the launch template.

      + *

      The ID of the key pair.

      */ - VersionDescription?: string; + KeyPairId?: string; /** - *

      The information for the launch template.

      + *

      Any tags applied to the key pair.

      */ - LaunchTemplateData: RequestLaunchTemplateData | undefined; + Tags?: Tag[]; } -export namespace CreateLaunchTemplateVersionRequest { +export namespace KeyPair { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionRequest): any => ({ + export const filterSensitiveLog = (obj: KeyPair): any => ({ ...obj, + ...(obj.KeyMaterial && { KeyMaterial: SENSITIVE_STRING }), }); } /** - *

      Describes a block device for an EBS volume.

      + *

      The parameters for a block device for an EBS volume.

      */ -export interface LaunchTemplateEbsBlockDevice { +export interface LaunchTemplateEbsBlockDeviceRequest { /** - *

      Indicates whether the EBS volume is encrypted.

      + *

      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.

      */ Encrypted?: boolean; @@ -3059,12 +3491,36 @@ export interface LaunchTemplateEbsBlockDevice { DeleteOnTermination?: boolean; /** - *

      The number of I/O operations per second (IOPS) that the volume supports.

      + *

      The number of I/O operations per second (IOPS). For gp3, 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.

      + *

      The following are the supported values for each volume type:

      + *
        + *
      • + *

        + * gp3: 3,000-16,000 IOPS

        + *
      • + *
      • + *

        + * io1: 100-64,000 IOPS

        + *
      • + *
      • + *

        + * io2: 100-64,000 IOPS

        + *
      • + *
      + *

      For io1 and io2 volumes, we guarantee 64,000 IOPS + * only for Instances built on the Nitro System. Other instance families guarantee performance up + * to 32,000 IOPS.

      + *

      This parameter is supported for io1, io2, and gp3 volumes only. This parameter is not supported for + * gp2, st1, sc1, or standard volumes.

      */ Iops?: number; /** - *

      The ARN of the Key Management Service (KMS) CMK used for encryption.

      + *

      The ARN of the symmetric Key Management Service (KMS) CMK used for + * encryption.

      */ KmsKeyId?: string; @@ -3074,26 +3530,47 @@ export interface LaunchTemplateEbsBlockDevice { SnapshotId?: string; /** - *

      The size of the volume, in GiB.

      + *

      The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following + * are the supported volumes sizes for each volume type:

      + *
        + *
      • + *

        + * gp2 and gp3: 1-16,384

        + *
      • + *
      • + *

        + * io1 and io2: 4-16,384

        + *
      • + *
      • + *

        + * st1 and sc1: 125-16,384

        + *
      • + *
      • + *

        + * standard: 1-1,024

        + *
      • + *
      */ VolumeSize?: number; /** - *

      The volume type.

      + *

      The volume type. For more information, see Amazon EBS volume types in the + * Amazon Elastic Compute Cloud User Guide.

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

      The throughput that the volume supports, in MiB/s.

      + *

      The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.

      + *

      Valid Range: Minimum value of 125. Maximum value of 1000.

      */ Throughput?: number; } -export namespace LaunchTemplateEbsBlockDevice { +export namespace LaunchTemplateEbsBlockDeviceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDevice): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDeviceRequest): any => ({ ...obj, }); } @@ -3101,21 +3578,24 @@ export namespace LaunchTemplateEbsBlockDevice { /** *

      Describes a block device mapping.

      */ -export interface LaunchTemplateBlockDeviceMapping { +export interface LaunchTemplateBlockDeviceMappingRequest { /** - *

      The device name.

      + *

      The device name (for example, /dev/sdh or xvdh).

      */ DeviceName?: string; /** - *

      The virtual device name (ephemeralN).

      + *

      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.

      */ VirtualName?: string; /** - *

      Information about the block device for an EBS volume.

      + *

      Parameters used to automatically set up EBS volumes when the instance is launched.

      */ - Ebs?: LaunchTemplateEbsBlockDevice; + Ebs?: LaunchTemplateEbsBlockDeviceRequest; /** *

      To omit the device from the block device mapping, specify an empty string.

      @@ -3123,43 +3603,49 @@ export interface LaunchTemplateBlockDeviceMapping { NoDevice?: string; } -export namespace LaunchTemplateBlockDeviceMapping { +export namespace LaunchTemplateBlockDeviceMappingRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMapping): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMappingRequest): any => ({ ...obj, }); } +export type CapacityReservationPreference = "none" | "open"; + /** *

      Describes a target Capacity Reservation or Capacity Reservation group.

      */ -export interface CapacityReservationTargetResponse { +export interface CapacityReservationTarget { /** - *

      The ID of the targeted Capacity Reservation.

      + *

      The ID of the Capacity Reservation in which to run the instance.

      */ CapacityReservationId?: string; /** - *

      The ARN of the targeted Capacity Reservation group.

      + *

      The ARN of the Capacity Reservation resource group in which to run the instance.

      */ CapacityReservationResourceGroupArn?: string; } -export namespace CapacityReservationTargetResponse { +export namespace CapacityReservationTarget { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationTargetResponse): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationTarget): any => ({ ...obj, }); } /** - *

      Information about the Capacity Reservation targeting option.

      + *

      Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the + * CapacityReservationPreference parameter to configure the instance to run in On-Demand capacity or + * to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). + * Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation or + * a Capacity Reservation group.

      */ -export interface LaunchTemplateCapacityReservationSpecificationResponse { +export interface LaunchTemplateCapacityReservationSpecificationRequest { /** *

      Indicates the instance's Capacity Reservation preferences. Possible preferences include:

      *
        @@ -3180,77 +3666,81 @@ export interface LaunchTemplateCapacityReservationSpecificationResponse { /** *

        Information about the target Capacity Reservation or Capacity Reservation group.

        */ - CapacityReservationTarget?: CapacityReservationTargetResponse; + CapacityReservationTarget?: CapacityReservationTarget; } -export namespace LaunchTemplateCapacityReservationSpecificationResponse { +export namespace LaunchTemplateCapacityReservationSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationRequest): any => ({ ...obj, }); } /** - *

        The CPU options for the instance.

        + *

        The CPU options for the instance. Both the core count and threads per core + * must be specified in the request.

        */ -export interface LaunchTemplateCpuOptions { +export interface LaunchTemplateCpuOptionsRequest { /** *

        The number of CPU cores for the instance.

        */ CoreCount?: number; /** - *

        The number of threads per CPU core.

        + *

        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; } -export namespace LaunchTemplateCpuOptions { +export namespace LaunchTemplateCpuOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateCpuOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCpuOptionsRequest): any => ({ ...obj, }); } /** - *

        Describes the credit option for CPU usage of a T2, T3, or T3a instance.

        + *

        The credit option for CPU usage of a T2, T3, or T3a instance.

        */ -export interface CreditSpecification { +export interface CreditSpecificationRequest { /** *

        The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are * standard and unlimited.

        */ - CpuCredits?: string; + CpuCredits: string | undefined; } -export namespace CreditSpecification { +export namespace CreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreditSpecification): any => ({ + export const filterSensitiveLog = (obj: CreditSpecificationRequest): any => ({ ...obj, }); } /** - *

        Describes an elastic GPU.

        + *

        A specification for an Elastic Graphics accelerator.

        */ -export interface ElasticGpuSpecificationResponse { +export interface ElasticGpuSpecification { /** - *

        The elastic GPU type.

        + *

        The type of Elastic Graphics accelerator. For more information about the values to specify for + * Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the + * Amazon Elastic Compute Cloud User Guide for Windows Instances.

        */ - Type?: string; + Type: string | undefined; } -export namespace ElasticGpuSpecificationResponse { +export namespace ElasticGpuSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticGpuSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: ElasticGpuSpecification): any => ({ ...obj, }); } @@ -3260,13 +3750,13 @@ export namespace ElasticGpuSpecificationResponse { * Describes an elastic inference accelerator. *

        */ -export interface LaunchTemplateElasticInferenceAcceleratorResponse { +export interface LaunchTemplateElasticInferenceAccelerator { /** *

        * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. *

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

        @@ -3277,58 +3767,63 @@ export interface LaunchTemplateElasticInferenceAcceleratorResponse { Count?: number; } -export namespace LaunchTemplateElasticInferenceAcceleratorResponse { +export namespace LaunchTemplateElasticInferenceAccelerator { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAcceleratorResponse): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAccelerator): any => ({ ...obj, }); } /** - *

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

        + *

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, + * see + * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

        */ -export interface LaunchTemplateEnclaveOptions { +export interface LaunchTemplateEnclaveOptionsRequest { /** - *

        If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; - * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

        + *

        To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

        */ Enabled?: boolean; } -export namespace LaunchTemplateEnclaveOptions { +export namespace LaunchTemplateEnclaveOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptionsRequest): any => ({ ...obj, }); } /** - *

        Indicates whether an instance is configured for hibernation.

        + *

        Indicates whether the instance is configured for hibernation. This parameter is valid only + * if the instance meets the hibernation + * prerequisites.

        */ -export interface LaunchTemplateHibernationOptions { +export interface LaunchTemplateHibernationOptionsRequest { /** - *

        If this parameter is set to true, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

        + *

        If you set this parameter to true, the instance is enabled for hibernation.

        + *

        Default: false + *

        */ Configured?: boolean; } -export namespace LaunchTemplateHibernationOptions { +export namespace LaunchTemplateHibernationOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptionsRequest): any => ({ ...obj, }); } /** - *

        Describes an IAM instance profile.

        + *

        An IAM instance profile.

        */ -export interface LaunchTemplateIamInstanceProfileSpecification { +export interface LaunchTemplateIamInstanceProfileSpecificationRequest { /** *

        The Amazon Resource Name (ARN) of the instance profile.

        */ @@ -3340,19 +3835,27 @@ export interface LaunchTemplateIamInstanceProfileSpecification { Name?: string; } -export namespace LaunchTemplateIamInstanceProfileSpecification { +export namespace LaunchTemplateIamInstanceProfileSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecification): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecificationRequest): any => ({ ...obj, }); } +export type ShutdownBehavior = "stop" | "terminate"; + +export type MarketType = "spot"; + +export type InstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; + +export type SpotInstanceType = "one-time" | "persistent"; + /** *

        The options for Spot Instances.

        */ -export interface LaunchTemplateSpotMarketOptions { +export interface LaunchTemplateSpotMarketOptionsRequest { /** *

        The maximum hourly price you're willing to pay for the Spot Instances.

        */ @@ -3369,21 +3872,24 @@ 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 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.

        */ ValidUntil?: Date; /** - *

        The behavior when a Spot Instance is interrupted.

        + *

        The behavior when a Spot Instance is interrupted. The default is terminate.

        */ InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace LaunchTemplateSpotMarketOptions { +export namespace LaunchTemplateSpotMarketOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptionsRequest): any => ({ ...obj, }); } @@ -3391,7 +3897,7 @@ export namespace LaunchTemplateSpotMarketOptions { /** *

        The market (purchasing) option for the instances.

        */ -export interface LaunchTemplateInstanceMarketOptions { +export interface LaunchTemplateInstanceMarketOptionsRequest { /** *

        The market type.

        */ @@ -3400,14 +3906,14 @@ export interface LaunchTemplateInstanceMarketOptions { /** *

        The options for Spot Instances.

        */ - SpotOptions?: LaunchTemplateSpotMarketOptions; + SpotOptions?: LaunchTemplateSpotMarketOptionsRequest; } -export namespace LaunchTemplateInstanceMarketOptions { +export namespace LaunchTemplateInstanceMarketOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptionsRequest): any => ({ ...obj, }); } @@ -3415,58 +3921,59 @@ export namespace LaunchTemplateInstanceMarketOptions { /** *

        Describes a license configuration.

        */ -export interface LaunchTemplateLicenseConfiguration { +export interface LaunchTemplateLicenseConfigurationRequest { /** *

        The Amazon Resource Name (ARN) of the license configuration.

        */ LicenseConfigurationArn?: string; } -export namespace LaunchTemplateLicenseConfiguration { +export namespace LaunchTemplateLicenseConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfiguration): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfigurationRequest): any => ({ ...obj, }); } -export type LaunchTemplateInstanceMetadataOptionsState = "applied" | "pending"; +export type LaunchTemplateInstanceMetadataEndpointState = "disabled" | "enabled"; + +export enum LaunchTemplateInstanceMetadataProtocolIpv6 { + disabled = "disabled", + enabled = "enabled", +} + +export enum LaunchTemplateHttpTokensState { + optional = "optional", + required = "required", +} /** *

        The metadata options for the instance. For more information, see Instance Metadata and User Data in the - * Amazon Elastic Compute Cloud User Guide.

        + * Amazon Elastic Compute Cloud User Guide.

        */ -export interface LaunchTemplateInstanceMetadataOptions { - /** - *

        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.

        - */ - State?: LaunchTemplateInstanceMetadataOptionsState | string; - +export interface LaunchTemplateInstanceMetadataOptionsRequest { /** *

        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.

        + *

        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; /** *

        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

        + *

        Default: 1

        + *

        Possible values: Integers from 1 to 64

        */ 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. - *

        - *
        + *

        + *
        */ HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; @@ -3478,11 +3985,11 @@ export interface LaunchTemplateInstanceMetadataOptions { HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; } -export namespace LaunchTemplateInstanceMetadataOptions { +export namespace LaunchTemplateInstanceMetadataOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptionsRequest): any => ({ ...obj, }); } @@ -3490,97 +3997,121 @@ export namespace LaunchTemplateInstanceMetadataOptions { /** *

        Describes the monitoring for the instance.

        */ -export interface LaunchTemplatesMonitoring { +export interface LaunchTemplatesMonitoringRequest { /** - *

        Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

        + *

        Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

        */ Enabled?: boolean; } -export namespace LaunchTemplatesMonitoring { +export namespace LaunchTemplatesMonitoringRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplatesMonitoring): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatesMonitoringRequest): any => ({ ...obj, }); } /** - *

        Information about the IPv4 delegated prefixes assigned - * to a network interface.

        + *

        Describes the IPv4 prefix option for a network interface.

        */ -export interface Ipv4PrefixSpecificationResponse { +export interface Ipv4PrefixSpecificationRequest { /** - *

        One or more IPv4 delegated prefixes assigned to the network interface.

        + *

        The IPv4 prefix. For information, see + * Assigning prefixes to Amazon EC2 network interfaces in the + * Amazon Elastic Compute Cloud User Guide.

        + */ + Ipv4Prefix?: string; +} + +export namespace Ipv4PrefixSpecificationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationRequest): any => ({ + ...obj, + }); +} + +/** + *

        Describes an IPv6 address.

        + */ +export interface InstanceIpv6AddressRequest { + /** + *

        The IPv6 address.

        */ - Ipv4Prefix?: string; + Ipv6Address?: string; } -export namespace Ipv4PrefixSpecificationResponse { +export namespace InstanceIpv6AddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv6AddressRequest): any => ({ ...obj, }); } /** - *

        Describes an IPv6 address.

        + *

        Describes the IPv4 prefix option for a network interface.

        */ -export interface InstanceIpv6Address { +export interface Ipv6PrefixSpecificationRequest { /** - *

        The IPv6 address.

        + *

        The IPv6 prefix.

        */ - Ipv6Address?: string; + Ipv6Prefix?: string; } -export namespace InstanceIpv6Address { +export namespace Ipv6PrefixSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceIpv6Address): any => ({ + export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationRequest): any => ({ ...obj, }); } /** - *

        Information about the IPv6 delegated prefixes assigned - * to a network interface.

        + *

        Describes a secondary private IPv4 address for a network interface.

        */ -export interface Ipv6PrefixSpecificationResponse { +export interface PrivateIpAddressSpecification { /** - *

        One or more IPv6 delegated prefixes assigned to the network interface.

        + *

        Indicates whether the private IPv4 address is the primary private IPv4 address. Only + * one IPv4 address can be designated as primary.

        */ - Ipv6Prefix?: string; + Primary?: boolean; + + /** + *

        The private IPv4 addresses.

        + */ + PrivateIpAddress?: string; } -export namespace Ipv6PrefixSpecificationResponse { +export namespace PrivateIpAddressSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: PrivateIpAddressSpecification): any => ({ ...obj, }); } /** - *

        Describes a network interface.

        + *

        The parameters for a network interface.

        */ -export interface LaunchTemplateInstanceNetworkInterfaceSpecification { +export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** - *

        Indicates whether to associate a Carrier IP address with eth0 for a new network interface.

        + *

        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 Wavelength Developer - * Guide.

        + * Guide.

        */ AssociateCarrierIpAddress?: boolean; /** - *

        Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

        + *

        Associates a public IPv4 address with eth0 for a new network interface.

        */ AssociatePublicIpAddress?: boolean; @@ -3605,19 +4136,24 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { Groups?: string[]; /** - *

        The type of network interface.

        + *

        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; /** - *

        The number of IPv6 addresses for the network interface.

        + *

        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 IPv6 addresses for 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.

        */ - Ipv6Addresses?: InstanceIpv6Address[]; + Ipv6Addresses?: InstanceIpv6AddressRequest[]; /** *

        The ID of the network interface.

        @@ -3635,7 +4171,7 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

        The number of secondary private IPv4 addresses for the network interface.

        + *

        The number of secondary private IPv4 addresses to assign to a network interface.

        */ SecondaryPrivateIpAddressCount?: number; @@ -3645,38 +4181,42 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { SubnetId?: string; /** - *

        The index of the network card.

        + *

        The index of the network card. Some instance types support multiple network cards. + * The primary network interface must be assigned to network card index 0. + * The default is network card index 0.

        */ NetworkCardIndex?: number; /** - *

        One or more IPv4 prefixes assigned to the network interface.

        + *

        One or more IPv4 prefixes to be assigned to the network interface. You cannot use + * this option if you use the Ipv4PrefixCount option.

        */ - Ipv4Prefixes?: Ipv4PrefixSpecificationResponse[]; + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; /** - *

        The number of IPv4 prefixes that Amazon Web Services automatically assigned to the - * network interface.

        + *

        The number of IPv4 prefixes to be automatically assigned to the + * network interface. You cannot use this option if you use the Ipv4Prefix option.

        */ Ipv4PrefixCount?: number; /** - *

        One or more IPv6 prefixes assigned to the network interface.

        + *

        One or more IPv6 prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv6PrefixCount option.

        */ - Ipv6Prefixes?: Ipv6PrefixSpecificationResponse[]; + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; /** - *

        The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network - * interface.

        + *

        The number of IPv6 prefixes to be automatically assigned to the network + * interface. You cannot use this option if you use the Ipv6Prefix option.

        */ Ipv6PrefixCount?: number; } -export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { +export namespace LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecification): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest): any => ({ ...obj, }); } @@ -3684,14 +4224,14 @@ export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { /** *

        Describes the placement of an instance.

        */ -export interface LaunchTemplatePlacement { +export interface LaunchTemplatePlacementRequest { /** - *

        The Availability Zone of the instance.

        + *

        The Availability Zone for the instance.

        */ AvailabilityZone?: string; /** - *

        The affinity setting for the instance on the Dedicated Host.

        + *

        The affinity setting for an instance on a Dedicated Host.

        */ Affinity?: string; @@ -3706,7 +4246,8 @@ export interface LaunchTemplatePlacement { HostId?: 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 tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy + * of dedicated runs on single-tenant hardware.

        */ Tenancy?: Tenancy | string; @@ -3716,8 +4257,9 @@ export interface LaunchTemplatePlacement { SpreadDomain?: string; /** - *

        The ARN of the host resource group in which to launch the instances. - *

        + *

        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; @@ -3727,11 +4269,11 @@ export interface LaunchTemplatePlacement { PartitionNumber?: number; } -export namespace LaunchTemplatePlacement { +export namespace LaunchTemplatePlacementRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplatePlacement): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatePlacementRequest): any => ({ ...obj, }); } @@ -3739,9 +4281,12 @@ export namespace LaunchTemplatePlacement { /** *

        Describes the options for instance hostnames.

        */ -export interface LaunchTemplatePrivateDnsNameOptions { +export interface LaunchTemplatePrivateDnsNameOptionsRequest { /** - *

        The type of hostname to assign to an instance.

        + *

        The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must + * be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must + * be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use + * the instance IPv4 address or the instance ID.

        */ HostnameType?: HostnameType | string; @@ -3756,2111 +4301,2107 @@ export interface LaunchTemplatePrivateDnsNameOptions { EnableResourceNameDnsAAAARecord?: boolean; } -export namespace LaunchTemplatePrivateDnsNameOptions { +export namespace LaunchTemplatePrivateDnsNameOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplatePrivateDnsNameOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatePrivateDnsNameOptionsRequest): any => ({ ...obj, }); } /** - *

        The tag specification for the launch template.

        + *

        The tags specification for the launch template.

        */ -export interface LaunchTemplateTagSpecification { +export interface LaunchTemplateTagSpecificationRequest { /** - *

        The type of resource.

        + *

        The type of resource to tag. Currently, the resource types that support tagging on + * creation are instance and volume. To tag a resource after it + * has been created, see CreateTags.

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

        The tags for the resource.

        + *

        The tags to apply to the resource.

        */ Tags?: Tag[]; } -export namespace LaunchTemplateTagSpecification { +export namespace LaunchTemplateTagSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateTagSpecification): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateTagSpecificationRequest): any => ({ ...obj, }); } /** - *

        The information for a launch template.

        + *

        The information to include in the launch template.

        */ -export interface ResponseLaunchTemplateData { +export interface RequestLaunchTemplateData { /** - *

        The ID of the kernel, if applicable.

        + *

        The ID of the kernel.

        + * + *

        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + * information, see User Provided + * Kernels in the Amazon Elastic Compute Cloud User + * Guide.

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

        Indicates whether the instance is optimized for Amazon EBS I/O.

        + *

        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 IAM instance profile.

        + *

        The name or Amazon Resource Name (ARN) of an IAM instance profile.

        */ - IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecification; + IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecificationRequest; /** - *

        The block device mappings.

        + *

        The block device mapping.

        */ - BlockDeviceMappings?: LaunchTemplateBlockDeviceMapping[]; + BlockDeviceMappings?: LaunchTemplateBlockDeviceMappingRequest[]; /** - *

        The network interfaces.

        + *

        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.

        */ - NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecification[]; + NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest[]; /** - *

        The ID of the AMI that was used to launch the instance.

        + *

        The ID of the AMI.

        */ ImageId?: string; /** - *

        The instance type.

        + *

        The instance type. For more information, see Instance Types in the + * Amazon Elastic Compute Cloud User Guide.

        + *

        If you specify InstanceTypes, you can't specify + * InstanceRequirements.

        */ InstanceType?: _InstanceType | string; /** - *

        The name of the key pair.

        + *

        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.

        + *
        */ KeyName?: string; /** *

        The monitoring for the instance.

        */ - Monitoring?: LaunchTemplatesMonitoring; + Monitoring?: LaunchTemplatesMonitoringRequest; /** - *

        The placement of the instance.

        + *

        The placement for the instance.

        */ - Placement?: LaunchTemplatePlacement; + Placement?: LaunchTemplatePlacementRequest; /** - *

        The ID of the RAM disk, if applicable.

        + *

        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 + * Kernels in the Amazon Elastic Compute Cloud User + * Guide.

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

        If set to true, indicates that the instance cannot be terminated using - * the Amazon EC2 console, command line tool, or API.

        + *

        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.

        */ DisableApiTermination?: boolean; /** *

        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; /** - *

        The user data for the instance.

        + *

        The user data to make available to the instance. You must provide base64-encoded text. + * User data is limited to 16 KB. For more information, see Running Commands on Your Linux Instance + * at Launch (Linux) or Adding User Data (Windows).

        + * + *

        If you are creating the launch template for use with Batch, the user data + * must be provided in the + * MIME multi-part archive format. For more information, see Amazon EC2 user data in + * launch templates in the Batch User Guide.

        */ UserData?: string; /** - *

        The tags.

        + *

        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?: LaunchTemplateTagSpecification[]; + TagSpecifications?: LaunchTemplateTagSpecificationRequest[]; /** - *

        The elastic GPU specification.

        + *

        An elastic GPU to associate with the instance.

        */ - ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; + ElasticGpuSpecifications?: ElasticGpuSpecification[]; /** *

        * The elastic inference accelerator for the instance. *

        */ - ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; + ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; /** - *

        The security group IDs.

        + *

        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 security group names.

        + *

        [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?: LaunchTemplateInstanceMarketOptions; + InstanceMarketOptions?: LaunchTemplateInstanceMarketOptionsRequest; /** - *

        The credit option for CPU usage of the instance.

        + *

        The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances + * only.

        */ - CreditSpecification?: CreditSpecification; + CreditSpecification?: CreditSpecificationRequest; /** - *

        The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User + *

        The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User * Guide.

        */ - CpuOptions?: LaunchTemplateCpuOptions; + CpuOptions?: LaunchTemplateCpuOptionsRequest; /** - *

        Information about the Capacity Reservation targeting option.

        + *

        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?: LaunchTemplateCapacityReservationSpecificationResponse; + CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationRequest; /** *

        The license configurations.

        */ - LicenseSpecifications?: LaunchTemplateLicenseConfiguration[]; + LicenseSpecifications?: LaunchTemplateLicenseConfigurationRequest[]; /** - *

        Indicates whether an instance is configured for hibernation. For more information, see - * Hibernate - * your instance in the Amazon Elastic Compute Cloud User Guide.

        + *

        Indicates whether an instance is enabled for hibernation. This parameter is valid only + * if the instance meets the hibernation + * prerequisites. For + * more information, see Hibernate your instance in the + * Amazon Elastic Compute Cloud User Guide.

        */ - HibernationOptions?: LaunchTemplateHibernationOptions; + HibernationOptions?: LaunchTemplateHibernationOptionsRequest; /** *

        The metadata options for the instance. For more information, see Instance metadata and user data in the * Amazon Elastic Compute Cloud User Guide.

        */ - MetadataOptions?: LaunchTemplateInstanceMetadataOptions; + MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest; /** - *

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

        + *

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, + * see + * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

        + *

        You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

        */ - EnclaveOptions?: LaunchTemplateEnclaveOptions; + EnclaveOptions?: LaunchTemplateEnclaveOptionsRequest; /** *

        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will * identify instance types with these attributes.

        *

        If you specify InstanceRequirements, you can't specify - * InstanceTypes.

        + * InstanceTypes.

        */ - InstanceRequirements?: InstanceRequirements; + InstanceRequirements?: InstanceRequirementsRequest; /** - *

        The options for the instance hostname.

        + *

        The options for the instance hostname. The default values are inherited from the subnet.

        */ - PrivateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptions; + PrivateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptionsRequest; } -export namespace ResponseLaunchTemplateData { +export namespace RequestLaunchTemplateData { /** * @internal */ - export const filterSensitiveLog = (obj: ResponseLaunchTemplateData): any => ({ + export const filterSensitiveLog = (obj: RequestLaunchTemplateData): any => ({ ...obj, }); } -/** - *

        Describes a launch template version.

        - */ -export interface LaunchTemplateVersion { +export interface CreateLaunchTemplateRequest { /** - *

        The ID of the launch template.

        + *

        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

        */ - LaunchTemplateId?: string; + DryRun?: boolean; /** - *

        The name of the launch template.

        + *

        Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

        + *

        Constraint: Maximum 128 ASCII characters.

        */ - LaunchTemplateName?: string; + ClientToken?: string; /** - *

        The version number.

        + *

        A name for the launch template.

        */ - VersionNumber?: number; + LaunchTemplateName: string | undefined; /** - *

        The description for the version.

        + *

        A description for the first version of the launch template.

        */ VersionDescription?: string; /** - *

        The time the version was created.

        - */ - CreateTime?: Date; - - /** - *

        The principal that created the version.

        - */ - CreatedBy?: string; - - /** - *

        Indicates whether the version is the default version.

        + *

        The information for the launch template.

        */ - DefaultVersion?: boolean; + LaunchTemplateData: RequestLaunchTemplateData | undefined; /** - *

        Information about the launch template.

        + *

        The tags to apply to the launch template during creation.

        */ - LaunchTemplateData?: ResponseLaunchTemplateData; + TagSpecifications?: TagSpecification[]; } -export namespace LaunchTemplateVersion { +export namespace CreateLaunchTemplateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateVersion): any => ({ + export const filterSensitiveLog = (obj: CreateLaunchTemplateRequest): any => ({ ...obj, }); } -export interface CreateLaunchTemplateVersionResult { +/** + *

        Describes a launch template.

        + */ +export interface LaunchTemplate { /** - *

        Information about the launch template version.

        + *

        The ID of the launch template.

        */ - LaunchTemplateVersion?: LaunchTemplateVersion; + LaunchTemplateId?: string; /** - *

        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.

        + *

        The name of the launch template.

        */ - Warning?: ValidationWarning; -} + LaunchTemplateName?: string; -export namespace CreateLaunchTemplateVersionResult { /** - * @internal + *

        The time launch template was created.

        */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionResult): any => ({ - ...obj, - }); -} + CreateTime?: Date; -export interface CreateLocalGatewayRouteRequest { /** - *

        The CIDR range used for destination matches. Routing decisions are based on - * the most specific match.

        + *

        The principal that created the launch template.

        */ - DestinationCidrBlock: string | undefined; + CreatedBy?: string; /** - *

        The ID of the local gateway route table.

        + *

        The version number of the default version of the launch template.

        */ - LocalGatewayRouteTableId: string | undefined; + DefaultVersionNumber?: number; /** - *

        The ID of the virtual interface group.

        + *

        The version number of the latest version of the launch template.

        */ - LocalGatewayVirtualInterfaceGroupId: string | undefined; + LatestVersionNumber?: 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 tags for the launch template.

        */ - DryRun?: boolean; + Tags?: Tag[]; } -export namespace CreateLocalGatewayRouteRequest { +export namespace LaunchTemplate { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplate): any => ({ ...obj, }); } -export type LocalGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; - -export type LocalGatewayRouteType = "propagated" | "static"; - /** - *

        Describes a route for a local gateway route table.

        + *

        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 LocalGatewayRoute { - /** - *

        The CIDR block used for destination matches.

        - */ - DestinationCidrBlock?: string; - - /** - *

        The ID of the virtual interface group.

        - */ - LocalGatewayVirtualInterfaceGroupId?: string; - - /** - *

        The route type.

        - */ - Type?: LocalGatewayRouteType | string; - - /** - *

        The state of the route.

        - */ - State?: LocalGatewayRouteState | string; - - /** - *

        The ID of the local gateway route table.

        - */ - LocalGatewayRouteTableId?: string; - +export interface ValidationError { /** - *

        The Amazon Resource Name (ARN) of the local gateway route table.

        + *

        The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error Codes.

        */ - LocalGatewayRouteTableArn?: string; + Code?: string; /** - *

        The ID of the Amazon Web Services account that owns the local gateway route.

        + *

        The error message that describes why the parameter or parameter combination is not valid. For more + * information about error messages, see Error Codes.

        */ - OwnerId?: string; + Message?: string; } -export namespace LocalGatewayRoute { +export namespace ValidationError { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayRoute): any => ({ + export const filterSensitiveLog = (obj: ValidationError): any => ({ ...obj, }); } -export interface CreateLocalGatewayRouteResult { +/** + *

        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 { /** - *

        Information about the route.

        + *

        The error codes and error messages.

        */ - Route?: LocalGatewayRoute; + Errors?: ValidationError[]; } -export namespace CreateLocalGatewayRouteResult { +export namespace ValidationWarning { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: ValidationWarning): any => ({ ...obj, }); } -export interface CreateLocalGatewayRouteTableVpcAssociationRequest { - /** - *

        The ID of the local gateway route table.

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

        The ID of the VPC.

        - */ - VpcId: string | undefined; - +export interface CreateLaunchTemplateResult { /** - *

        The tags to assign to the local gateway route table VPC association.

        + *

        Information about the launch template.

        */ - TagSpecifications?: TagSpecification[]; + LaunchTemplate?: LaunchTemplate; /** - *

        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

        + *

        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.

        */ - DryRun?: boolean; + Warning?: ValidationWarning; } -export namespace CreateLocalGatewayRouteTableVpcAssociationRequest { +export namespace CreateLaunchTemplateResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateLaunchTemplateResult): any => ({ ...obj, }); } -/** - *

        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.

        - */ - LocalGatewayRouteTableId?: string; - - /** - *

        The Amazon Resource Name (ARN) of the local gateway route table for the association.

        - */ - LocalGatewayRouteTableArn?: string; - +export interface CreateLaunchTemplateVersionRequest { /** - *

        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; /** - *

        The ID of the VPC.

        + *

        Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

        + *

        Constraint: Maximum 128 ASCII characters.

        */ - VpcId?: string; + ClientToken?: string; /** - *

        The ID of the Amazon Web Services account that owns the local gateway route table for the association.

        + *

        The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

        */ - OwnerId?: string; + LaunchTemplateId?: string; /** - *

        The state of the association.

        + *

        The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

        */ - State?: string; + LaunchTemplateName?: string; /** - *

        The tags assigned to the association.

        + *

        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.

        */ - Tags?: Tag[]; -} + SourceVersion?: string; -export namespace LocalGatewayRouteTableVpcAssociation { /** - * @internal + *

        A description for the version of the launch template.

        */ - export const filterSensitiveLog = (obj: LocalGatewayRouteTableVpcAssociation): any => ({ - ...obj, - }); -} + VersionDescription?: string; -export interface CreateLocalGatewayRouteTableVpcAssociationResult { /** - *

        Information about the association.

        + *

        The information for the launch template.

        */ - LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; + LaunchTemplateData: RequestLaunchTemplateData | undefined; } -export namespace CreateLocalGatewayRouteTableVpcAssociationResult { +export namespace CreateLaunchTemplateVersionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationResult): any => ({ + export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionRequest): any => ({ ...obj, }); } -export interface CreateManagedPrefixListRequest { +/** + *

        Describes a block device for an EBS volume.

        + */ +export interface LaunchTemplateEbsBlockDevice { /** - *

        Checks whether you have the required permissions for the action, without 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 the EBS volume is encrypted.

        */ - DryRun?: boolean; + Encrypted?: boolean; /** - *

        A name for the prefix list.

        - *

        Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

        + *

        Indicates whether the EBS volume is deleted on instance termination.

        */ - PrefixListName: string | undefined; + DeleteOnTermination?: boolean; /** - *

        One or more entries for the prefix list.

        + *

        The number of I/O operations per second (IOPS) that the volume supports.

        */ - Entries?: AddPrefixListEntry[]; + Iops?: number; /** - *

        The maximum number of entries for the prefix list.

        + *

        The ARN of the Key Management Service (KMS) CMK used for encryption.

        */ - MaxEntries: number | undefined; + KmsKeyId?: string; /** - *

        The tags to apply to the prefix list during creation.

        + *

        The ID of the snapshot.

        */ - TagSpecifications?: TagSpecification[]; + SnapshotId?: string; /** - *

        The IP address type.

        - *

        Valid Values: IPv4 | IPv6 - *

        + *

        The size of the volume, in GiB.

        */ - AddressFamily: string | undefined; + VolumeSize?: number; /** - *

        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.

        + *

        The volume type.

        */ - ClientToken?: string; + VolumeType?: VolumeType | string; + + /** + *

        The throughput that the volume supports, in MiB/s.

        + */ + Throughput?: number; } -export namespace CreateManagedPrefixListRequest { +export namespace LaunchTemplateEbsBlockDevice { /** * @internal */ - export const filterSensitiveLog = (obj: CreateManagedPrefixListRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDevice): any => ({ ...obj, }); } -export type PrefixListState = - | "create-complete" - | "create-failed" - | "create-in-progress" - | "delete-complete" - | "delete-failed" - | "delete-in-progress" - | "modify-complete" - | "modify-failed" - | "modify-in-progress" - | "restore-complete" - | "restore-failed" - | "restore-in-progress"; - /** - *

        Describes a managed prefix list.

        + *

        Describes a block device mapping.

        */ -export interface ManagedPrefixList { +export interface LaunchTemplateBlockDeviceMapping { /** - *

        The ID of the prefix list.

        + *

        The device name.

        */ - PrefixListId?: string; + DeviceName?: string; /** - *

        The IP address version.

        + *

        The virtual device name (ephemeralN).

        */ - AddressFamily?: string; + VirtualName?: string; /** - *

        The current state of the prefix list.

        + *

        Information about the block device for an EBS volume.

        */ - State?: PrefixListState | string; + Ebs?: LaunchTemplateEbsBlockDevice; /** - *

        The state message.

        + *

        To omit the device from the block device mapping, specify an empty string.

        */ - StateMessage?: string; + NoDevice?: string; +} +export namespace LaunchTemplateBlockDeviceMapping { /** - *

        The Amazon Resource Name (ARN) for the prefix list.

        + * @internal */ - PrefixListArn?: string; + export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMapping): any => ({ + ...obj, + }); +} +/** + *

        Describes a target Capacity Reservation or Capacity Reservation group.

        + */ +export interface CapacityReservationTargetResponse { /** - *

        The name of the prefix list.

        + *

        The ID of the targeted Capacity Reservation.

        */ - PrefixListName?: string; + CapacityReservationId?: string; /** - *

        The maximum number of entries for the prefix list.

        + *

        The ARN of the targeted Capacity Reservation group.

        */ - MaxEntries?: number; + CapacityReservationResourceGroupArn?: string; +} +export namespace CapacityReservationTargetResponse { /** - *

        The version of the prefix list.

        + * @internal */ - Version?: number; + export const filterSensitiveLog = (obj: CapacityReservationTargetResponse): any => ({ + ...obj, + }); +} +/** + *

        Information about the Capacity Reservation targeting option.

        + */ +export interface LaunchTemplateCapacityReservationSpecificationResponse { /** - *

        The tags for the prefix list.

        + *

        Indicates the instance's Capacity Reservation preferences. Possible preferences include:

        + *
          + *
        • + *

          + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

          + *
        • + *
        • + *

          + * none - The instance avoids running in a Capacity Reservation even if one is available. The instance + * runs in On-Demand capacity.

          + *
        • + *
        */ - Tags?: Tag[]; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

        The ID of the owner of the prefix list.

        + *

        Information about the target Capacity Reservation or Capacity Reservation group.

        */ - OwnerId?: string; + CapacityReservationTarget?: CapacityReservationTargetResponse; } -export namespace ManagedPrefixList { +export namespace LaunchTemplateCapacityReservationSpecificationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ManagedPrefixList): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationResponse): any => ({ ...obj, }); } -export interface CreateManagedPrefixListResult { +/** + *

        The CPU options for the instance.

        + */ +export interface LaunchTemplateCpuOptions { /** - *

        Information about the prefix list.

        + *

        The number of CPU cores for the instance.

        */ - PrefixList?: ManagedPrefixList; + CoreCount?: number; + + /** + *

        The number of threads per CPU core.

        + */ + ThreadsPerCore?: number; } -export namespace CreateManagedPrefixListResult { +export namespace LaunchTemplateCpuOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateManagedPrefixListResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCpuOptions): any => ({ ...obj, }); } -export enum ConnectivityType { - PRIVATE = "private", - PUBLIC = "public", +/** + *

        Describes the credit option for CPU usage of a T2, T3, or T3a instance.

        + */ +export interface CreditSpecification { + /** + *

        The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are + * standard and unlimited.

        + */ + CpuCredits?: string; } -export interface CreateNatGatewayRequest { +export namespace CreditSpecification { /** - *

        [Public NAT gateways only] The allocation ID of an Elastic IP address to associate - * with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. - * If the Elastic IP address is associated with another resource, you must first disassociate it.

        + * @internal */ - AllocationId?: string; + export const filterSensitiveLog = (obj: CreditSpecification): any => ({ + ...obj, + }); +} +/** + *

        Describes an elastic GPU.

        + */ +export interface ElasticGpuSpecificationResponse { /** - *

        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.

        + *

        The elastic GPU type.

        */ - ClientToken?: string; + Type?: string; +} +export namespace ElasticGpuSpecificationResponse { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: ElasticGpuSpecificationResponse): any => ({ + ...obj, + }); +} + +/** + *

        + * Describes an elastic inference accelerator. + *

        + */ +export interface LaunchTemplateElasticInferenceAcceleratorResponse { + /** + *

        + * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. + *

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

        The subnet in which to create the NAT gateway.

        + *

        + * The number of elastic inference accelerators to attach to the instance. + *

        + *

        Default: 1

        */ - SubnetId: string | undefined; + Count?: number; +} +export namespace LaunchTemplateElasticInferenceAcceleratorResponse { /** - *

        The tags to assign to the NAT gateway.

        + * @internal */ - TagSpecifications?: TagSpecification[]; + export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAcceleratorResponse): any => ({ + ...obj, + }); +} +/** + *

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

        + */ +export interface LaunchTemplateEnclaveOptions { /** - *

        Indicates whether the NAT gateway supports public or private connectivity. - * The default is public connectivity.

        + *

        If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; + * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

        */ - ConnectivityType?: ConnectivityType | string; + Enabled?: boolean; } -export namespace CreateNatGatewayRequest { +export namespace LaunchTemplateEnclaveOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNatGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptions): any => ({ ...obj, }); } /** - *

        Describes the IP addresses and network interface associated with a NAT gateway.

        + *

        Indicates whether an instance is configured for hibernation.

        */ -export interface NatGatewayAddress { +export interface LaunchTemplateHibernationOptions { /** - *

        [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

        + *

        If this parameter is set to true, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

        */ - AllocationId?: string; + Configured?: boolean; +} +export namespace LaunchTemplateHibernationOptions { /** - *

        The ID of the network interface associated with the NAT gateway.

        + * @internal */ - NetworkInterfaceId?: string; + export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptions): any => ({ + ...obj, + }); +} +/** + *

        Describes an IAM instance profile.

        + */ +export interface LaunchTemplateIamInstanceProfileSpecification { /** - *

        The private IP address associated with the NAT gateway.

        + *

        The Amazon Resource Name (ARN) of the instance profile.

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

        [Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

        + *

        The name of the instance profile.

        */ - PublicIp?: string; + Name?: string; } -export namespace NatGatewayAddress { +export namespace LaunchTemplateIamInstanceProfileSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: NatGatewayAddress): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecification): any => ({ ...obj, }); } /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        + *

        The options for Spot Instances.

        */ -export interface ProvisionedBandwidth { +export interface LaunchTemplateSpotMarketOptions { /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        + *

        The maximum hourly price you're willing to pay for the Spot Instances.

        */ - ProvisionTime?: Date; + MaxPrice?: string; /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        + *

        The Spot Instance request type.

        */ - Provisioned?: string; + SpotInstanceType?: SpotInstanceType | string; /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        + *

        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).

        */ - RequestTime?: Date; + BlockDurationMinutes?: number; /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        + *

        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.

        */ - Requested?: string; + ValidUntil?: Date; /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        + *

        The behavior when a Spot Instance is interrupted.

        */ - Status?: string; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace ProvisionedBandwidth { +export namespace LaunchTemplateSpotMarketOptions { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionedBandwidth): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptions): any => ({ ...obj, }); } -export enum NatGatewayState { - AVAILABLE = "available", - DELETED = "deleted", - DELETING = "deleting", - FAILED = "failed", - PENDING = "pending", -} - /** - *

        Describes a NAT gateway.

        + *

        The market (purchasing) option for the instances.

        */ -export interface NatGateway { - /** - *

        The date and time the NAT gateway was created.

        - */ - CreateTime?: Date; - +export interface LaunchTemplateInstanceMarketOptions { /** - *

        The date and time the NAT gateway was deleted, if applicable.

        + *

        The market type.

        */ - DeleteTime?: Date; + MarketType?: MarketType | string; /** - *

        If the NAT gateway could not be created, specifies the error code for the failure. - * (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | - * InvalidAllocationID.NotFound | Resource.AlreadyAssociated | - * InternalError | InvalidSubnetID.NotFound)

        + *

        The options for Spot Instances.

        */ - FailureCode?: string; + SpotOptions?: LaunchTemplateSpotMarketOptions; +} +export namespace LaunchTemplateInstanceMarketOptions { /** - *

        If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

        - *
          - *
        • - *

          For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

          - *
        • - *
        • - *

          For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

          - *
        • - *
        • - *

          For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

          - *
        • - *
        • - *

          For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

          - *
        • - *
        • - *

          For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

          - *
        • - *
        • - *

          For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

          - *
        • - *
        + * @internal */ - FailureMessage?: string; + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptions): any => ({ + ...obj, + }); +} +/** + *

        Describes a license configuration.

        + */ +export interface LaunchTemplateLicenseConfiguration { /** - *

        Information about the IP addresses and network interface associated with the NAT gateway.

        + *

        The Amazon Resource Name (ARN) of the license configuration.

        */ - NatGatewayAddresses?: NatGatewayAddress[]; + LicenseConfigurationArn?: string; +} +export namespace LaunchTemplateLicenseConfiguration { /** - *

        The ID of the NAT gateway.

        + * @internal */ - NatGatewayId?: string; + export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfiguration): any => ({ + ...obj, + }); +} - /** - *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through - * the Support Center.

        - */ - ProvisionedBandwidth?: ProvisionedBandwidth; +export type LaunchTemplateInstanceMetadataOptionsState = "applied" | "pending"; +/** + *

        The metadata options for the instance. For more information, see Instance Metadata and User Data in the + * Amazon Elastic Compute Cloud User Guide.

        + */ +export interface LaunchTemplateInstanceMetadataOptions { /** - *

        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.

          - *
        • - *
        + *

        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.

        */ - State?: NatGatewayState | string; + State?: LaunchTemplateInstanceMetadataOptionsState | string; /** - *

        The ID of the subnet in which the NAT gateway is located.

        + *

        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.

        */ - SubnetId?: string; + HttpTokens?: LaunchTemplateHttpTokensState | string; /** - *

        The ID of the VPC in which the NAT gateway is located.

        + *

        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

        */ - VpcId?: string; + HttpPutResponseHopLimit?: number; /** - *

        The tags for the NAT gateway.

        + *

        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. + *

        + *
        */ - Tags?: Tag[]; + HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; /** - *

        Indicates whether the NAT gateway supports public or private connectivity.

        + *

        Enables or disables the IPv6 endpoint for the instance metadata service.

        + *

        Default: disabled + *

        */ - ConnectivityType?: ConnectivityType | string; + HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; } -export namespace NatGateway { +export namespace LaunchTemplateInstanceMetadataOptions { /** * @internal */ - export const filterSensitiveLog = (obj: NatGateway): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptions): any => ({ ...obj, }); } -export interface CreateNatGatewayResult { - /** - *

        Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

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

        Describes the monitoring for the instance.

        + */ +export interface LaunchTemplatesMonitoring { /** - *

        Information about the NAT gateway.

        + *

        Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

        */ - NatGateway?: NatGateway; + Enabled?: boolean; } -export namespace CreateNatGatewayResult { +export namespace LaunchTemplatesMonitoring { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNatGatewayResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatesMonitoring): any => ({ ...obj, }); } -export interface CreateNetworkAclRequest { - /** - *

        Checks whether you have the required permissions for the action, without 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; - +/** + *

        Information about the IPv4 delegated prefixes assigned + * to a network interface.

        + */ +export interface Ipv4PrefixSpecificationResponse { /** - *

        The tags to assign to the network ACL.

        + *

        One or more IPv4 delegated prefixes assigned to the network interface.

        */ - TagSpecifications?: TagSpecification[]; + Ipv4Prefix?: string; } -export namespace CreateNetworkAclRequest { +export namespace Ipv4PrefixSpecificationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkAclRequest): any => ({ + export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationResponse): any => ({ ...obj, }); } /** - *

        Describes an association between a network ACL and a subnet.

        + *

        Describes an IPv6 address.

        */ -export interface NetworkAclAssociation { - /** - *

        The ID of the association between a network ACL and a subnet.

        - */ - NetworkAclAssociationId?: string; - - /** - *

        The ID of the network ACL.

        - */ - NetworkAclId?: string; - +export interface InstanceIpv6Address { /** - *

        The ID of the subnet.

        + *

        The IPv6 address.

        */ - SubnetId?: string; + Ipv6Address?: string; } -export namespace NetworkAclAssociation { +export namespace InstanceIpv6Address { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkAclAssociation): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv6Address): any => ({ ...obj, }); } /** - *

        Describes the ICMP type and code.

        + *

        Information about the IPv6 delegated prefixes assigned + * to a network interface.

        */ -export interface IcmpTypeCode { - /** - *

        The ICMP code. A value of -1 means all codes for the specified ICMP type.

        - */ - Code?: number; - +export interface Ipv6PrefixSpecificationResponse { /** - *

        The ICMP type. A value of -1 means all types.

        + *

        One or more IPv6 delegated prefixes assigned to the network interface.

        */ - Type?: number; + Ipv6Prefix?: string; } -export namespace IcmpTypeCode { +export namespace Ipv6PrefixSpecificationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: IcmpTypeCode): any => ({ + export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationResponse): any => ({ ...obj, }); } /** - *

        Describes a range of ports.

        + *

        Describes a network interface.

        */ -export interface PortRange { +export interface LaunchTemplateInstanceNetworkInterfaceSpecification { /** - *

        The first port in the range.

        + *

        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 Wavelength Developer + * Guide.

        */ - From?: number; + AssociateCarrierIpAddress?: boolean; /** - *

        The last port in the range.

        + *

        Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

        */ - To?: number; -} + AssociatePublicIpAddress?: boolean; -export namespace PortRange { /** - * @internal + *

        Indicates whether the network interface is deleted when the instance is terminated.

        */ - export const filterSensitiveLog = (obj: PortRange): any => ({ - ...obj, - }); -} - -export type RuleAction = "allow" | "deny"; + DeleteOnTermination?: boolean; -/** - *

        Describes an entry in a network ACL.

        - */ -export interface NetworkAclEntry { /** - *

        The IPv4 network range to allow or deny, in CIDR notation.

        + *

        A description for the network interface.

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

        Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

        + *

        The device index for the network interface attachment.

        */ - Egress?: boolean; + DeviceIndex?: number; /** - *

        ICMP protocol: The ICMP type and code.

        + *

        The IDs of one or more security groups.

        */ - IcmpTypeCode?: IcmpTypeCode; + Groups?: string[]; /** - *

        The IPv6 network range to allow or deny, in CIDR notation.

        + *

        The type of network interface.

        */ - Ipv6CidrBlock?: string; + InterfaceType?: string; /** - *

        TCP or UDP protocols: The range of ports the rule applies to.

        + *

        The number of IPv6 addresses for the network interface.

        */ - PortRange?: PortRange; + Ipv6AddressCount?: number; /** - *

        The protocol number. A value of "-1" means all protocols.

        + *

        The IPv6 addresses for the network interface.

        */ - Protocol?: string; + Ipv6Addresses?: InstanceIpv6Address[]; /** - *

        Indicates whether to allow or deny the traffic that matches the rule.

        + *

        The ID of the network interface.

        */ - RuleAction?: RuleAction | string; + NetworkInterfaceId?: string; /** - *

        The rule number for the entry. ACL entries are processed in ascending order by rule number.

        + *

        The primary private IPv4 address of the network interface.

        */ - RuleNumber?: number; -} + PrivateIpAddress?: string; -export namespace NetworkAclEntry { /** - * @internal + *

        One or more private IPv4 addresses.

        */ - export const filterSensitiveLog = (obj: NetworkAclEntry): any => ({ - ...obj, - }); -} + PrivateIpAddresses?: PrivateIpAddressSpecification[]; -/** - *

        Describes a network ACL.

        - */ -export interface NetworkAcl { /** - *

        Any associations between the network ACL and one or more subnets

        + *

        The number of secondary private IPv4 addresses for the network interface.

        */ - Associations?: NetworkAclAssociation[]; + SecondaryPrivateIpAddressCount?: number; /** - *

        One or more entries (rules) in the network ACL.

        + *

        The ID of the subnet for the network interface.

        */ - Entries?: NetworkAclEntry[]; + SubnetId?: string; /** - *

        Indicates whether this is the default network ACL for the VPC.

        + *

        The index of the network card.

        */ - IsDefault?: boolean; + NetworkCardIndex?: number; /** - *

        The ID of the network ACL.

        + *

        One or more IPv4 prefixes assigned to the network interface.

        */ - NetworkAclId?: string; + Ipv4Prefixes?: Ipv4PrefixSpecificationResponse[]; /** - *

        Any tags assigned to the network ACL.

        + *

        The number of IPv4 prefixes that Amazon Web Services automatically assigned to the + * network interface.

        */ - Tags?: Tag[]; + Ipv4PrefixCount?: number; /** - *

        The ID of the VPC for the network ACL.

        + *

        One or more IPv6 prefixes assigned to the network interface.

        */ - VpcId?: string; + Ipv6Prefixes?: Ipv6PrefixSpecificationResponse[]; /** - *

        The ID of the Amazon Web Services account that owns the network ACL.

        + *

        The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network + * interface.

        */ - OwnerId?: string; + Ipv6PrefixCount?: number; } -export namespace NetworkAcl { +export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkAcl): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecification): any => ({ ...obj, }); } -export interface CreateNetworkAclResult { +/** + *

        Describes the placement of an instance.

        + */ +export interface LaunchTemplatePlacement { /** - *

        Information about the network ACL.

        + *

        The Availability Zone of the instance.

        */ - NetworkAcl?: NetworkAcl; -} + AvailabilityZone?: string; -export namespace CreateNetworkAclResult { /** - * @internal + *

        The affinity setting for the instance on the Dedicated Host.

        */ - export const filterSensitiveLog = (obj: CreateNetworkAclResult): any => ({ - ...obj, - }); -} + Affinity?: string; -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 name of the placement group for the instance.

        */ - CidrBlock?: string; + 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 ID of the Dedicated Host for the instance.

        */ - DryRun?: boolean; + HostId?: string; /** - *

        Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

        + *

        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.

        */ - Egress: boolean | undefined; + Tenancy?: Tenancy | string; /** - *

        ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

        + *

        Reserved for future use.

        */ - IcmpTypeCode?: IcmpTypeCode; + SpreadDomain?: string; /** - *

        The IPv6 network range to allow or deny, in CIDR notation (for example - * 2001:db8:1234:1a00::/64).

        + *

        The ARN of the host resource group in which to launch the instances. + *

        */ - Ipv6CidrBlock?: string; + HostResourceGroupArn?: string; /** - *

        The ID of the network ACL.

        + *

        The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

        */ - NetworkAclId: string | undefined; + PartitionNumber?: number; +} +export namespace LaunchTemplatePlacement { /** - *

        TCP or UDP protocols: The range of ports the rule applies to. - * Required if specifying protocol 6 (TCP) or 17 (UDP).

        + * @internal */ - PortRange?: PortRange; + export const filterSensitiveLog = (obj: LaunchTemplatePlacement): any => ({ + ...obj, + }); +} +/** + *

        Describes the options for instance hostnames.

        + */ +export interface LaunchTemplatePrivateDnsNameOptions { /** - *

        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 type of hostname to assign to an instance.

        */ - Protocol: string | undefined; + HostnameType?: HostnameType | string; /** - *

        Indicates whether to allow or deny the traffic that matches the rule.

        + *

        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

        */ - RuleAction: RuleAction | string | undefined; + EnableResourceNameDnsARecord?: boolean; /** - *

        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.

        + *

        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

        */ - RuleNumber: number | undefined; + EnableResourceNameDnsAAAARecord?: boolean; } -export namespace CreateNetworkAclEntryRequest { +export namespace LaunchTemplatePrivateDnsNameOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkAclEntryRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatePrivateDnsNameOptions): any => ({ ...obj, }); } -export type Protocol = "tcp" | "udp"; +/** + *

        The tag specification for the launch template.

        + */ +export interface LaunchTemplateTagSpecification { + /** + *

        The type of resource.

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

        The tags for the resource.

        + */ + Tags?: Tag[]; +} -export interface CreateNetworkInsightsPathRequest { +export namespace LaunchTemplateTagSpecification { /** - *

        The IP address of the Amazon Web Services resource that is the source of the path.

        + * @internal */ - SourceIp?: string; + export const filterSensitiveLog = (obj: LaunchTemplateTagSpecification): any => ({ + ...obj, + }); +} +/** + *

        The information for a launch template.

        + */ +export interface ResponseLaunchTemplateData { /** - *

        The IP address of the Amazon Web Services resource that is the destination of the path.

        + *

        The ID of the kernel, if applicable.

        */ - DestinationIp?: string; + KernelId?: string; /** - *

        The Amazon Web Services resource that is the source of the path.

        + *

        Indicates whether the instance is optimized for Amazon EBS I/O.

        */ - Source: string | undefined; + EbsOptimized?: boolean; /** - *

        The Amazon Web Services resource that is the destination of the path.

        + *

        The IAM instance profile.

        */ - Destination: string | undefined; + IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecification; /** - *

        The protocol.

        + *

        The block device mappings.

        */ - Protocol: Protocol | string | undefined; + BlockDeviceMappings?: LaunchTemplateBlockDeviceMapping[]; /** - *

        The destination port.

        + *

        The network interfaces.

        */ - DestinationPort?: number; + NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecification[]; /** - *

        The tags to add to the path.

        + *

        The ID of the AMI that was used to launch the instance.

        */ - TagSpecifications?: TagSpecification[]; + ImageId?: 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 type.

        */ - DryRun?: boolean; + InstanceType?: _InstanceType | string; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, - * see How to ensure idempotency.

        + *

        The name of the key pair.

        */ - ClientToken?: string; -} + KeyName?: string; -export namespace CreateNetworkInsightsPathRequest { /** - * @internal + *

        The monitoring for the instance.

        */ - export const filterSensitiveLog = (obj: CreateNetworkInsightsPathRequest): any => ({ - ...obj, - }); -} + Monitoring?: LaunchTemplatesMonitoring; -/** - *

        Describes a path.

        - */ -export interface NetworkInsightsPath { /** - *

        The ID of the path.

        + *

        The placement of the instance.

        */ - NetworkInsightsPathId?: string; + Placement?: LaunchTemplatePlacement; /** - *

        The Amazon Resource Name (ARN) of the path.

        + *

        The ID of the RAM disk, if applicable.

        */ - NetworkInsightsPathArn?: string; + RamDiskId?: string; /** - *

        The time stamp when the path was created.

        + *

        If set to true, indicates that the instance cannot be terminated using + * the Amazon EC2 console, command line tool, or API.

        */ - CreatedDate?: Date; + DisableApiTermination?: boolean; /** - *

        The Amazon Web Services resource that is the source of the path.

        + *

        Indicates whether an instance stops or terminates when you initiate shutdown from + * the instance (using the operating system command for system shutdown).

        */ - Source?: string; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; /** - *

        The Amazon Web Services resource that is the destination of the path.

        + *

        The user data for the instance.

        */ - Destination?: string; + UserData?: string; /** - *

        The IP address of the Amazon Web Services resource that is the source of the path.

        + *

        The tags.

        */ - SourceIp?: string; + TagSpecifications?: LaunchTemplateTagSpecification[]; /** - *

        The IP address of the Amazon Web Services resource that is the destination of the path.

        + *

        The elastic GPU specification.

        */ - DestinationIp?: string; + ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; /** - *

        The protocol.

        + *

        + * The elastic inference accelerator for the instance. + *

        */ - Protocol?: Protocol | string; + ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; /** - *

        The destination port.

        + *

        The security group IDs.

        */ - DestinationPort?: number; + SecurityGroupIds?: string[]; /** - *

        The tags associated with the path.

        + *

        The security group names.

        */ - Tags?: Tag[]; -} + SecurityGroups?: string[]; -export namespace NetworkInsightsPath { /** - * @internal + *

        The market (purchasing) option for the instances.

        */ - export const filterSensitiveLog = (obj: NetworkInsightsPath): any => ({ - ...obj, - }); -} + InstanceMarketOptions?: LaunchTemplateInstanceMarketOptions; -export interface CreateNetworkInsightsPathResult { /** - *

        Information about the path.

        + *

        The credit option for CPU usage of the instance.

        */ - NetworkInsightsPath?: NetworkInsightsPath; -} + CreditSpecification?: CreditSpecification; -export namespace CreateNetworkInsightsPathResult { /** - * @internal + *

        The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User + * Guide.

        */ - export const filterSensitiveLog = (obj: CreateNetworkInsightsPathResult): any => ({ - ...obj, - }); -} - -export type NetworkInterfaceCreationType = "branch" | "efa" | "trunk"; + CpuOptions?: LaunchTemplateCpuOptions; -/** - *

        Contains the parameters for CreateNetworkInterface.

        - */ -export interface CreateNetworkInterfaceRequest { /** - *

        A description for the network interface.

        + *

        Information about the Capacity Reservation targeting option.

        */ - Description?: string; + CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationResponse; /** - *

        Checks whether you have the required permissions for the action, without 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 license configurations.

        */ - DryRun?: boolean; + LicenseSpecifications?: LaunchTemplateLicenseConfiguration[]; /** - *

        The IDs of one or more security groups.

        + *

        Indicates whether an instance is configured for hibernation. For more information, see + * Hibernate + * your instance in the Amazon Elastic Compute Cloud User Guide.

        */ - Groups?: string[]; + HibernationOptions?: LaunchTemplateHibernationOptions; /** - *

        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. If your subnet has the AssignIpv6AddressOnCreation attribute set - * to true, you can specify 0 to override this setting.

        + *

        The metadata options for the instance. For more information, see Instance metadata and user data in the + * Amazon Elastic Compute Cloud User Guide.

        */ - Ipv6AddressCount?: number; + MetadataOptions?: LaunchTemplateInstanceMetadataOptions; /** - *

        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.

        + *

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

        */ - Ipv6Addresses?: InstanceIpv6Address[]; + EnclaveOptions?: LaunchTemplateEnclaveOptions; /** - *

        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 attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with these attributes.

        + *

        If you specify InstanceRequirements, you can't specify + * InstanceTypes.

        */ - PrivateIpAddress?: string; + InstanceRequirements?: InstanceRequirements; /** - *

        One or more private IPv4 addresses.

        + *

        The options for the instance hostname.

        */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + PrivateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptions; +} +export namespace ResponseLaunchTemplateData { /** - *

        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.

        + * @internal */ - SecondaryPrivateIpAddressCount?: number; + export const filterSensitiveLog = (obj: ResponseLaunchTemplateData): any => ({ + ...obj, + }); +} +/** + *

        Describes a launch template version.

        + */ +export interface LaunchTemplateVersion { /** - *

        One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

        + *

        The ID of the launch template.

        */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + LaunchTemplateId?: string; /** - *

        The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

        + *

        The name of the launch template.

        */ - Ipv4PrefixCount?: number; + LaunchTemplateName?: string; /** - *

        One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

        + *

        The version number.

        */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + VersionNumber?: number; /** - *

        The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv6Prefixes option.

        + *

        The description for the version.

        */ - Ipv6PrefixCount?: number; + VersionDescription?: string; /** - *

        Indicates 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. To create a trunk network interface, specify - * efa. For more information, see - * Network interface trunking in the Amazon Elastic Compute Cloud User Guide.

        + *

        The time the version was created.

        */ - InterfaceType?: NetworkInterfaceCreationType | string; + CreateTime?: Date; /** - *

        The ID of the subnet to associate with the network interface.

        + *

        The principal that created the version.

        */ - SubnetId: string | undefined; + CreatedBy?: string; /** - *

        The tags to apply to the new network interface.

        + *

        Indicates whether the version is the default version.

        */ - TagSpecifications?: TagSpecification[]; + DefaultVersion?: boolean; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

        + *

        Information about the launch template.

        */ - ClientToken?: string; + LaunchTemplateData?: ResponseLaunchTemplateData; } -export namespace CreateNetworkInterfaceRequest { +export namespace LaunchTemplateVersion { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateVersion): any => ({ ...obj, }); } -/** - *

        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 { +export interface CreateLaunchTemplateVersionResult { /** - *

        The allocation ID.

        + *

        Information about the launch template version.

        */ - AllocationId?: string; + LaunchTemplateVersion?: LaunchTemplateVersion; /** - *

        The association ID.

        + *

        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.

        */ - AssociationId?: string; + Warning?: ValidationWarning; +} +export namespace CreateLaunchTemplateVersionResult { /** - *

        The ID of the Elastic IP address owner.

        + * @internal */ - IpOwnerId?: string; + export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionResult): any => ({ + ...obj, + }); +} +export interface CreateLocalGatewayRouteRequest { /** - *

        The public DNS name.

        + *

        The CIDR range used for destination matches. Routing decisions are based on + * the most specific match.

        */ - PublicDnsName?: string; + DestinationCidrBlock: string | undefined; /** - *

        The address of the Elastic IP address bound to the network - * interface.

        + *

        The ID of the local gateway route table.

        */ - PublicIp?: string; + LocalGatewayRouteTableId: string | undefined; /** - *

        The customer-owned IP address associated with the network interface.

        + *

        The ID of the virtual interface group.

        */ - CustomerOwnedIp?: string; + LocalGatewayVirtualInterfaceGroupId: string | undefined; /** - *

        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.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - CarrierIp?: string; + DryRun?: boolean; } -export namespace NetworkInterfaceAssociation { +export namespace CreateLocalGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceAssociation): any => ({ + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteRequest): any => ({ ...obj, }); } +export type LocalGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; + +export type LocalGatewayRouteType = "propagated" | "static"; + /** - *

        Describes a network interface attachment.

        + *

        Describes a route for a local gateway route table.

        */ -export interface NetworkInterfaceAttachment { - /** - *

        The timestamp indicating when the attachment initiated.

        - */ - AttachTime?: Date; - +export interface LocalGatewayRoute { /** - *

        The ID of the network interface attachment.

        + *

        The CIDR block used for destination matches.

        */ - AttachmentId?: string; + DestinationCidrBlock?: string; /** - *

        Indicates whether the network interface is deleted when the instance is terminated.

        + *

        The ID of the virtual interface group.

        */ - DeleteOnTermination?: boolean; + LocalGatewayVirtualInterfaceGroupId?: string; /** - *

        The device index of the network interface attachment on the instance.

        + *

        The route type.

        */ - DeviceIndex?: number; + Type?: LocalGatewayRouteType | string; /** - *

        The index of the network card.

        + *

        The state of the route.

        */ - NetworkCardIndex?: number; + State?: LocalGatewayRouteState | string; /** - *

        The ID of the instance.

        + *

        The ID of the local gateway route table.

        */ - InstanceId?: string; + LocalGatewayRouteTableId?: string; /** - *

        The Amazon Web Services account ID of the owner of the instance.

        + *

        The Amazon Resource Name (ARN) of the local gateway route table.

        */ - InstanceOwnerId?: string; + LocalGatewayRouteTableArn?: string; /** - *

        The attachment state.

        + *

        The ID of the Amazon Web Services account that owns the local gateway route.

        */ - Status?: AttachmentStatus | string; + OwnerId?: string; } -export namespace NetworkInterfaceAttachment { +export namespace LocalGatewayRoute { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceAttachment): any => ({ + export const filterSensitiveLog = (obj: LocalGatewayRoute): any => ({ ...obj, }); } -/** - *

        Describes a security group.

        - */ -export interface GroupIdentifier { - /** - *

        The name of the security group.

        - */ - GroupName?: string; - +export interface CreateLocalGatewayRouteResult { /** - *

        The ID of the security group.

        + *

        Information about the route.

        */ - GroupId?: string; + Route?: LocalGatewayRoute; } -export namespace GroupIdentifier { +export namespace CreateLocalGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: GroupIdentifier): any => ({ + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteResult): any => ({ ...obj, }); } -export type NetworkInterfaceType = "efa" | "interface" | "natGateway" | "trunk"; +export interface CreateLocalGatewayRouteTableVpcAssociationRequest { + /** + *

        The ID of the local gateway route table.

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

        Describes an IPv6 address associated with a network interface.

        - */ -export interface NetworkInterfaceIpv6Address { /** - *

        The IPv6 address.

        + *

        The ID of the VPC.

        */ - Ipv6Address?: string; -} + VpcId: string | undefined; -export namespace NetworkInterfaceIpv6Address { /** - * @internal + *

        The tags to assign to the local gateway route table VPC association.

        */ - export const filterSensitiveLog = (obj: NetworkInterfaceIpv6Address): any => ({ - ...obj, - }); -} + TagSpecifications?: TagSpecification[]; -/** - *

        Describes the IPv6 prefix.

        - */ -export interface Ipv6PrefixSpecification { /** - *

        The IPv6 prefix.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - Ipv6Prefix?: string; + DryRun?: boolean; } -export namespace Ipv6PrefixSpecification { +export namespace CreateLocalGatewayRouteTableVpcAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6PrefixSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationRequest): any => ({ ...obj, }); } /** - *

        Describes the private IPv4 address of a network interface.

        + *

        Describes an association between a local gateway route table and a VPC.

        */ -export interface NetworkInterfacePrivateIpAddress { - /** - *

        The association information for an Elastic IP address (IPv4) associated with the network interface.

        - */ - Association?: NetworkInterfaceAssociation; - +export interface LocalGatewayRouteTableVpcAssociation { /** - *

        Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

        + *

        The ID of the association.

        */ - Primary?: boolean; + LocalGatewayRouteTableVpcAssociationId?: string; /** - *

        The private DNS name.

        + *

        The ID of the local gateway route table.

        */ - PrivateDnsName?: string; + LocalGatewayRouteTableId?: string; /** - *

        The private IPv4 address.

        + *

        The Amazon Resource Name (ARN) of the local gateway route table for the association.

        */ - PrivateIpAddress?: string; -} + LocalGatewayRouteTableArn?: string; -export namespace NetworkInterfacePrivateIpAddress { /** - * @internal + *

        The ID of the local gateway.

        */ - export const filterSensitiveLog = (obj: NetworkInterfacePrivateIpAddress): any => ({ - ...obj, - }); -} - -export type NetworkInterfaceStatus = "associated" | "attaching" | "available" | "detaching" | "in-use"; + LocalGatewayId?: string; -/** - *

        Describes a network interface.

        - */ -export interface NetworkInterface { /** - *

        The association information for an Elastic IP address (IPv4) associated with the network interface.

        + *

        The ID of the VPC.

        */ - Association?: NetworkInterfaceAssociation; + VpcId?: string; /** - *

        The network interface attachment.

        + *

        The ID of the Amazon Web Services account that owns the local gateway route table for the association.

        */ - Attachment?: NetworkInterfaceAttachment; + OwnerId?: string; /** - *

        The Availability Zone.

        + *

        The state of the association.

        */ - AvailabilityZone?: string; + State?: string; /** - *

        A description.

        + *

        The tags assigned to the association.

        */ - Description?: string; + Tags?: Tag[]; +} +export namespace LocalGatewayRouteTableVpcAssociation { /** - *

        Any security groups for the network interface.

        + * @internal */ - Groups?: GroupIdentifier[]; + export const filterSensitiveLog = (obj: LocalGatewayRouteTableVpcAssociation): any => ({ + ...obj, + }); +} +export interface CreateLocalGatewayRouteTableVpcAssociationResult { /** - *

        The type of network interface.

        + *

        Information about the association.

        */ - InterfaceType?: NetworkInterfaceType | string; + LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; +} +export namespace CreateLocalGatewayRouteTableVpcAssociationResult { /** - *

        The IPv6 addresses associated with the network interface.

        + * @internal */ - Ipv6Addresses?: NetworkInterfaceIpv6Address[]; + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationResult): any => ({ + ...obj, + }); +} +export interface CreateManagedPrefixListRequest { /** - *

        The MAC address.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - MacAddress?: string; + DryRun?: boolean; /** - *

        The ID of the network interface.

        + *

        A name for the prefix list.

        + *

        Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

        */ - NetworkInterfaceId?: string; + PrefixListName: string | undefined; /** - *

        The Amazon Resource Name (ARN) of the Outpost.

        + *

        One or more entries for the prefix list.

        */ - OutpostArn?: string; + Entries?: AddPrefixListEntry[]; /** - *

        The Amazon Web Services account ID of the owner of the network interface.

        + *

        The maximum number of entries for the prefix list.

        */ - OwnerId?: string; + MaxEntries: number | undefined; /** - *

        The private DNS name.

        + *

        The tags to apply to the prefix list during creation.

        */ - PrivateDnsName?: string; + TagSpecifications?: TagSpecification[]; /** - *

        The IPv4 address of the network interface within the subnet.

        + *

        The IP address type.

        + *

        Valid Values: IPv4 | IPv6 + *

        */ - PrivateIpAddress?: string; + AddressFamily: string | undefined; /** - *

        The private IPv4 addresses associated with the network interface.

        + *

        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.

        */ - PrivateIpAddresses?: NetworkInterfacePrivateIpAddress[]; + ClientToken?: string; +} +export namespace CreateManagedPrefixListRequest { /** - *

        The IPv4 prefixes that are assigned to the network interface.

        + * @internal */ - Ipv4Prefixes?: Ipv4PrefixSpecification[]; + export const filterSensitiveLog = (obj: CreateManagedPrefixListRequest): any => ({ + ...obj, + }); +} - /** - *

        The IPv6 prefixes that are assigned to the network interface.

        - */ - Ipv6Prefixes?: Ipv6PrefixSpecification[]; +export type PrefixListState = + | "create-complete" + | "create-failed" + | "create-in-progress" + | "delete-complete" + | "delete-failed" + | "delete-in-progress" + | "modify-complete" + | "modify-failed" + | "modify-in-progress" + | "restore-complete" + | "restore-failed" + | "restore-in-progress"; +/** + *

        Describes a managed prefix list.

        + */ +export interface ManagedPrefixList { /** - *

        The alias or Amazon Web Services account ID of the principal or service that created the network interface.

        + *

        The ID of the prefix list.

        */ - RequesterId?: string; + PrefixListId?: string; /** - *

        Indicates whether the network interface is being managed by Amazon Web Services.

        + *

        The IP address version.

        */ - RequesterManaged?: boolean; + AddressFamily?: string; /** - *

        Indicates whether source/destination checking is enabled.

        + *

        The current state of the prefix list.

        */ - SourceDestCheck?: boolean; + State?: PrefixListState | string; /** - *

        The status of the network interface.

        + *

        The state message.

        */ - Status?: NetworkInterfaceStatus | string; + StateMessage?: string; /** - *

        The ID of the subnet.

        + *

        The Amazon Resource Name (ARN) for the prefix list.

        */ - SubnetId?: string; + PrefixListArn?: string; /** - *

        Any tags assigned to the network interface.

        + *

        The name of the prefix list.

        */ - TagSet?: Tag[]; + PrefixListName?: string; /** - *

        The ID of the VPC.

        + *

        The maximum number of entries for the prefix list.

        */ - VpcId?: string; + MaxEntries?: number; /** - *

        Indicates whether a network interface with an IPv6 address is unreachable from the - * public internet. If the value is true, inbound traffic from the internet - * is dropped and you cannot assign an elastic IP address to the network interface. The - * network interface is reachable from peered VPCs and resources connected through a - * transit gateway, including on-premises networks.

        + *

        The version of the prefix list.

        */ - DenyAllIgwTraffic?: boolean; + Version?: number; /** - *

        Indicates whether this is an IPv6 only network interface.

        + *

        The tags for the prefix list.

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

        The IPv6 globally unique address associated with the network interface.

        + *

        The ID of the owner of the prefix list.

        */ - Ipv6Address?: string; + OwnerId?: string; } -export namespace NetworkInterface { +export namespace ManagedPrefixList { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterface): any => ({ + export const filterSensitiveLog = (obj: ManagedPrefixList): any => ({ ...obj, }); } -/** - *

        Contains the output of CreateNetworkInterface.

        - */ -export interface CreateNetworkInterfaceResult { - /** - *

        Information about the network interface.

        - */ - NetworkInterface?: NetworkInterface; - +export interface CreateManagedPrefixListResult { /** - *

        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 list.

        */ - ClientToken?: string; + PrefixList?: ManagedPrefixList; } -export namespace CreateNetworkInterfaceResult { +export namespace CreateManagedPrefixListResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInterfaceResult): any => ({ + export const filterSensitiveLog = (obj: CreateManagedPrefixListResult): any => ({ ...obj, }); } -export type InterfacePermissionType = "EIP-ASSOCIATE" | "INSTANCE-ATTACH"; +export enum ConnectivityType { + PRIVATE = "private", + PUBLIC = "public", +} -/** - *

        Contains the parameters for CreateNetworkInterfacePermission.

        - */ -export interface CreateNetworkInterfacePermissionRequest { +export interface CreateNatGatewayRequest { /** - *

        The ID of the network interface.

        + *

        [Public NAT gateways only] The allocation ID of an Elastic IP address to associate + * with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. + * If the Elastic IP address is associated with another resource, you must first disassociate it.

        */ - NetworkInterfaceId: string | undefined; + AllocationId?: string; /** - *

        The Amazon Web Services account ID.

        + *

        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.

        */ - AwsAccountId?: string; + ClientToken?: string; /** - *

        The Amazon Web 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.

        + *

        The subnet in which to create the NAT gateway.

        */ - Permission: InterfacePermissionType | string | undefined; + 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 tags to assign to the NAT gateway.

        */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; + + /** + *

        Indicates whether the NAT gateway supports public or private connectivity. + * The default is public connectivity.

        + */ + ConnectivityType?: ConnectivityType | string; } -export namespace CreateNetworkInterfacePermissionRequest { +export namespace CreateNatGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateNatGatewayRequest): any => ({ ...obj, }); } -export type NetworkInterfacePermissionStateCode = "granted" | "pending" | "revoked" | "revoking"; - /** - *

        Describes the state of a network interface permission.

        + *

        Describes the IP addresses and network interface associated with a NAT gateway.

        */ -export interface NetworkInterfacePermissionState { +export interface NatGatewayAddress { /** - *

        The state of the permission.

        + *

        [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

        */ - State?: NetworkInterfacePermissionStateCode | string; + AllocationId?: string; /** - *

        A status message, if applicable.

        + *

        The ID of the network interface associated with the NAT gateway.

        */ - StatusMessage?: string; + NetworkInterfaceId?: string; + + /** + *

        The private IP address associated with the NAT gateway.

        + */ + PrivateIp?: string; + + /** + *

        [Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

        + */ + PublicIp?: string; } -export namespace NetworkInterfacePermissionState { +export namespace NatGatewayAddress { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfacePermissionState): any => ({ + export const filterSensitiveLog = (obj: NatGatewayAddress): any => ({ ...obj, }); } /** - *

        Describes a permission for a network interface.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        */ -export interface NetworkInterfacePermission { - /** - *

        The ID of the network interface permission.

        - */ - NetworkInterfacePermissionId?: string; - +export interface ProvisionedBandwidth { /** - *

        The ID of the network interface.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        */ - NetworkInterfaceId?: string; + ProvisionTime?: Date; /** - *

        The Amazon Web Services account ID.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        */ - AwsAccountId?: string; + Provisioned?: string; /** - *

        The Amazon Web Service.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        */ - AwsService?: string; + RequestTime?: Date; /** - *

        The type of permission.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        */ - Permission?: InterfacePermissionType | string; + Requested?: string; /** - *

        Information about the state of the permission.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

        */ - PermissionState?: NetworkInterfacePermissionState; + Status?: string; } -export namespace NetworkInterfacePermission { +export namespace ProvisionedBandwidth { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfacePermission): any => ({ + export const filterSensitiveLog = (obj: ProvisionedBandwidth): any => ({ ...obj, }); } -/** - *

        Contains the output of CreateNetworkInterfacePermission.

        - */ -export interface CreateNetworkInterfacePermissionResult { - /** - *

        Information about the permission for the network interface.

        - */ - InterfacePermission?: NetworkInterfacePermission; -} - -export namespace CreateNetworkInterfacePermissionResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionResult): any => ({ - ...obj, - }); +export enum NatGatewayState { + AVAILABLE = "available", + DELETED = "deleted", + DELETING = "deleting", + FAILED = "failed", + PENDING = "pending", } -export type PlacementStrategy = "cluster" | "partition" | "spread"; - -export interface CreatePlacementGroupRequest { +/** + *

        Describes a NAT gateway.

        + */ +export interface NatGateway { /** - *

        Checks whether you have the required permissions for the action, without 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 NAT gateway was created.

        */ - DryRun?: boolean; + CreateTime?: Date; /** - *

        A name for the placement group. Must be unique within the scope of your account for - * the Region.

        - *

        Constraints: Up to 255 ASCII characters

        + *

        The date and time the NAT gateway was deleted, if applicable.

        */ - GroupName?: string; + DeleteTime?: Date; /** - *

        The placement strategy.

        + *

        If the NAT gateway could not be created, specifies the error code for the failure. + * (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | + * InvalidAllocationID.NotFound | Resource.AlreadyAssociated | + * InternalError | InvalidSubnetID.NotFound)

        */ - Strategy?: PlacementStrategy | string; + FailureCode?: string; /** - *

        The number of partitions. Valid only when Strategy is - * set to partition.

        + *

        If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

        + *
          + *
        • + *

          For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

          + *
        • + *
        • + *

          For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

          + *
        • + *
        • + *

          For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

          + *
        • + *
        • + *

          For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

          + *
        • + *
        • + *

          For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

          + *
        • + *
        • + *

          For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

          + *
        • + *
        */ - PartitionCount?: number; + FailureMessage?: string; /** - *

        The tags to apply to the new placement group.

        + *

        Information about the IP addresses and network interface associated with the NAT gateway.

        */ - TagSpecifications?: TagSpecification[]; -} + NatGatewayAddresses?: NatGatewayAddress[]; -export namespace CreatePlacementGroupRequest { /** - * @internal + *

        The ID of the NAT gateway.

        */ - export const filterSensitiveLog = (obj: CreatePlacementGroupRequest): any => ({ - ...obj, - }); -} - -export type PlacementGroupState = "available" | "deleted" | "deleting" | "pending"; + NatGatewayId?: string; -/** - *

        Describes a placement group.

        - */ -export interface PlacementGroup { /** - *

        The name of the placement group.

        + *

        Reserved. If you need to sustain traffic greater than the documented limits, contact us through + * the Support Center.

        */ - GroupName?: string; + ProvisionedBandwidth?: ProvisionedBandwidth; /** - *

        The state of the placement group.

        + *

        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.

          + *
        • + *
        */ - State?: PlacementGroupState | string; + State?: NatGatewayState | string; /** - *

        The placement strategy.

        + *

        The ID of the subnet in which the NAT gateway is located.

        */ - Strategy?: PlacementStrategy | string; + SubnetId?: string; /** - *

        The number of partitions. Valid only if strategy is - * set to partition.

        + *

        The ID of the VPC in which the NAT gateway is located.

        */ - PartitionCount?: number; + VpcId?: string; /** - *

        The ID of the placement group.

        + *

        The tags for the NAT gateway.

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

        Any tags applied to the placement group.

        + *

        Indicates whether the NAT gateway supports public or private connectivity.

        */ - Tags?: Tag[]; + ConnectivityType?: ConnectivityType | string; } -export namespace PlacementGroup { +export namespace NatGateway { /** * @internal */ - export const filterSensitiveLog = (obj: PlacementGroup): any => ({ + export const filterSensitiveLog = (obj: NatGateway): any => ({ ...obj, }); } -export interface CreatePlacementGroupResult { +export interface CreateNatGatewayResult { /** - *

        Describes a placement group.

        + *

        Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

        */ - PlacementGroup?: PlacementGroup; + ClientToken?: string; + + /** + *

        Information about the NAT gateway.

        + */ + NatGateway?: NatGateway; } -export namespace CreatePlacementGroupResult { +export namespace CreateNatGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreatePlacementGroupResult): any => ({ + export const filterSensitiveLog = (obj: CreateNatGatewayResult): any => ({ ...obj, }); } -export interface CreateReplaceRootVolumeTaskRequest { - /** - *

        The ID of the instance for which to replace the root volume.

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

        The ID of the snapshot from which to restore the replacement root volume. If you want to - * restore the volume to the initial launch state, omit this parameter.

        - */ - SnapshotId?: 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.

        - */ - ClientToken?: string; - +export interface CreateNetworkAclRequest { /** *

        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5869,1325 +6410,1330 @@ export interface CreateReplaceRootVolumeTaskRequest { DryRun?: boolean; /** - *

        The tags to apply to the root volume replacement task.

        + *

        The ID of the VPC.

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

        The tags to assign to the network ACL.

        */ TagSpecifications?: TagSpecification[]; } -export namespace CreateReplaceRootVolumeTaskRequest { +export namespace CreateNetworkAclRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskRequest): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkAclRequest): any => ({ ...obj, }); } -export enum ReplaceRootVolumeTaskState { - failed = "failed", - failed_detached = "failed-detached", - failing = "failing", - in_progress = "in-progress", - pending = "pending", - succeeded = "succeeded", -} - /** - *

        Information about a root volume replacement task.

        + *

        Describes an association between a network ACL and a subnet.

        */ -export interface ReplaceRootVolumeTask { - /** - *

        The ID of the root volume replacement task.

        - */ - ReplaceRootVolumeTaskId?: string; - - /** - *

        The ID of the instance for which the root volume replacement task was created.

        - */ - InstanceId?: string; - - /** - *

        The state of the task. The task can be in one of the following states:

        - *
          - *
        • - *

          - * pending - the replacement volume is being created.

          - *
        • - *
        • - *

          - * in-progress - the original volume is being detached and the - * replacement volume is being attached.

          - *
        • - *
        • - *

          - * succeeded - the replacement volume has been successfully attached - * to the instance and the instance is available.

          - *
        • - *
        • - *

          - * failing - the replacement task is in the process of failing.

          - *
        • - *
        • - *

          - * failed - the replacement task has failed but the original root - * volume is still attached.

          - *
        • - *
        • - *

          - * failing-detached - the replacement task is in the process of failing. - * The instance might have no root volume attached.

          - *
        • - *
        • - *

          - * failed-detached - the replacement task has failed and the instance - * has no root volume attached.

          - *
        • - *
        - */ - TaskState?: ReplaceRootVolumeTaskState | string; - +export interface NetworkAclAssociation { /** - *

        The time the task was started.

        + *

        The ID of the association between a network ACL and a subnet.

        */ - StartTime?: string; + NetworkAclAssociationId?: string; /** - *

        The time the task completed.

        + *

        The ID of the network ACL.

        */ - CompleteTime?: string; + NetworkAclId?: string; /** - *

        The tags assigned to the task.

        + *

        The ID of the subnet.

        */ - Tags?: Tag[]; + SubnetId?: string; } -export namespace ReplaceRootVolumeTask { +export namespace NetworkAclAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRootVolumeTask): any => ({ + export const filterSensitiveLog = (obj: NetworkAclAssociation): any => ({ ...obj, }); } -export interface CreateReplaceRootVolumeTaskResult { +/** + *

        Describes the ICMP type and code.

        + */ +export interface IcmpTypeCode { /** - *

        Information about the root volume replacement task.

        + *

        The ICMP code. A value of -1 means all codes for the specified ICMP type.

        */ - ReplaceRootVolumeTask?: ReplaceRootVolumeTask; + Code?: number; + + /** + *

        The ICMP type. A value of -1 means all types.

        + */ + Type?: number; } -export namespace CreateReplaceRootVolumeTaskResult { +export namespace IcmpTypeCode { /** * @internal */ - export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskResult): any => ({ + export const filterSensitiveLog = (obj: IcmpTypeCode): any => ({ ...obj, }); } +export type RuleAction = "allow" | "deny"; + /** - *

        Describes the price for a Reserved Instance.

        + *

        Describes an entry in a network ACL.

        */ -export interface PriceScheduleSpecification { +export interface NetworkAclEntry { /** - *

        The currency for transacting the Reserved Instance resale. - * At this time, the only supported currency is USD.

        + *

        The IPv4 network range to allow or deny, in CIDR notation.

        */ - CurrencyCode?: CurrencyCodeValues | string; + CidrBlock?: string; /** - *

        The fixed price for the term.

        + *

        Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

        */ - Price?: number; + Egress?: boolean; /** - *

        The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

        + *

        ICMP protocol: The ICMP type and code.

        */ - Term?: number; -} + IcmpTypeCode?: IcmpTypeCode; -export namespace PriceScheduleSpecification { /** - * @internal + *

        The IPv6 network range to allow or deny, in CIDR notation.

        */ - export const filterSensitiveLog = (obj: PriceScheduleSpecification): any => ({ - ...obj, - }); -} - -/** - *

        Contains the parameters for CreateReservedInstancesListing.

        - */ -export interface CreateReservedInstancesListingRequest { + Ipv6CidrBlock?: string; + /** - *

        Unique, case-sensitive identifier you provide to ensure idempotency of your - * listings. This helps avoid duplicate listings. For more information, see - * Ensuring Idempotency.

        + *

        TCP or UDP protocols: The range of ports the rule applies to.

        */ - ClientToken: string | undefined; + PortRange?: PortRange; /** - *

        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.

        + *

        The protocol number. A value of "-1" means all protocols.

        */ - InstanceCount: number | undefined; + Protocol?: string; /** - *

        A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

        + *

        Indicates whether to allow or deny the traffic that matches the rule.

        */ - PriceSchedules: PriceScheduleSpecification[] | undefined; + RuleAction?: RuleAction | string; /** - *

        The ID of the active Standard Reserved Instance.

        + *

        The rule number for the entry. ACL entries are processed in ascending order by rule number.

        */ - ReservedInstancesId: string | undefined; + RuleNumber?: number; } -export namespace CreateReservedInstancesListingRequest { +export namespace NetworkAclEntry { /** * @internal */ - export const filterSensitiveLog = (obj: CreateReservedInstancesListingRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkAclEntry): any => ({ ...obj, }); } /** - *

        Contains the output of CreateReservedInstancesListing.

        + *

        Describes a network ACL.

        */ -export interface CreateReservedInstancesListingResult { +export interface NetworkAcl { /** - *

        Information about the Standard Reserved Instance listing.

        + *

        Any associations between the network ACL and one or more subnets

        */ - ReservedInstancesListings?: ReservedInstancesListing[]; -} + Associations?: NetworkAclAssociation[]; -export namespace CreateReservedInstancesListingResult { /** - * @internal + *

        One or more entries (rules) in the network ACL.

        */ - export const filterSensitiveLog = (obj: CreateReservedInstancesListingResult): any => ({ - ...obj, - }); -} + Entries?: NetworkAclEntry[]; -export interface CreateRestoreImageTaskRequest { /** - *

        The name of the Amazon S3 bucket that contains the stored AMI object.

        + *

        Indicates whether this is the default network ACL for the VPC.

        */ - Bucket: string | undefined; + IsDefault?: boolean; /** - *

        The name of the stored AMI object in the bucket.

        + *

        The ID of the network ACL.

        */ - ObjectKey: string | undefined; + NetworkAclId?: string; /** - *

        The name for the restored AMI. The name must be unique for AMIs in the Region for this - * account. If you do not provide a name, the new AMI gets the same name as the original - * AMI.

        + *

        Any tags assigned to the network ACL.

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

        The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the - * snapshots, or both.

        - *
          - *
        • - *

          To tag the AMI, the value for ResourceType must be image.

          - *
        • - *
        • - *

          To - * tag the snapshots, the value for ResourceType must be snapshot. The - * same tag is applied to all of the snapshots that are created.

          - *
        • - *
        + *

        The ID of the VPC for the network ACL.

        */ - TagSpecifications?: TagSpecification[]; + 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.

        + *

        The ID of the Amazon Web Services account that owns the network ACL.

        */ - DryRun?: boolean; + OwnerId?: string; } -export namespace CreateRestoreImageTaskRequest { +export namespace NetworkAcl { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRestoreImageTaskRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkAcl): any => ({ ...obj, }); } -export interface CreateRestoreImageTaskResult { +export interface CreateNetworkAclResult { /** - *

        The AMI ID.

        + *

        Information about the network ACL.

        */ - ImageId?: string; + NetworkAcl?: NetworkAcl; } -export namespace CreateRestoreImageTaskResult { +export namespace CreateNetworkAclResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRestoreImageTaskResult): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkAclResult): any => ({ ...obj, }); } -export interface CreateRouteRequest { +export interface CreateNetworkAclEntryRequest { /** - *

        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.

        + *

        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.

        */ - DestinationCidrBlock?: string; + CidrBlock?: string; /** - *

        The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - DestinationIpv6CidrBlock?: string; + DryRun?: boolean; /** - *

        The ID of a prefix list used for the destination match.

        + *

        Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

        */ - DestinationPrefixListId?: string; + Egress: boolean | 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; /** - *

        The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

        + *

        The IPv6 network range to allow or deny, in CIDR notation (for example + * 2001:db8:1234:1a00::/64).

        */ - VpcEndpointId?: string; + Ipv6CidrBlock?: string; /** - *

        [IPv6 traffic only] The ID of an egress-only internet gateway.

        + *

        The ID of the network ACL.

        */ - EgressOnlyInternetGatewayId?: string; + NetworkAclId: string | undefined; /** - *

        The ID of an internet gateway or virtual private gateway attached to your - * VPC.

        + *

        TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

        */ - GatewayId?: string; + PortRange?: PortRange; /** - *

        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 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.

        */ - InstanceId?: string; + Protocol: string | undefined; /** - *

        [IPv4 traffic only] The ID of a NAT gateway.

        + *

        Indicates whether to allow or deny the traffic that matches the rule.

        */ - NatGatewayId?: string; + RuleAction: RuleAction | string | undefined; /** - *

        The ID of a transit gateway.

        + *

        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.

        */ - TransitGatewayId?: string; + RuleNumber: number | undefined; +} +export namespace CreateNetworkAclEntryRequest { /** - *

        The ID of the local gateway.

        + * @internal */ - LocalGatewayId?: string; + export const filterSensitiveLog = (obj: CreateNetworkAclEntryRequest): any => ({ + ...obj, + }); +} +export interface CreateNetworkInsightsAccessScopeRequest { /** - *

        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.

        + *

        The paths to match.

        */ - CarrierGatewayId?: string; + MatchPaths?: AccessScopePathRequest[]; /** - *

        The ID of a network interface.

        + *

        The paths to exclude.

        */ - NetworkInterfaceId?: string; + ExcludePaths?: AccessScopePathRequest[]; /** - *

        The ID of the route table for the route.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, + * see How to ensure idempotency.

        */ - RouteTableId: string | undefined; + ClientToken?: string; /** - *

        The ID of a VPC peering connection.

        + *

        The tags to apply.

        */ - VpcPeeringConnectionId?: string; + TagSpecifications?: TagSpecification[]; /** - *

        The Amazon Resource Name (ARN) of the core 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.

        */ - CoreNetworkArn?: string; + DryRun?: boolean; } -export namespace CreateRouteRequest { +export namespace CreateNetworkInsightsAccessScopeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInsightsAccessScopeRequest): any => ({ ...obj, }); } -export interface CreateRouteResult { +/** + *

        Describes a Network Access Scope.

        + */ +export interface NetworkInsightsAccessScope { /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        + *

        The ID of the Network Access Scope.

        */ - Return?: boolean; -} + NetworkInsightsAccessScopeId?: string; -export namespace CreateRouteResult { /** - * @internal + *

        The Amazon Resource Name (ARN) of the Network Access Scope.

        */ - export const filterSensitiveLog = (obj: CreateRouteResult): any => ({ - ...obj, - }); -} + NetworkInsightsAccessScopeArn?: string; -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.

        + *

        The creation date.

        */ - DryRun?: boolean; + CreatedDate?: Date; /** - *

        The ID of the VPC.

        + *

        The last updated date.

        */ - VpcId: string | undefined; + UpdatedDate?: Date; /** - *

        The tags to assign to the route table.

        + *

        The tags.

        */ - TagSpecifications?: TagSpecification[]; + Tags?: Tag[]; } -export namespace CreateRouteTableRequest { +export namespace NetworkInsightsAccessScope { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInsightsAccessScope): any => ({ ...obj, }); } /** - *

        Describes an association between a route table and a subnet or gateway.

        + *

        Describes the Network Access Scope content.

        */ -export interface RouteTableAssociation { +export interface NetworkInsightsAccessScopeContent { /** - *

        Indicates whether this is the main route table.

        + *

        The ID of the Network Access Scope.

        */ - Main?: boolean; + NetworkInsightsAccessScopeId?: string; /** - *

        The ID of the association.

        + *

        The paths to match.

        */ - RouteTableAssociationId?: string; + MatchPaths?: AccessScopePath[]; /** - *

        The ID of the route table.

        + *

        The paths to exclude.

        */ - RouteTableId?: string; + ExcludePaths?: AccessScopePath[]; +} +export namespace NetworkInsightsAccessScopeContent { /** - *

        The ID of the subnet. A subnet ID is not returned for an implicit association.

        + * @internal */ - SubnetId?: string; + export const filterSensitiveLog = (obj: NetworkInsightsAccessScopeContent): any => ({ + ...obj, + }); +} +export interface CreateNetworkInsightsAccessScopeResult { /** - *

        The ID of the internet gateway or virtual private gateway.

        + *

        The Network Access Scope.

        */ - GatewayId?: string; + NetworkInsightsAccessScope?: NetworkInsightsAccessScope; /** - *

        The state of the association.

        + *

        The Network Access Scope content.

        */ - AssociationState?: RouteTableAssociationState; + NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; } -export namespace RouteTableAssociation { +export namespace CreateNetworkInsightsAccessScopeResult { /** * @internal */ - export const filterSensitiveLog = (obj: RouteTableAssociation): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInsightsAccessScopeResult): any => ({ ...obj, }); } -/** - *

        Describes a virtual private gateway propagating route.

        - */ -export interface PropagatingVgw { +export interface CreateNetworkInsightsPathRequest { /** - *

        The ID of the virtual private gateway.

        + *

        The IP address of the Amazon Web Services resource that is the source of the path.

        */ - GatewayId?: string; -} + SourceIp?: string; -export namespace PropagatingVgw { /** - * @internal + *

        The IP address of the Amazon Web Services resource that is the destination of the path.

        */ - export const filterSensitiveLog = (obj: PropagatingVgw): any => ({ - ...obj, - }); -} + DestinationIp?: string; -export type RouteOrigin = "CreateRoute" | "CreateRouteTable" | "EnableVgwRoutePropagation"; + /** + *

        The Amazon Web Services resource that is the source of the path.

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

        The Amazon Web Services resource that is the destination of the path.

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

        The protocol.

        + */ + Protocol: Protocol | string | undefined; -export type RouteState = "active" | "blackhole"; + /** + *

        The destination port.

        + */ + DestinationPort?: number; -/** - *

        Describes a route in a route table.

        - */ -export interface Route { /** - *

        The IPv4 CIDR block used for the destination match.

        + *

        The tags to add to the path.

        */ - DestinationCidrBlock?: string; + TagSpecifications?: TagSpecification[]; /** - *

        The IPv6 CIDR block used for the destination match.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - DestinationIpv6CidrBlock?: string; + DryRun?: boolean; /** - *

        The prefix of the Amazon Web Service.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, + * see How to ensure idempotency.

        */ - DestinationPrefixListId?: string; + ClientToken?: string; +} +export namespace CreateNetworkInsightsPathRequest { /** - *

        The ID of the egress-only internet gateway.

        + * @internal */ - EgressOnlyInternetGatewayId?: string; + export const filterSensitiveLog = (obj: CreateNetworkInsightsPathRequest): any => ({ + ...obj, + }); +} +/** + *

        Describes a path.

        + */ +export interface NetworkInsightsPath { /** - *

        The ID of a gateway attached to your VPC.

        + *

        The ID of the path.

        */ - GatewayId?: string; + NetworkInsightsPathId?: string; /** - *

        The ID of a NAT instance in your VPC.

        + *

        The Amazon Resource Name (ARN) of the path.

        */ - InstanceId?: string; + NetworkInsightsPathArn?: string; /** - *

        The ID of Amazon Web Services account that owns the instance.

        + *

        The time stamp when the path was created.

        */ - InstanceOwnerId?: string; + CreatedDate?: Date; /** - *

        The ID of a NAT gateway.

        + *

        The Amazon Web Services resource that is the source of the path.

        */ - NatGatewayId?: string; + Source?: string; /** - *

        The ID of a transit gateway.

        + *

        The Amazon Web Services resource that is the destination of the path.

        */ - TransitGatewayId?: string; + Destination?: string; /** - *

        The ID of the local gateway.

        + *

        The IP address of the Amazon Web Services resource that is the source of the path.

        */ - LocalGatewayId?: string; + SourceIp?: string; /** - *

        The ID of the carrier gateway.

        + *

        The IP address of the Amazon Web Services resource that is the destination of the path.

        */ - CarrierGatewayId?: string; + DestinationIp?: string; /** - *

        The ID of the network interface.

        + *

        The protocol.

        */ - NetworkInterfaceId?: string; + Protocol?: Protocol | 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 destination port.

        */ - Origin?: RouteOrigin | string; + DestinationPort?: number; /** - *

        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 tags associated with the path.

        */ - State?: RouteState | string; + Tags?: Tag[]; +} +export namespace NetworkInsightsPath { /** - *

        The ID of a VPC peering connection.

        + * @internal */ - VpcPeeringConnectionId?: string; + export const filterSensitiveLog = (obj: NetworkInsightsPath): any => ({ + ...obj, + }); +} +export interface CreateNetworkInsightsPathResult { /** - *

        The Amazon Resource Name (ARN) of the core network.

        + *

        Information about the path.

        */ - CoreNetworkArn?: string; + NetworkInsightsPath?: NetworkInsightsPath; } -export namespace Route { +export namespace CreateNetworkInsightsPathResult { /** * @internal */ - export const filterSensitiveLog = (obj: Route): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInsightsPathResult): any => ({ ...obj, }); } +export type NetworkInterfaceCreationType = "branch" | "efa" | "trunk"; + /** - *

        Describes a route table.

        + *

        Contains the parameters for CreateNetworkInterface.

        */ -export interface RouteTable { +export interface CreateNetworkInterfaceRequest { /** - *

        The associations between the route table and one or more subnets or a gateway.

        + *

        A description for the network interface.

        */ - Associations?: RouteTableAssociation[]; + Description?: string; /** - *

        Any virtual private gateway (VGW) propagating routes.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - PropagatingVgws?: PropagatingVgw[]; + DryRun?: boolean; /** - *

        The ID of the route table.

        + *

        The IDs of one or more security groups.

        */ - RouteTableId?: string; + Groups?: string[]; /** - *

        The routes in the route table.

        + *

        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. If your subnet has the AssignIpv6AddressOnCreation attribute set + * to true, you can specify 0 to override this setting.

        */ - Routes?: Route[]; + Ipv6AddressCount?: number; /** - *

        Any tags assigned to the route table.

        + *

        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.

        */ - Tags?: Tag[]; + Ipv6Addresses?: InstanceIpv6Address[]; /** - *

        The ID of the VPC.

        + *

        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).

        */ - VpcId?: string; + PrivateIpAddress?: string; /** - *

        The ID of the Amazon Web Services account that owns the route table.

        + *

        One or more private IPv4 addresses.

        */ - OwnerId?: string; -} + PrivateIpAddresses?: PrivateIpAddressSpecification[]; -export namespace RouteTable { /** - * @internal + *

        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.

        */ - export const filterSensitiveLog = (obj: RouteTable): any => ({ - ...obj, - }); -} + SecondaryPrivateIpAddressCount?: number; -export interface CreateRouteTableResult { /** - *

        Information about the route table.

        + *

        One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

        */ - RouteTable?: RouteTable; -} + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; -export namespace CreateRouteTableResult { /** - * @internal + *

        The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

        */ - export const filterSensitiveLog = (obj: CreateRouteTableResult): any => ({ - ...obj, - }); -} + Ipv4PrefixCount?: number; -export interface CreateSecurityGroupRequest { /** - *

        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 ._-:/()#,@[]+=&;{}!$*

        + *

        One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

        */ - Description: string | undefined; + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; /** - *

        The name of the security group.

        - *

        Constraints: Up to 255 characters in length. Cannot start with - * sg-.

        - *

        Constraints for EC2-Classic: ASCII characters

        - *

        Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

        + *

        The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv6Prefixes option.

        */ - GroupName: string | undefined; + Ipv6PrefixCount?: number; /** - *

        [EC2-VPC] The ID of the VPC. Required for EC2-VPC.

        + *

        Indicates 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. To create a trunk network interface, specify + * efa. For more information, see + * Network interface trunking in the Amazon Elastic Compute Cloud User Guide.

        */ - VpcId?: string; + InterfaceType?: NetworkInterfaceCreationType | string; /** - *

        The tags to assign to the security group.

        + *

        The ID of the subnet to associate with the network interface.

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

        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.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

        */ - DryRun?: boolean; + ClientToken?: string; } -export namespace CreateSecurityGroupRequest { +export namespace CreateNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSecurityGroupRequest): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface CreateSecurityGroupResult { - /** - *

        The ID of the security group.

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

        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 tags assigned to the security group.

        + *

        The allocation ID.

        */ - Tags?: Tag[]; -} + AllocationId?: string; -export namespace CreateSecurityGroupResult { /** - * @internal + *

        The association ID.

        */ - export const filterSensitiveLog = (obj: CreateSecurityGroupResult): any => ({ - ...obj, - }); -} + AssociationId?: string; -export interface CreateSnapshotRequest { /** - *

        A description for the snapshot.

        + *

        The ID of the Elastic IP address owner.

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

        The Amazon Resource Name (ARN) of the Outpost on which to create a local - * snapshot.

        - *
          - *
        • - *

          To create a snapshot of a volume in a Region, omit this parameter. The snapshot - * is created in the same Region as the volume.

          - *
        • - *
        • - *

          To create a snapshot of a volume on an Outpost and store the snapshot in the - * Region, omit this parameter. The snapshot is created in the Region for the - * Outpost.

          - *
        • - *
        • - *

          To create a snapshot of a volume on an Outpost and store the snapshot on an - * Outpost, specify the ARN of the destination Outpost. The snapshot must be created on - * the same Outpost as the volume.

          - *
        • - *
        - *

        For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

        + *

        The public DNS name.

        */ - OutpostArn?: string; + PublicDnsName?: string; /** - *

        The ID of the Amazon EBS volume.

        + *

        The address of the Elastic IP address bound to the network + * interface.

        */ - VolumeId: string | undefined; + PublicIp?: string; /** - *

        The tags to apply to the snapshot during creation.

        + *

        The customer-owned IP address associated with the network interface.

        */ - TagSpecifications?: TagSpecification[]; + CustomerOwnedIp?: 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 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.

        */ - DryRun?: boolean; + CarrierIp?: string; } -export namespace CreateSnapshotRequest { +export namespace NetworkInterfaceAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSnapshotRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceAssociation): any => ({ ...obj, }); } -export type SnapshotState = "completed" | "error" | "pending" | "recoverable" | "recovering"; - -export enum StorageTier { - archive = "archive", - standard = "standard", -} - /** - *

        Describes a snapshot.

        + *

        Describes a network interface attachment.

        */ -export interface Snapshot { +export interface NetworkInterfaceAttachment { /** - *

        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 timestamp indicating when the attachment initiated.

        */ - DataEncryptionKeyId?: string; + AttachTime?: Date; /** - *

        The description for the snapshot.

        + *

        The ID of the network interface attachment.

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

        Indicates whether the snapshot is encrypted.

        + *

        Indicates whether the network interface is deleted when the instance is terminated.

        */ - Encrypted?: boolean; + DeleteOnTermination?: boolean; /** - *

        The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the - * volume encryption key for the parent volume.

        + *

        The device index of the network interface attachment on the instance.

        */ - KmsKeyId?: string; + DeviceIndex?: number; /** - *

        The ID of the Amazon Web Services account that owns the EBS snapshot.

        + *

        The index of the network card.

        */ - OwnerId?: string; + NetworkCardIndex?: number; /** - *

        The progress of the snapshot, as a percentage.

        + *

        The ID of the instance.

        */ - Progress?: string; + InstanceId?: string; /** - *

        The ID of the snapshot. Each snapshot receives a unique identifier when it is - * created.

        + *

        The Amazon Web Services account ID of the owner of the instance.

        */ - SnapshotId?: string; + InstanceOwnerId?: string; /** - *

        The time stamp when the snapshot was initiated.

        + *

        The attachment state.

        */ - StartTime?: Date; + Status?: AttachmentStatus | string; +} +export namespace NetworkInterfaceAttachment { /** - *

        The snapshot state.

        + * @internal */ - State?: SnapshotState | string; + export const filterSensitiveLog = (obj: NetworkInterfaceAttachment): any => ({ + ...obj, + }); +} +/** + *

        Describes a security group.

        + */ +export interface GroupIdentifier { /** - *

        Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails - * (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error - * state details to help you diagnose why the error occurred. This parameter is only returned by - * DescribeSnapshots.

        + *

        The name of the security group.

        */ - StateMessage?: string; + GroupName?: string; /** - *

        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 ID of the security group.

        */ - VolumeId?: string; + GroupId?: string; +} +export namespace GroupIdentifier { /** - *

        The size of the volume, in GiB.

        + * @internal */ - VolumeSize?: number; + export const filterSensitiveLog = (obj: GroupIdentifier): any => ({ + ...obj, + }); +} + +export type NetworkInterfaceType = "efa" | "interface" | "natGateway" | "trunk"; + +/** + *

        Describes an IPv6 address associated with a network interface.

        + */ +export interface NetworkInterfaceIpv6Address { + /** + *

        The IPv6 address.

        + */ + Ipv6Address?: string; +} +export namespace NetworkInterfaceIpv6Address { /** - *

        The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not - * the user-configured Amazon Web Services account alias set using the IAM console.

        + * @internal */ - OwnerAlias?: string; + export const filterSensitiveLog = (obj: NetworkInterfaceIpv6Address): any => ({ + ...obj, + }); +} +/** + *

        Describes the IPv6 prefix.

        + */ +export interface Ipv6PrefixSpecification { /** - *

        The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the - * Amazon Elastic Compute Cloud User Guide.

        + *

        The IPv6 prefix.

        */ - OutpostArn?: string; + Ipv6Prefix?: string; +} +export namespace Ipv6PrefixSpecification { /** - *

        Any tags assigned to the snapshot.

        + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: Ipv6PrefixSpecification): any => ({ + ...obj, + }); +} +/** + *

        Describes the private IPv4 address of a network interface.

        + */ +export interface NetworkInterfacePrivateIpAddress { /** - *

        The storage tier in which the snapshot is stored. standard indicates - * that the snapshot is stored in the standard snapshot storage tier and that it is ready - * for use. archive indicates that the snapshot is currently archived and that - * it must be restored before it can be used.

        + *

        The association information for an Elastic IP address (IPv4) associated with the network interface.

        */ - StorageTier?: StorageTier | string; + Association?: NetworkInterfaceAssociation; /** - *

        Only for archived snapshots that are temporarily restored. Indicates the date and - * time when a temporarily restored snapshot will be automatically re-archived.

        + *

        Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

        */ - RestoreExpiryTime?: Date; + Primary?: boolean; + + /** + *

        The private DNS name.

        + */ + PrivateDnsName?: string; + + /** + *

        The private IPv4 address.

        + */ + PrivateIpAddress?: string; } -export namespace Snapshot { +export namespace NetworkInterfacePrivateIpAddress { /** * @internal */ - export const filterSensitiveLog = (obj: Snapshot): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfacePrivateIpAddress): any => ({ ...obj, }); } -export type CopyTagsFromSource = "volume"; +export type NetworkInterfaceStatus = "associated" | "attaching" | "available" | "detaching" | "in-use"; /** - *

        The instance details to specify which volumes should be snapshotted.

        + *

        Describes a network interface.

        */ -export interface InstanceSpecification { +export interface NetworkInterface { /** - *

        The instance to specify which volumes should be snapshotted.

        + *

        The association information for an Elastic IP address (IPv4) associated with the network interface.

        */ - InstanceId?: string; + Association?: NetworkInterfaceAssociation; /** - *

        Excludes the root volume from being snapshotted.

        + *

        The network interface attachment.

        */ - ExcludeBootVolume?: boolean; -} + Attachment?: NetworkInterfaceAttachment; -export namespace InstanceSpecification { /** - * @internal + *

        The Availability Zone.

        */ - export const filterSensitiveLog = (obj: InstanceSpecification): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -export interface CreateSnapshotsRequest { /** - *

        A description propagated to every snapshot specified by the instance.

        + *

        A description.

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

        The instance to specify which volumes should be included in the snapshots.

        + *

        Any security groups for the network interface.

        */ - InstanceSpecification: InstanceSpecification | undefined; + Groups?: GroupIdentifier[]; /** - *

        The Amazon Resource Name (ARN) of the Outpost on which to create the local - * snapshots.

        - *
          - *
        • - *

          To create snapshots from an instance in a Region, omit this parameter. The - * snapshots are created in the same Region as the instance.

          - *
        • - *
        • - *

          To create snapshots from an instance on an Outpost and store the snapshots - * in the Region, omit this parameter. The snapshots are created in the Region - * for the Outpost.

          - *
        • - *
        • - *

          To create snapshots from an instance on an Outpost and store the snapshots - * on an Outpost, specify the ARN of the destination Outpost. The snapshots must - * be created on the same Outpost as the instance.

          - *
        • - *
        - *

        For more information, see - * Create multi-volume local snapshots from instances on an Outpost in the - * Amazon Elastic Compute Cloud User Guide.

        + *

        The type of network interface.

        + */ + InterfaceType?: NetworkInterfaceType | string; + + /** + *

        The IPv6 addresses associated with the network interface.

        + */ + Ipv6Addresses?: NetworkInterfaceIpv6Address[]; + + /** + *

        The MAC address.

        + */ + MacAddress?: string; + + /** + *

        The ID of the network interface.

        + */ + NetworkInterfaceId?: string; + + /** + *

        The Amazon Resource Name (ARN) of the Outpost.

        */ OutpostArn?: string; /** - *

        Tags to apply to every snapshot specified by the instance.

        + *

        The Amazon Web Services account ID of the owner of the network interface.

        */ - TagSpecifications?: TagSpecification[]; + OwnerId?: 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 private DNS name.

        */ - DryRun?: boolean; + PrivateDnsName?: string; /** - *

        Copies the tags from the specified volume to corresponding snapshot.

        + *

        The IPv4 address of the network interface within the subnet.

        */ - CopyTagsFromSource?: CopyTagsFromSource | string; -} + PrivateIpAddress?: string; -export namespace CreateSnapshotsRequest { /** - * @internal + *

        The private IPv4 addresses associated with the network interface.

        */ - export const filterSensitiveLog = (obj: CreateSnapshotsRequest): any => ({ - ...obj, - }); -} + PrivateIpAddresses?: NetworkInterfacePrivateIpAddress[]; -/** - *

        Information about a snapshot.

        - */ -export interface SnapshotInfo { /** - *

        Description specified by the CreateSnapshotRequest that has been applied to all - * snapshots.

        + *

        The IPv4 prefixes that are assigned to the network interface.

        */ - Description?: string; + Ipv4Prefixes?: Ipv4PrefixSpecification[]; /** - *

        Tags associated with this snapshot.

        + *

        The IPv6 prefixes that are assigned to the network interface.

        */ - Tags?: Tag[]; + Ipv6Prefixes?: Ipv6PrefixSpecification[]; /** - *

        Indicates whether the snapshot is encrypted.

        + *

        The alias or Amazon Web Services account ID of the principal or service that created the network interface.

        */ - Encrypted?: boolean; + RequesterId?: string; /** - *

        Source volume from which this snapshot was created.

        + *

        Indicates whether the network interface is being managed by Amazon Web Services.

        */ - VolumeId?: string; + RequesterManaged?: boolean; /** - *

        Current state of the snapshot.

        + *

        Indicates whether source/destination checking is enabled.

        */ - State?: SnapshotState | string; + SourceDestCheck?: boolean; /** - *

        Size of the volume from which this snapshot was created.

        + *

        The status of the network interface.

        */ - VolumeSize?: number; + Status?: NetworkInterfaceStatus | string; /** - *

        Time this snapshot was started. This is the same for all snapshots initiated by the - * same request.

        + *

        The ID of the subnet.

        */ - StartTime?: Date; + SubnetId?: string; /** - *

        Progress this snapshot has made towards completing.

        + *

        Any tags assigned to the network interface.

        */ - Progress?: string; + TagSet?: Tag[]; /** - *

        Account id used when creating this snapshot.

        + *

        The ID of the VPC.

        */ - OwnerId?: string; + VpcId?: string; /** - *

        Snapshot id that can be used to describe this snapshot.

        + *

        Indicates whether a network interface with an IPv6 address is unreachable from the + * public internet. If the value is true, inbound traffic from the internet + * is dropped and you cannot assign an elastic IP address to the network interface. The + * network interface is reachable from peered VPCs and resources connected through a + * transit gateway, including on-premises networks.

        */ - SnapshotId?: string; + DenyAllIgwTraffic?: boolean; /** - *

        The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the - * Amazon Elastic Compute Cloud User Guide.

        + *

        Indicates whether this is an IPv6 only network interface.

        */ - OutpostArn?: string; + Ipv6Native?: boolean; + + /** + *

        The IPv6 globally unique address associated with the network interface.

        + */ + Ipv6Address?: string; } -export namespace SnapshotInfo { +export namespace NetworkInterface { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotInfo): any => ({ + export const filterSensitiveLog = (obj: NetworkInterface): any => ({ ...obj, }); } -export interface CreateSnapshotsResult { +/** + *

        Contains the output of CreateNetworkInterface.

        + */ +export interface CreateNetworkInterfaceResult { /** - *

        List of snapshots.

        + *

        Information about the network interface.

        */ - Snapshots?: SnapshotInfo[]; + NetworkInterface?: NetworkInterface; + + /** + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + */ + ClientToken?: string; } -export namespace CreateSnapshotsResult { +export namespace CreateNetworkInterfaceResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSnapshotsResult): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInterfaceResult): any => ({ ...obj, }); } +export type InterfacePermissionType = "EIP-ASSOCIATE" | "INSTANCE-ATTACH"; + /** - *

        Contains the parameters for CreateSpotDatafeedSubscription.

        + *

        Contains the parameters for CreateNetworkInterfacePermission.

        */ -export interface CreateSpotDatafeedSubscriptionRequest { +export interface CreateNetworkInterfacePermissionRequest { /** - *

        The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For - * more information about bucket names, see Rules for bucket - * naming in the Amazon S3 Developer Guide.

        + *

        The ID of the network interface.

        */ - Bucket: string | undefined; + 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.

        + *

        The Amazon Web Services account ID.

        */ - DryRun?: boolean; + AwsAccountId?: string; /** - *

        The prefix for the data feed file names.

        + *

        The Amazon Web Service. Currently not supported.

        */ - Prefix?: string; + AwsService?: string; + + /** + *

        The type of permission to grant.

        + */ + Permission: InterfacePermissionType | 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 CreateSpotDatafeedSubscriptionRequest { +export namespace CreateNetworkInterfacePermissionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionRequest): any => ({ ...obj, }); } +export type NetworkInterfacePermissionStateCode = "granted" | "pending" | "revoked" | "revoking"; + /** - *

        Describes a Spot Instance state change.

        + *

        Describes the state of a network interface permission.

        */ -export interface SpotInstanceStateFault { +export interface NetworkInterfacePermissionState { /** - *

        The reason code for the Spot Instance state change.

        + *

        The state of the permission.

        */ - Code?: string; + State?: NetworkInterfacePermissionStateCode | string; /** - *

        The message for the Spot Instance state change.

        + *

        A status message, if applicable.

        */ - Message?: string; + StatusMessage?: string; } -export namespace SpotInstanceStateFault { +export namespace NetworkInterfacePermissionState { /** * @internal */ - export const filterSensitiveLog = (obj: SpotInstanceStateFault): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfacePermissionState): any => ({ ...obj, }); } -export type DatafeedSubscriptionState = "Active" | "Inactive"; - /** - *

        Describes the data feed for a Spot Instance.

        + *

        Describes a permission for a network interface.

        */ -export interface SpotDatafeedSubscription { +export interface NetworkInterfacePermission { /** - *

        The name of the Amazon S3 bucket where the Spot Instance data feed is located.

        + *

        The ID of the network interface permission.

        */ - Bucket?: string; + NetworkInterfacePermissionId?: string; /** - *

        The fault codes for the Spot Instance request, if any.

        + *

        The ID of the network interface.

        */ - Fault?: SpotInstanceStateFault; + NetworkInterfaceId?: string; /** - *

        The Amazon Web Services account ID of the account.

        + *

        The Amazon Web Services account ID.

        */ - OwnerId?: string; + AwsAccountId?: string; /** - *

        The prefix for the data feed files.

        + *

        The Amazon Web Service.

        */ - Prefix?: string; + AwsService?: string; /** - *

        The state of the Spot Instance data feed subscription.

        + *

        The type of permission.

        */ - State?: DatafeedSubscriptionState | string; + Permission?: InterfacePermissionType | string; + + /** + *

        Information about the state of the permission.

        + */ + PermissionState?: NetworkInterfacePermissionState; } -export namespace SpotDatafeedSubscription { +export namespace NetworkInterfacePermission { /** * @internal */ - export const filterSensitiveLog = (obj: SpotDatafeedSubscription): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfacePermission): any => ({ ...obj, }); } /** - *

        Contains the output of CreateSpotDatafeedSubscription.

        + *

        Contains the output of CreateNetworkInterfacePermission.

        */ -export interface CreateSpotDatafeedSubscriptionResult { +export interface CreateNetworkInterfacePermissionResult { /** - *

        The Spot Instance data feed subscription.

        + *

        Information about the permission for the network interface.

        + */ + InterfacePermission?: NetworkInterfacePermission; +} + +export namespace CreateNetworkInterfacePermissionResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionResult): any => ({ + ...obj, + }); +} + +export type PlacementStrategy = "cluster" | "partition" | "spread"; + +export interface CreatePlacementGroupRequest { + /** + *

        Checks whether you have the required permissions for the action, without 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 name for the placement group. Must be unique within the scope of your account for + * the Region.

        + *

        Constraints: Up to 255 ASCII characters

        + */ + GroupName?: string; + + /** + *

        The placement strategy.

        + */ + Strategy?: PlacementStrategy | string; + + /** + *

        The number of partitions. Valid only when Strategy is + * set to partition.

        + */ + PartitionCount?: number; + + /** + *

        The tags to apply to the new placement group.

        */ - SpotDatafeedSubscription?: SpotDatafeedSubscription; + TagSpecifications?: TagSpecification[]; } -export namespace CreateSpotDatafeedSubscriptionResult { +export namespace CreatePlacementGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionResult): any => ({ + export const filterSensitiveLog = (obj: CreatePlacementGroupRequest): any => ({ ...obj, }); } +export type PlacementGroupState = "available" | "deleted" | "deleting" | "pending"; + /** - *

        The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more - * information, see Categorizing your storage using - * tags in the Amazon Simple Storage Service User Guide.

        + *

        Describes a placement group.

        */ -export interface S3ObjectTag { - /** - *

        The key of the tag.

        - *

        Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in - * length. May not begin with aws:.

        - */ - Key?: string; - +export interface PlacementGroup { /** - *

        The value of the tag.

        - *

        Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in - * length.

        + *

        The name of the placement group.

        */ - Value?: string; -} + GroupName?: string; -export namespace S3ObjectTag { /** - * @internal + *

        The state of the placement group.

        */ - export const filterSensitiveLog = (obj: S3ObjectTag): any => ({ - ...obj, - }); -} + State?: PlacementGroupState | string; -export interface CreateStoreImageTaskRequest { /** - *

        The ID of the AMI.

        + *

        The placement strategy.

        */ - ImageId: string | undefined; + Strategy?: PlacementStrategy | string; /** - *

        The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in - * the Region in which the request is being made. The AMI object appears in the bucket only after - * the upload task has completed.

        + *

        The number of partitions. Valid only if strategy is + * set to partition.

        */ - Bucket: string | undefined; + PartitionCount?: number; /** - *

        The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

        + *

        The ID of the placement group.

        */ - S3ObjectTags?: S3ObjectTag[]; + GroupId?: 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.

        + *

        Any tags applied to the placement group.

        */ - DryRun?: boolean; + Tags?: Tag[]; } -export namespace CreateStoreImageTaskRequest { +export namespace PlacementGroup { /** * @internal */ - export const filterSensitiveLog = (obj: CreateStoreImageTaskRequest): any => ({ + export const filterSensitiveLog = (obj: PlacementGroup): any => ({ ...obj, }); } -export interface CreateStoreImageTaskResult { +export interface CreatePlacementGroupResult { /** - *

        The name of the stored AMI object in the S3 bucket.

        + *

        Describes a placement group.

        */ - ObjectKey?: string; + PlacementGroup?: PlacementGroup; } -export namespace CreateStoreImageTaskResult { +export namespace CreatePlacementGroupResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateStoreImageTaskResult): any => ({ + export const filterSensitiveLog = (obj: CreatePlacementGroupResult): any => ({ ...obj, }); } -export interface CreateSubnetRequest { +export interface CreatePublicIpv4PoolRequest { /** - *

        The tags to assign to the subnet.

        + *

        A check for whether you have the required permissions for the action without 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 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.

        */ TagSpecifications?: TagSpecification[]; +} +export namespace CreatePublicIpv4PoolRequest { /** - *

        The Availability Zone or Local Zone for the subnet.

        - *

        Default: Amazon Web Services 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.

        + * @internal */ - AvailabilityZone?: string; + export const filterSensitiveLog = (obj: CreatePublicIpv4PoolRequest): any => ({ + ...obj, + }); +} +export interface CreatePublicIpv4PoolResult { /** - *

        The AZ ID or the Local Zone ID of the subnet.

        + *

        The ID of the public IPv4 pool.

        */ - AvailabilityZoneId?: string; + PoolId?: string; +} +export namespace CreatePublicIpv4PoolResult { /** - *

        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.

        - *

        This parameter is not supported for an IPv6 only subnet.

        + * @internal */ - CidrBlock?: string; + export const filterSensitiveLog = (obj: CreatePublicIpv4PoolResult): any => ({ + ...obj, + }); +} +export interface CreateReplaceRootVolumeTaskRequest { /** - *

        The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a - * /64 prefix length.

        - *

        This parameter is required for an IPv6 only subnet.

        + *

        The ID of the instance for which to replace the root volume.

        */ - Ipv6CidrBlock?: string; + InstanceId: string | undefined; /** - *

        The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also - * specify the Availability Zone of the Outpost subnet.

        + *

        The ID of the snapshot from which to restore the replacement root volume. If you want to + * restore the volume to the initial launch state, omit this parameter.

        */ - OutpostArn?: string; + SnapshotId?: string; /** - *

        The ID of the VPC.

        + *

        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.

        */ - VpcId: string | undefined; + ClientToken?: string; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -7197,213 +7743,291 @@ export interface CreateSubnetRequest { DryRun?: boolean; /** - *

        Indicates whether to create an IPv6 only subnet.

        + *

        The tags to apply to the root volume replacement task.

        */ - Ipv6Native?: boolean; + TagSpecifications?: TagSpecification[]; } -export namespace CreateSubnetRequest { +export namespace CreateReplaceRootVolumeTaskRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSubnetRequest): any => ({ + export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskRequest): any => ({ ...obj, }); } -export interface CreateSubnetResult { - /** - *

        Information about the subnet.

        - */ - Subnet?: Subnet; +export enum ReplaceRootVolumeTaskState { + failed = "failed", + failed_detached = "failed-detached", + failing = "failing", + in_progress = "in-progress", + pending = "pending", + succeeded = "succeeded", } -export namespace CreateSubnetResult { +/** + *

        Information about a root volume replacement task.

        + */ +export interface ReplaceRootVolumeTask { /** - * @internal + *

        The ID of the root volume replacement task.

        */ - export const filterSensitiveLog = (obj: CreateSubnetResult): any => ({ - ...obj, - }); -} + ReplaceRootVolumeTaskId?: string; -export enum SubnetCidrReservationType { - explicit = "explicit", - prefix = "prefix", -} + /** + *

        The ID of the instance for which the root volume replacement task was created.

        + */ + InstanceId?: string; -export interface CreateSubnetCidrReservationRequest { /** - *

        The tags to assign to the subnet CIDR reservation.

        + *

        The state of the task. The task can be in one of the following states:

        + *
          + *
        • + *

          + * pending - the replacement volume is being created.

          + *
        • + *
        • + *

          + * in-progress - the original volume is being detached and the + * replacement volume is being attached.

          + *
        • + *
        • + *

          + * succeeded - the replacement volume has been successfully attached + * to the instance and the instance is available.

          + *
        • + *
        • + *

          + * failing - the replacement task is in the process of failing.

          + *
        • + *
        • + *

          + * failed - the replacement task has failed but the original root + * volume is still attached.

          + *
        • + *
        • + *

          + * failing-detached - the replacement task is in the process of failing. + * The instance might have no root volume attached.

          + *
        • + *
        • + *

          + * failed-detached - the replacement task has failed and the instance + * has no root volume attached.

          + *
        • + *
        */ - TagSpecifications?: TagSpecification[]; + TaskState?: ReplaceRootVolumeTaskState | string; /** - *

        The ID of the subnet.

        + *

        The time the task was started.

        */ - SubnetId: string | undefined; + StartTime?: string; /** - *

        The IPv4 or IPV6 CIDR range to reserve.

        + *

        The time the task completed.

        */ - Cidr: string | undefined; + CompleteTime?: string; /** - *

        The type of reservation.

        - *

        The following are valid values:

        - *
          - *
        • - *

          - * prefix: The Amazon EC2 - * Prefix - * Delegation feature assigns the IP addresses to network interfaces that are - * associated with an instance. For information about Prefix - * Delegation, - * see Prefix Delegation - * for Amazon EC2 network interfaces in the - * Amazon Elastic Compute Cloud User Guide.

          - *
        • - *
        • - *

          - * explicit: You manually assign the IP addresses to resources that - * reside in your subnet.

          - *
        • - *
        + *

        The tags assigned to the task.

        */ - ReservationType: SubnetCidrReservationType | string | undefined; + Tags?: Tag[]; +} +export namespace ReplaceRootVolumeTask { /** - *

        The - * description - * to assign to the subnet CIDR reservation.

        + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: ReplaceRootVolumeTask): any => ({ + ...obj, + }); +} +export interface CreateReplaceRootVolumeTaskResult { /** - *

        Checks whether you have the required permissions for the action, without 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 root volume replacement task.

        */ - DryRun?: boolean; + ReplaceRootVolumeTask?: ReplaceRootVolumeTask; } -export namespace CreateSubnetCidrReservationRequest { +export namespace CreateReplaceRootVolumeTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSubnetCidrReservationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskResult): any => ({ ...obj, }); } /** - *

        Describes a subnet CIDR reservation.

        + *

        Describes the price for a Reserved Instance.

        */ -export interface SubnetCidrReservation { +export interface PriceScheduleSpecification { /** - *

        The ID of the subnet CIDR reservation.

        + *

        The currency for transacting the Reserved Instance resale. + * At this time, the only supported currency is USD.

        */ - SubnetCidrReservationId?: string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

        The ID of the subnet.

        + *

        The fixed price for the term.

        */ - SubnetId?: string; + Price?: number; /** - *

        The CIDR that has been reserved.

        + *

        The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

        */ - Cidr?: string; + Term?: number; +} +export namespace PriceScheduleSpecification { /** - *

        The type of reservation.

        + * @internal */ - ReservationType?: SubnetCidrReservationType | string; + export const filterSensitiveLog = (obj: PriceScheduleSpecification): any => ({ + ...obj, + }); +} + +/** + *

        Contains the parameters for CreateReservedInstancesListing.

        + */ +export interface CreateReservedInstancesListingRequest { + /** + *

        Unique, case-sensitive identifier you provide to ensure idempotency of your + * listings. This helps avoid duplicate listings. For more information, see + * Ensuring Idempotency.

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

        The ID of the account that owns the subnet CIDR reservation.

        + *

        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.

        */ - OwnerId?: string; + InstanceCount: number | undefined; /** - *

        The - * description - * assigned to the subnet CIDR - * reservation.

        + *

        A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

        */ - Description?: string; + PriceSchedules: PriceScheduleSpecification[] | undefined; /** - *

        The tags assigned to the subnet CIDR reservation.

        + *

        The ID of the active Standard Reserved Instance.

        */ - Tags?: Tag[]; + ReservedInstancesId: string | undefined; } -export namespace SubnetCidrReservation { +export namespace CreateReservedInstancesListingRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SubnetCidrReservation): any => ({ + export const filterSensitiveLog = (obj: CreateReservedInstancesListingRequest): any => ({ ...obj, }); } -export interface CreateSubnetCidrReservationResult { +/** + *

        Contains the output of CreateReservedInstancesListing.

        + */ +export interface CreateReservedInstancesListingResult { /** - *

        Information about the created subnet CIDR reservation.

        + *

        Information about the Standard Reserved Instance listing.

        */ - SubnetCidrReservation?: SubnetCidrReservation; + ReservedInstancesListings?: ReservedInstancesListing[]; } -export namespace CreateSubnetCidrReservationResult { +export namespace CreateReservedInstancesListingResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSubnetCidrReservationResult): any => ({ + export const filterSensitiveLog = (obj: CreateReservedInstancesListingResult): any => ({ ...obj, }); } -export interface CreateTagsRequest { +export interface CreateRestoreImageTaskRequest { + /** + *

        The name of the Amazon S3 bucket that contains the stored AMI object.

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

        The name of the stored AMI object in the bucket.

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

        The name for the restored AMI. The name must be unique for AMIs in the Region for this + * account. If you do not provide a name, the new AMI gets the same name as the original + * AMI.

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

        The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the + * snapshots, or both.

        + *
          + *
        • + *

          To tag the AMI, the value for ResourceType must be image.

          + *
        • + *
        • + *

          To + * tag the snapshots, the value for ResourceType must be snapshot. The + * same tag is applied to all of the snapshots that are created.

          + *
        • + *
        + */ + 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.

        + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; +} +export namespace CreateRestoreImageTaskRequest { /** - *

        The IDs of the resources, separated by spaces.

        - *

        Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

        + * @internal */ - Resources: string[] | undefined; + export const filterSensitiveLog = (obj: CreateRestoreImageTaskRequest): any => ({ + ...obj, + }); +} +export interface CreateRestoreImageTaskResult { /** - *

        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.

        + *

        The AMI ID.

        */ - Tags: Tag[] | undefined; + ImageId?: string; } -export namespace CreateTagsRequest { +export namespace CreateRestoreImageTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTagsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateRestoreImageTaskResult): any => ({ ...obj, }); } -export interface CreateTrafficMirrorFilterRequest { +export interface CreateRouteRequest { /** - *

        The description of the Traffic Mirror filter.

        + *

        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.

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

        The tags to assign to a Traffic Mirror filter.

        + *

        The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

        */ - TagSpecifications?: TagSpecification[]; + DestinationIpv6CidrBlock?: string; + + /** + *

        The ID of a prefix list used for the destination match.

        + */ + DestinationPrefixListId?: string; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -7413,480 +8037,465 @@ export interface CreateTrafficMirrorFilterRequest { DryRun?: boolean; /** - *

        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 a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

        */ - ClientToken?: string; -} + VpcEndpointId?: string; -export namespace CreateTrafficMirrorFilterRequest { /** - * @internal + *

        [IPv6 traffic only] The ID of an egress-only internet gateway.

        */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRequest): any => ({ - ...obj, - }); -} + EgressOnlyInternetGatewayId?: string; -/** - *

        Describes the Traffic Mirror port range.

        - */ -export interface TrafficMirrorPortRange { /** - *

        The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        + *

        The ID of an internet gateway or virtual private gateway attached to your + * VPC.

        */ - FromPort?: number; + GatewayId?: string; /** - *

        The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        + *

        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.

        */ - ToPort?: number; -} + InstanceId?: string; -export namespace TrafficMirrorPortRange { /** - * @internal + *

        [IPv4 traffic only] The ID of a NAT gateway.

        */ - export const filterSensitiveLog = (obj: TrafficMirrorPortRange): any => ({ - ...obj, - }); -} + NatGatewayId?: string; -export type TrafficMirrorRuleAction = "accept" | "reject"; + /** + *

        The ID of a transit gateway.

        + */ + TransitGatewayId?: string; -export type TrafficDirection = "egress" | "ingress"; + /** + *

        The ID of the local gateway.

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

        Describes the Traffic Mirror rule.

        - */ -export interface TrafficMirrorFilterRule { /** - *

        The ID of the Traffic Mirror rule.

        + *

        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.

        */ - TrafficMirrorFilterRuleId?: string; + CarrierGatewayId?: string; /** - *

        The ID of the Traffic Mirror filter that the rule is associated with.

        + *

        The ID of a network interface.

        */ - TrafficMirrorFilterId?: string; + NetworkInterfaceId?: string; /** - *

        The traffic direction assigned to the Traffic Mirror rule.

        + *

        The ID of the route table for the route.

        */ - TrafficDirection?: TrafficDirection | string; + RouteTableId: string | undefined; /** - *

        The rule number of the Traffic Mirror rule.

        + *

        The ID of a VPC peering connection.

        */ - RuleNumber?: number; + VpcPeeringConnectionId?: string; /** - *

        The action assigned to the Traffic Mirror rule.

        + *

        The Amazon Resource Name (ARN) of the core network.

        */ - RuleAction?: TrafficMirrorRuleAction | string; + CoreNetworkArn?: string; +} +export namespace CreateRouteRequest { /** - *

        The protocol assigned to the Traffic Mirror rule.

        + * @internal */ - Protocol?: number; + export const filterSensitiveLog = (obj: CreateRouteRequest): any => ({ + ...obj, + }); +} +export interface CreateRouteResult { /** - *

        The destination port range assigned to the Traffic Mirror rule.

        + *

        Returns true if the request succeeds; otherwise, it returns an error.

        */ - DestinationPortRange?: TrafficMirrorPortRange; + Return?: boolean; +} +export namespace CreateRouteResult { /** - *

        The source port range assigned to the Traffic Mirror rule.

        + * @internal */ - SourcePortRange?: TrafficMirrorPortRange; + export const filterSensitiveLog = (obj: CreateRouteResult): any => ({ + ...obj, + }); +} +export interface CreateRouteTableRequest { /** - *

        The destination CIDR block assigned 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 source CIDR block assigned to the Traffic Mirror rule.

        + *

        The ID of the VPC.

        */ - SourceCidrBlock?: string; + VpcId: string | undefined; /** - *

        The description of the Traffic Mirror rule.

        + *

        The tags to assign to the route table.

        */ - Description?: string; + TagSpecifications?: TagSpecification[]; } -export namespace TrafficMirrorFilterRule { +export namespace CreateRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorFilterRule): any => ({ + export const filterSensitiveLog = (obj: CreateRouteTableRequest): any => ({ ...obj, }); } -export type TrafficMirrorNetworkService = "amazon-dns"; - /** - *

        Describes the Traffic Mirror filter.

        + *

        Describes an association between a route table and a subnet or gateway.

        */ -export interface TrafficMirrorFilter { +export interface RouteTableAssociation { /** - *

        The ID of the Traffic Mirror filter.

        + *

        Indicates whether this is the main route table.

        */ - TrafficMirrorFilterId?: string; + Main?: boolean; /** - *

        Information about the ingress rules that are associated with the Traffic Mirror filter.

        + *

        The ID of the association.

        */ - IngressFilterRules?: TrafficMirrorFilterRule[]; + RouteTableAssociationId?: string; /** - *

        Information about the egress rules that are associated with the Traffic Mirror filter.

        + *

        The ID of the route table.

        */ - EgressFilterRules?: TrafficMirrorFilterRule[]; + RouteTableId?: string; /** - *

        The network service traffic that is associated with the Traffic Mirror filter.

        + *

        The ID of the subnet. A subnet ID is not returned for an implicit association.

        */ - NetworkServices?: (TrafficMirrorNetworkService | string)[]; + SubnetId?: string; /** - *

        The description of the Traffic Mirror filter.

        + *

        The ID of the internet gateway or virtual private gateway.

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

        The tags assigned to the Traffic Mirror filter.

        + *

        The state of the association.

        */ - Tags?: Tag[]; + AssociationState?: RouteTableAssociationState; } -export namespace TrafficMirrorFilter { +export namespace RouteTableAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorFilter): any => ({ + export const filterSensitiveLog = (obj: RouteTableAssociation): any => ({ ...obj, }); } -export interface CreateTrafficMirrorFilterResult { - /** - *

        Information about the Traffic Mirror filter.

        - */ - TrafficMirrorFilter?: TrafficMirrorFilter; - +/** + *

        Describes a virtual private gateway propagating route.

        + */ +export interface PropagatingVgw { /** - *

        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 virtual private gateway.

        */ - ClientToken?: string; + GatewayId?: string; } -export namespace CreateTrafficMirrorFilterResult { +export namespace PropagatingVgw { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterResult): any => ({ + export const filterSensitiveLog = (obj: PropagatingVgw): any => ({ ...obj, }); } -/** - *

        Information about the Traffic Mirror filter rule port range.

        - */ -export interface TrafficMirrorPortRangeRequest { - /** - *

        The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        - */ - FromPort?: number; +export type RouteOrigin = "CreateRoute" | "CreateRouteTable" | "EnableVgwRoutePropagation"; - /** - *

        The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        - */ - ToPort?: number; -} +export type RouteState = "active" | "blackhole"; -export namespace TrafficMirrorPortRangeRequest { +/** + *

        Describes a route in a route table.

        + */ +export interface Route { /** - * @internal + *

        The IPv4 CIDR block used for the destination match.

        */ - export const filterSensitiveLog = (obj: TrafficMirrorPortRangeRequest): any => ({ - ...obj, - }); -} + DestinationCidrBlock?: string; -export interface CreateTrafficMirrorFilterRuleRequest { /** - *

        The ID of the filter that this rule is associated with.

        + *

        The IPv6 CIDR block used for the destination match.

        */ - TrafficMirrorFilterId: string | undefined; + DestinationIpv6CidrBlock?: string; /** - *

        The type of traffic.

        + *

        The prefix of the Amazon Web Service.

        */ - TrafficDirection: TrafficDirection | string | undefined; + DestinationPrefixListId?: 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.

        + *

        The ID of the egress-only internet gateway.

        */ - RuleNumber: number | undefined; + EgressOnlyInternetGatewayId?: string; /** - *

        The action to take on the filtered traffic.

        + *

        The ID of a gateway attached to your VPC.

        */ - RuleAction: TrafficMirrorRuleAction | string | undefined; + GatewayId?: string; /** - *

        The destination port range.

        + *

        The ID of a NAT instance in your VPC.

        */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + InstanceId?: string; /** - *

        The source port range.

        + *

        The ID of Amazon Web Services account that owns the instance.

        */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + InstanceOwnerId?: string; /** - *

        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 ID of a NAT gateway.

        */ - Protocol?: number; + NatGatewayId?: string; /** - *

        The destination CIDR block to assign to the Traffic Mirror rule.

        + *

        The ID of a transit gateway.

        */ - DestinationCidrBlock: string | undefined; + TransitGatewayId?: string; /** - *

        The source CIDR block to assign to the Traffic Mirror rule.

        + *

        The ID of the local gateway.

        */ - SourceCidrBlock: string | undefined; + LocalGatewayId?: string; /** - *

        The description of the Traffic Mirror rule.

        + *

        The ID of the carrier gateway.

        */ - Description?: string; + CarrierGatewayId?: 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 network interface.

        */ - DryRun?: boolean; + NetworkInterfaceId?: string; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

        + *

        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.

          + *
        • + *
        */ - ClientToken?: string; -} + Origin?: RouteOrigin | string; -export namespace CreateTrafficMirrorFilterRuleRequest { /** - * @internal + *

        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).

        */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleRequest): any => ({ - ...obj, - }); -} + State?: RouteState | string; -export interface CreateTrafficMirrorFilterRuleResult { /** - *

        The Traffic Mirror rule.

        + *

        The ID of a VPC peering connection.

        */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule; + VpcPeeringConnectionId?: string; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

        + *

        The Amazon Resource Name (ARN) of the core network.

        */ - ClientToken?: string; + CoreNetworkArn?: string; } -export namespace CreateTrafficMirrorFilterRuleResult { +export namespace Route { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleResult): any => ({ + export const filterSensitiveLog = (obj: Route): any => ({ ...obj, }); } -export interface CreateTrafficMirrorSessionRequest { - /** - *

        The ID of the source network interface.

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

        The ID of the Traffic Mirror target.

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

        The ID of the Traffic Mirror filter.

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

        Describes a route table.

        + */ +export interface RouteTable { /** - *

        The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do - * not specify this parameter when you want to mirror the entire packet. To mirror a subset of - * the packet, set this to the length (in bytes) that you want 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.

        - *

        If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

        + *

        The associations between the route table and one or more subnets or a gateway.

        */ - PacketLength?: number; + Associations?: RouteTableAssociation[]; /** - *

        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.

        + *

        Any virtual private gateway (VGW) propagating routes.

        */ - SessionNumber: number | undefined; + PropagatingVgws?: PropagatingVgw[]; /** - *

        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 ID of the route table.

        */ - VirtualNetworkId?: number; + RouteTableId?: string; /** - *

        The description of the Traffic Mirror session.

        + *

        The routes in the route table.

        */ - Description?: string; + Routes?: Route[]; /** - *

        The tags to assign to a Traffic Mirror session.

        + *

        Any tags assigned to the route table.

        */ - TagSpecifications?: TagSpecification[]; + Tags?: Tag[]; /** - *

        Checks whether you have the required permissions for the action, without 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 VPC.

        */ - DryRun?: boolean; + VpcId?: 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 Amazon Web Services account that owns the route table.

        */ - ClientToken?: string; + OwnerId?: string; } -export namespace CreateTrafficMirrorSessionRequest { +export namespace RouteTable { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionRequest): any => ({ - ...obj, - }); -} - -/** - *

        Describes a Traffic Mirror session.

        - */ -export interface TrafficMirrorSession { - /** - *

        The ID for the Traffic Mirror session.

        - */ - TrafficMirrorSessionId?: string; - - /** - *

        The ID of the Traffic Mirror target.

        - */ - TrafficMirrorTargetId?: string; - - /** - *

        The ID of the Traffic Mirror filter.

        - */ - TrafficMirrorFilterId?: string; + export const filterSensitiveLog = (obj: RouteTable): any => ({ + ...obj, + }); +} +export interface CreateRouteTableResult { /** - *

        The ID of the Traffic Mirror session's network interface.

        + *

        Information about the route table.

        */ - NetworkInterfaceId?: string; + RouteTable?: RouteTable; +} +export namespace CreateRouteTableResult { /** - *

        The ID of the account that owns the Traffic Mirror session.

        + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: CreateRouteTableResult): any => ({ + ...obj, + }); +} +export interface CreateSecurityGroupRequest { /** - *

        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

        + *

        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 ._-:/()#,@[]+=&;{}!$*

        */ - PacketLength?: number; + Description: string | undefined; /** - *

        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 name of the security group.

        + *

        Constraints: Up to 255 characters in length. Cannot start with + * sg-.

        + *

        Constraints for EC2-Classic: ASCII characters

        + *

        Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

        */ - SessionNumber?: number; + GroupName: string | undefined; /** - *

        The virtual network ID associated with the Traffic Mirror session.

        + *

        [EC2-VPC] The ID of the VPC. Required for EC2-VPC.

        */ - VirtualNetworkId?: number; + VpcId?: string; /** - *

        The description of the Traffic Mirror session.

        + *

        The tags to assign to the security group.

        */ - Description?: string; + TagSpecifications?: TagSpecification[]; /** - *

        The tags assigned to the Traffic Mirror session.

        + *

        Checks whether you have the required permissions for the action, without 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; } -export namespace TrafficMirrorSession { +export namespace CreateSecurityGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorSession): any => ({ + export const filterSensitiveLog = (obj: CreateSecurityGroupRequest): any => ({ ...obj, }); } -export interface CreateTrafficMirrorSessionResult { +export interface CreateSecurityGroupResult { /** - *

        Information about the Traffic Mirror session.

        + *

        The ID of the security group.

        */ - TrafficMirrorSession?: TrafficMirrorSession; + GroupId?: 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 assigned to the security group.

        */ - ClientToken?: string; + Tags?: Tag[]; } -export namespace CreateTrafficMirrorSessionResult { +export namespace CreateSecurityGroupResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionResult): any => ({ + export const filterSensitiveLog = (obj: CreateSecurityGroupResult): any => ({ ...obj, }); } -export interface CreateTrafficMirrorTargetRequest { +export interface CreateSnapshotRequest { /** - *

        The network interface ID that is associated with the target.

        + *

        A description for the snapshot.

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

        The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

        + *

        The Amazon Resource Name (ARN) of the Outpost on which to create a local + * snapshot.

        + *
          + *
        • + *

          To create a snapshot of a volume in a Region, omit this parameter. The snapshot + * is created in the same Region as the volume.

          + *
        • + *
        • + *

          To create a snapshot of a volume on an Outpost and store the snapshot in the + * Region, omit this parameter. The snapshot is created in the Region for the + * Outpost.

          + *
        • + *
        • + *

          To create a snapshot of a volume on an Outpost and store the snapshot on an + * Outpost, specify the ARN of the destination Outpost. The snapshot must be created on + * the same Outpost as the volume.

          + *
        • + *
        + *

        For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

        */ - NetworkLoadBalancerArn?: string; + OutpostArn?: string; /** - *

        The description of the Traffic Mirror target.

        + *

        The ID of the Amazon EBS volume.

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

        The tags to assign to the Traffic Mirror target.

        + *

        The tags to apply to the snapshot during creation.

        */ TagSpecifications?: TagSpecification[]; @@ -7896,172 +8505,203 @@ export interface CreateTrafficMirrorTargetRequest { * 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 CreateTrafficMirrorTargetRequest { +export namespace CreateSnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSnapshotRequest): any => ({ ...obj, }); } -export type TrafficMirrorTargetType = "network-interface" | "network-load-balancer"; +export type SnapshotState = "completed" | "error" | "pending" | "recoverable" | "recovering"; + +export enum StorageTier { + archive = "archive", + standard = "standard", +} /** - *

        Describes a Traffic Mirror target.

        + *

        Describes a snapshot.

        */ -export interface TrafficMirrorTarget { +export interface Snapshot { /** - *

        The ID of the Traffic Mirror target.

        + *

        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.

        */ - TrafficMirrorTargetId?: string; + DataEncryptionKeyId?: string; /** - *

        The network interface ID that is attached to the target.

        + *

        The description for the snapshot.

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

        The Amazon Resource Name (ARN) of the Network Load Balancer.

        + *

        Indicates whether the snapshot is encrypted.

        */ - NetworkLoadBalancerArn?: string; + Encrypted?: boolean; /** - *

        The type of Traffic Mirror target.

        + *

        The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the + * volume encryption key for the parent volume.

        */ - Type?: TrafficMirrorTargetType | string; + KmsKeyId?: string; /** - *

        Information about the Traffic Mirror target.

        + *

        The ID of the Amazon Web Services account that owns the EBS snapshot.

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

        The ID of the account that owns the Traffic Mirror target.

        + *

        The progress of the snapshot, as a percentage.

        */ - OwnerId?: string; + Progress?: string; /** - *

        The tags assigned to the Traffic Mirror target.

        + *

        The ID of the snapshot. Each snapshot receives a unique identifier when it is + * created.

        */ - Tags?: Tag[]; -} + SnapshotId?: string; -export namespace TrafficMirrorTarget { /** - * @internal + *

        The time stamp when the snapshot was initiated.

        */ - export const filterSensitiveLog = (obj: TrafficMirrorTarget): any => ({ - ...obj, - }); -} + StartTime?: Date; -export interface CreateTrafficMirrorTargetResult { /** - *

        Information about the Traffic Mirror target.

        + *

        The snapshot state.

        */ - TrafficMirrorTarget?: TrafficMirrorTarget; + State?: SnapshotState | string; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

        + *

        Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails + * (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error + * state details to help you diagnose why the error occurred. This parameter is only returned by + * DescribeSnapshots.

        */ - ClientToken?: string; -} + StateMessage?: string; -export namespace CreateTrafficMirrorTargetResult { /** - * @internal + *

        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.

        */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetResult): any => ({ - ...obj, - }); -} - -export type AutoAcceptSharedAttachmentsValue = "disable" | "enable"; - -export type DefaultRouteTableAssociationValue = "disable" | "enable"; - -export type DefaultRouteTablePropagationValue = "disable" | "enable"; - -export type MulticastSupportValue = "disable" | "enable"; + VolumeId?: string; -export type VpnEcmpSupportValue = "disable" | "enable"; + /** + *

        The size of the volume, in GiB.

        + */ + VolumeSize?: number; -/** - *

        Describes the options for a transit gateway.

        - */ -export interface TransitGatewayRequestOptions { /** - *

        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.

        + *

        The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not + * the user-configured Amazon Web Services account alias set using the IAM console.

        */ - AmazonSideAsn?: number; + OwnerAlias?: string; /** - *

        Enable or disable automatic acceptance of attachment requests. Disabled by default.

        + *

        The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the + * Amazon Elastic Compute Cloud User Guide.

        */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + OutpostArn?: string; /** - *

        Enable or disable automatic association with the default association route table. Enabled by default.

        + *

        Any tags assigned to the snapshot.

        */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + Tags?: Tag[]; /** - *

        Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

        + *

        The storage tier in which the snapshot is stored. standard indicates + * that the snapshot is stored in the standard snapshot storage tier and that it is ready + * for use. archive indicates that the snapshot is currently archived and that + * it must be restored before it can be used.

        */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + StorageTier?: StorageTier | string; /** - *

        Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

        + *

        Only for archived snapshots that are temporarily restored. Indicates the date and + * time when a temporarily restored snapshot will be automatically re-archived.

        */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + RestoreExpiryTime?: Date; +} +export namespace Snapshot { /** - *

        Enable or disable DNS support. Enabled by default.

        + * @internal */ - DnsSupport?: DnsSupportValue | string; + export const filterSensitiveLog = (obj: Snapshot): any => ({ + ...obj, + }); +} + +export type CopyTagsFromSource = "volume"; +/** + *

        The instance details to specify which volumes should be snapshotted.

        + */ +export interface InstanceSpecification { /** - *

        Indicates whether multicast is enabled on the transit gateway

        + *

        The instance to specify which volumes should be snapshotted.

        */ - MulticastSupport?: MulticastSupportValue | string; + InstanceId?: string; /** - *

        One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

        + *

        Excludes the root volume from being snapshotted.

        */ - TransitGatewayCidrBlocks?: string[]; + ExcludeBootVolume?: boolean; } -export namespace TransitGatewayRequestOptions { +export namespace InstanceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRequestOptions): any => ({ + export const filterSensitiveLog = (obj: InstanceSpecification): any => ({ ...obj, }); } -export interface CreateTransitGatewayRequest { +export interface CreateSnapshotsRequest { /** - *

        A description of the transit gateway.

        + *

        A description propagated to every snapshot specified by the instance.

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

        The transit gateway options.

        + *

        The instance to specify which volumes should be included in the snapshots.

        */ - Options?: TransitGatewayRequestOptions; + InstanceSpecification: InstanceSpecification | undefined; /** - *

        The tags to apply to the transit gateway.

        + *

        The Amazon Resource Name (ARN) of the Outpost on which to create the local + * snapshots.

        + *
          + *
        • + *

          To create snapshots from an instance in a Region, omit this parameter. The + * snapshots are created in the same Region as the instance.

          + *
        • + *
        • + *

          To create snapshots from an instance on an Outpost and store the snapshots + * in the Region, omit this parameter. The snapshots are created in the Region + * for the Outpost.

          + *
        • + *
        • + *

          To create snapshots from an instance on an Outpost and store the snapshots + * on an Outpost, specify the ARN of the destination Outpost. The snapshots must + * be created on the same Outpost as the instance.

          + *
        • + *
        + *

        For more information, see + * Create multi-volume local snapshots from instances on an Outpost in the + * Amazon Elastic Compute Cloud User Guide.

        + */ + OutpostArn?: string; + + /** + *

        Tags to apply to every snapshot specified by the instance.

        */ TagSpecifications?: TagSpecification[]; @@ -8071,347 +8711,357 @@ export interface CreateTransitGatewayRequest { * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; + + /** + *

        Copies the tags from the specified volume to corresponding snapshot.

        + */ + CopyTagsFromSource?: CopyTagsFromSource | string; } -export namespace CreateTransitGatewayRequest { +export namespace CreateSnapshotsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSnapshotsRequest): any => ({ ...obj, }); } /** - *

        Describes the options for a transit gateway.

        + *

        Information about a snapshot.

        */ -export interface TransitGatewayOptions { +export interface SnapshotInfo { /** - *

        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.

        + *

        Description specified by the CreateSnapshotRequest that has been applied to all + * snapshots.

        */ - AmazonSideAsn?: number; + Description?: string; /** - *

        The transit gateway CIDR blocks.

        + *

        Tags associated with this snapshot.

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

        Indicates whether attachment requests are automatically accepted.

        + *

        Indicates whether the snapshot is encrypted.

        */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + Encrypted?: boolean; /** - *

        Indicates whether resource attachments are automatically associated with the default association route table.

        + *

        Source volume from which this snapshot was created.

        */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + VolumeId?: string; /** - *

        The ID of the default association route table.

        + *

        Current state of the snapshot.

        */ - AssociationDefaultRouteTableId?: string; + State?: SnapshotState | string; /** - *

        Indicates whether resource attachments automatically propagate routes to the default propagation route table.

        + *

        Size of the volume from which this snapshot was created.

        */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + VolumeSize?: number; /** - *

        The ID of the default propagation route table.

        + *

        Time this snapshot was started. This is the same for all snapshots initiated by the + * same request.

        */ - PropagationDefaultRouteTableId?: string; + StartTime?: Date; /** - *

        Indicates whether Equal Cost Multipath Protocol support is enabled.

        + *

        Progress this snapshot has made towards completing.

        */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + Progress?: string; /** - *

        Indicates whether DNS support is enabled.

        + *

        Account id used when creating this snapshot.

        */ - DnsSupport?: DnsSupportValue | string; + OwnerId?: string; /** - *

        Indicates whether multicast is enabled on the transit gateway

        + *

        Snapshot id that can be used to describe this snapshot.

        */ - MulticastSupport?: MulticastSupportValue | string; + SnapshotId?: string; + + /** + *

        The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the + * Amazon Elastic Compute Cloud User Guide.

        + */ + OutpostArn?: string; } -export namespace TransitGatewayOptions { +export namespace SnapshotInfo { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayOptions): any => ({ + export const filterSensitiveLog = (obj: SnapshotInfo): any => ({ ...obj, }); } -export type TransitGatewayState = "available" | "deleted" | "deleting" | "modifying" | "pending"; - -/** - *

        Describes a transit gateway.

        - */ -export interface TransitGateway { - /** - *

        The ID of the transit gateway.

        - */ - TransitGatewayId?: string; - - /** - *

        The Amazon Resource Name (ARN) of the transit gateway.

        - */ - TransitGatewayArn?: string; - - /** - *

        The state of the transit gateway.

        - */ - State?: TransitGatewayState | string; - +export interface CreateSnapshotsResult { /** - *

        The ID of the Amazon Web Services account that owns the transit gateway.

        + *

        List of snapshots.

        */ - OwnerId?: string; + Snapshots?: SnapshotInfo[]; +} +export namespace CreateSnapshotsResult { /** - *

        The description of the transit gateway.

        + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: CreateSnapshotsResult): any => ({ + ...obj, + }); +} +/** + *

        Contains the parameters for CreateSpotDatafeedSubscription.

        + */ +export interface CreateSpotDatafeedSubscriptionRequest { /** - *

        The creation time.

        + *

        The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For + * more information about bucket names, see Rules for bucket + * naming in the Amazon S3 Developer Guide.

        */ - CreationTime?: Date; + Bucket: string | undefined; /** - *

        The transit gateway options.

        + *

        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

        */ - Options?: TransitGatewayOptions; + DryRun?: boolean; /** - *

        The tags for the transit gateway.

        + *

        The prefix for the data feed file names.

        */ - Tags?: Tag[]; + Prefix?: string; } -export namespace TransitGateway { +export namespace CreateSpotDatafeedSubscriptionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGateway): any => ({ + export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayResult { +/** + *

        Describes a Spot Instance state change.

        + */ +export interface SpotInstanceStateFault { /** - *

        Information about the transit gateway.

        + *

        The reason code for the Spot Instance state change.

        */ - TransitGateway?: TransitGateway; + Code?: string; + + /** + *

        The message for the Spot Instance state change.

        + */ + Message?: string; } -export namespace CreateTransitGatewayResult { +export namespace SpotInstanceStateFault { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayResult): any => ({ + export const filterSensitiveLog = (obj: SpotInstanceStateFault): any => ({ ...obj, }); } -export type ProtocolValue = "gre"; +export type DatafeedSubscriptionState = "Active" | "Inactive"; /** - *

        The options for a Connect attachment.

        + *

        Describes the data feed for a Spot Instance.

        */ -export interface CreateTransitGatewayConnectRequestOptions { - /** - *

        The tunnel protocol.

        - */ - Protocol: ProtocolValue | string | undefined; -} - -export namespace CreateTransitGatewayConnectRequestOptions { +export interface SpotDatafeedSubscription { /** - * @internal + *

        The name of the Amazon S3 bucket where the Spot Instance data feed is located.

        */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequestOptions): any => ({ - ...obj, - }); -} + Bucket?: string; -export interface CreateTransitGatewayConnectRequest { /** - *

        The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

        + *

        The fault codes for the Spot Instance request, if any.

        */ - TransportTransitGatewayAttachmentId: string | undefined; + Fault?: SpotInstanceStateFault; /** - *

        The Connect attachment options.

        + *

        The Amazon Web Services account ID of the account.

        */ - Options: CreateTransitGatewayConnectRequestOptions | undefined; + OwnerId?: string; /** - *

        The tags to apply to the Connect attachment.

        + *

        The prefix for the data feed files.

        */ - TagSpecifications?: TagSpecification[]; + Prefix?: 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 state of the Spot Instance data feed subscription.

        */ - DryRun?: boolean; + State?: DatafeedSubscriptionState | string; } -export namespace CreateTransitGatewayConnectRequest { +export namespace SpotDatafeedSubscription { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequest): any => ({ + export const filterSensitiveLog = (obj: SpotDatafeedSubscription): any => ({ ...obj, }); } /** - *

        Describes the Connect attachment options.

        + *

        Contains the output of CreateSpotDatafeedSubscription.

        */ -export interface TransitGatewayConnectOptions { +export interface CreateSpotDatafeedSubscriptionResult { /** - *

        The tunnel protocol.

        + *

        The Spot Instance data feed subscription.

        */ - Protocol?: ProtocolValue | string; + SpotDatafeedSubscription?: SpotDatafeedSubscription; } -export namespace TransitGatewayConnectOptions { +export namespace CreateSpotDatafeedSubscriptionResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayConnectOptions): any => ({ + export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionResult): any => ({ ...obj, }); } /** - *

        Describes a transit gateway Connect attachment.

        + *

        The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more + * information, see Categorizing your storage using + * tags in the Amazon Simple Storage Service User Guide.

        */ -export interface TransitGatewayConnect { +export interface S3ObjectTag { /** - *

        The ID of the Connect attachment.

        + *

        The key of the tag.

        + *

        Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in + * length. May not begin with aws:.

        */ - TransitGatewayAttachmentId?: string; + Key?: string; /** - *

        The ID of the attachment from which the Connect attachment was created.

        + *

        The value of the tag.

        + *

        Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in + * length.

        */ - TransportTransitGatewayAttachmentId?: string; + Value?: string; +} +export namespace S3ObjectTag { /** - *

        The ID of the transit gateway.

        + * @internal */ - TransitGatewayId?: string; + export const filterSensitiveLog = (obj: S3ObjectTag): any => ({ + ...obj, + }); +} +export interface CreateStoreImageTaskRequest { /** - *

        The state of the attachment.

        + *

        The ID of the AMI.

        */ - State?: TransitGatewayAttachmentState | string; + ImageId: string | undefined; /** - *

        The creation time.

        + *

        The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in + * the Region in which the request is being made. The AMI object appears in the bucket only after + * the upload task has completed.

        */ - CreationTime?: Date; + Bucket: string | undefined; /** - *

        The Connect attachment options.

        + *

        The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

        */ - Options?: TransitGatewayConnectOptions; + S3ObjectTags?: S3ObjectTag[]; /** - *

        The tags for the 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.

        */ - Tags?: Tag[]; + DryRun?: boolean; } -export namespace TransitGatewayConnect { +export namespace CreateStoreImageTaskRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayConnect): any => ({ + export const filterSensitiveLog = (obj: CreateStoreImageTaskRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayConnectResult { +export interface CreateStoreImageTaskResult { /** - *

        Information about the Connect attachment.

        + *

        The name of the stored AMI object in the S3 bucket.

        */ - TransitGatewayConnect?: TransitGatewayConnect; + ObjectKey?: string; } -export namespace CreateTransitGatewayConnectResult { +export namespace CreateStoreImageTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectResult): any => ({ + export const filterSensitiveLog = (obj: CreateStoreImageTaskResult): any => ({ ...obj, }); } -/** - *

        The BGP options for the Connect attachment.

        - */ -export interface TransitGatewayConnectRequestBgpOptions { - /** - *

        The peer Autonomous System Number (ASN).

        - */ - PeerAsn?: number; -} - -export namespace TransitGatewayConnectRequestBgpOptions { +export interface CreateSubnetRequest { /** - * @internal + *

        The tags to assign to the subnet.

        */ - export const filterSensitiveLog = (obj: TransitGatewayConnectRequestBgpOptions): any => ({ - ...obj, - }); -} + TagSpecifications?: TagSpecification[]; -export interface CreateTransitGatewayConnectPeerRequest { /** - *

        The ID of the Connect attachment.

        + *

        The Availability Zone or Local Zone for the subnet.

        + *

        Default: Amazon Web Services 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.

        */ - TransitGatewayAttachmentId: string | undefined; + AvailabilityZone?: string; /** - *

        The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be - * specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns - * the first available IP address from the transit gateway CIDR block.

        + *

        The AZ ID or the Local Zone ID of the subnet.

        */ - TransitGatewayAddress?: string; + AvailabilityZoneId?: string; /** - *

        The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

        + *

        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.

        + *

        This parameter is not supported for an IPv6 only subnet.

        */ - PeerAddress: string | undefined; + CidrBlock?: string; /** - *

        The BGP options for the Connect peer.

        + *

        The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a + * /64 prefix length.

        + *

        This parameter is required for an IPv6 only subnet.

        */ - BgpOptions?: TransitGatewayConnectRequestBgpOptions; + Ipv6CidrBlock?: string; /** - *

        The range of inside IP addresses that are used for BGP peering. You must specify a - * size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address - * from the range must be configured on the appliance as the BGP IP address. You can also - * optionally specify a size /125 IPv6 CIDR block from the fd00::/8 - * range.

        + *

        The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also + * specify the Availability Zone of the Outpost subnet.

        */ - InsideCidrBlocks: string[] | undefined; + OutpostArn?: string; /** - *

        The tags to apply to the Connect peer.

        + *

        The ID of the VPC.

        */ - TagSpecifications?: TagSpecification[]; + VpcId: string | undefined; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -8419,207 +9069,213 @@ export interface CreateTransitGatewayConnectPeerRequest { * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; + + /** + *

        Indicates whether to create an IPv6 only subnet.

        + */ + Ipv6Native?: boolean; } -export namespace CreateTransitGatewayConnectPeerRequest { +export namespace CreateSubnetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSubnetRequest): any => ({ ...obj, }); } -export type BgpStatus = "down" | "up"; - -/** - *

        The BGP configuration information.

        - */ -export interface TransitGatewayAttachmentBgpConfiguration { - /** - *

        The transit gateway Autonomous System Number (ASN).

        - */ - TransitGatewayAsn?: number; - - /** - *

        The peer Autonomous System Number (ASN).

        - */ - PeerAsn?: number; - - /** - *

        The interior BGP peer IP address for the transit gateway.

        - */ - TransitGatewayAddress?: string; - - /** - *

        The interior BGP peer IP address for the appliance.

        - */ - PeerAddress?: string; - +export interface CreateSubnetResult { /** - *

        The BGP status.

        + *

        Information about the subnet.

        */ - BgpStatus?: BgpStatus | string; + Subnet?: Subnet; } -export namespace TransitGatewayAttachmentBgpConfiguration { +export namespace CreateSubnetResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentBgpConfiguration): any => ({ + export const filterSensitiveLog = (obj: CreateSubnetResult): any => ({ ...obj, }); } -/** - *

        Describes the Connect peer details.

        - */ -export interface TransitGatewayConnectPeerConfiguration { +export enum SubnetCidrReservationType { + explicit = "explicit", + prefix = "prefix", +} + +export interface CreateSubnetCidrReservationRequest { /** - *

        The Connect peer IP address on the transit gateway side of the tunnel.

        + *

        The tags to assign to the subnet CIDR reservation.

        */ - TransitGatewayAddress?: string; + TagSpecifications?: TagSpecification[]; /** - *

        The Connect peer IP address on the appliance side of the tunnel.

        + *

        The ID of the subnet.

        */ - PeerAddress?: string; + SubnetId: string | undefined; /** - *

        The range of interior BGP peer IP addresses.

        + *

        The IPv4 or IPV6 CIDR range to reserve.

        */ - InsideCidrBlocks?: string[]; + Cidr: string | undefined; /** - *

        The tunnel protocol.

        + *

        The type of reservation.

        + *

        The following are valid values:

        + *
          + *
        • + *

          + * prefix: The Amazon EC2 + * Prefix + * Delegation feature assigns the IP addresses to network interfaces that are + * associated with an instance. For information about Prefix + * Delegation, + * see Prefix Delegation + * for Amazon EC2 network interfaces in the + * Amazon Elastic Compute Cloud User Guide.

          + *
        • + *
        • + *

          + * explicit: You manually assign the IP addresses to resources that + * reside in your subnet.

          + *
        • + *
        */ - Protocol?: ProtocolValue | string; + ReservationType: SubnetCidrReservationType | string | undefined; + + /** + *

        The + * description + * to assign to the subnet CIDR reservation.

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

        The BGP configuration details.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - BgpConfigurations?: TransitGatewayAttachmentBgpConfiguration[]; + DryRun?: boolean; } -export namespace TransitGatewayConnectPeerConfiguration { +export namespace CreateSubnetCidrReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayConnectPeerConfiguration): any => ({ + export const filterSensitiveLog = (obj: CreateSubnetCidrReservationRequest): any => ({ ...obj, }); } -export type TransitGatewayConnectPeerState = "available" | "deleted" | "deleting" | "pending"; - /** - *

        Describes a transit gateway Connect peer.

        + *

        Describes a subnet CIDR reservation.

        */ -export interface TransitGatewayConnectPeer { +export interface SubnetCidrReservation { /** - *

        The ID of the Connect attachment.

        + *

        The ID of the subnet CIDR reservation.

        */ - TransitGatewayAttachmentId?: string; + SubnetCidrReservationId?: string; + + /** + *

        The ID of the subnet.

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

        The ID of the Connect peer.

        + *

        The CIDR that has been reserved.

        */ - TransitGatewayConnectPeerId?: string; + Cidr?: string; /** - *

        The state of the Connect peer.

        + *

        The type of reservation.

        */ - State?: TransitGatewayConnectPeerState | string; + ReservationType?: SubnetCidrReservationType | string; /** - *

        The creation time.

        + *

        The ID of the account that owns the subnet CIDR reservation.

        */ - CreationTime?: Date; + OwnerId?: string; /** - *

        The Connect peer details.

        + *

        The + * description + * assigned to the subnet CIDR + * reservation.

        */ - ConnectPeerConfiguration?: TransitGatewayConnectPeerConfiguration; + Description?: string; /** - *

        The tags for the Connect peer.

        + *

        The tags assigned to the subnet CIDR reservation.

        */ Tags?: Tag[]; } -export namespace TransitGatewayConnectPeer { +export namespace SubnetCidrReservation { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayConnectPeer): any => ({ + export const filterSensitiveLog = (obj: SubnetCidrReservation): any => ({ ...obj, }); } -export interface CreateTransitGatewayConnectPeerResult { +export interface CreateSubnetCidrReservationResult { /** - *

        Information about the Connect peer.

        + *

        Information about the created subnet CIDR reservation.

        */ - TransitGatewayConnectPeer?: TransitGatewayConnectPeer; + SubnetCidrReservation?: SubnetCidrReservation; } -export namespace CreateTransitGatewayConnectPeerResult { +export namespace CreateSubnetCidrReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerResult): any => ({ + export const filterSensitiveLog = (obj: CreateSubnetCidrReservationResult): any => ({ ...obj, }); } -export type AutoAcceptSharedAssociationsValue = "disable" | "enable"; - -export type Igmpv2SupportValue = "disable" | "enable"; - -export type StaticSourcesSupportValue = "disable" | "enable"; - -/** - *

        The options for the transit gateway multicast domain.

        - */ -export interface CreateTransitGatewayMulticastDomainRequestOptions { +export interface CreateTagsRequest { /** - *

        Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for 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.

        */ - Igmpv2Support?: Igmpv2SupportValue | string; + DryRun?: boolean; /** - *

        Specify whether to enable support for statically configuring multicast group sources for a domain.

        + *

        The IDs of the resources, separated by spaces.

        + *

        Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

        */ - StaticSourcesSupport?: StaticSourcesSupportValue | string; + Resources: string[] | undefined; /** - *

        Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

        + *

        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.

        */ - AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; + Tags: Tag[] | undefined; } -export namespace CreateTransitGatewayMulticastDomainRequestOptions { +export namespace CreateTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequestOptions): any => ({ + export const filterSensitiveLog = (obj: CreateTagsRequest): any => ({ ...obj, - }); -} - -export interface CreateTransitGatewayMulticastDomainRequest { - /** - *

        The ID of the transit gateway.

        - */ - TransitGatewayId: string | undefined; + }); +} +export interface CreateTrafficMirrorFilterRequest { /** - *

        The options for the transit gateway multicast domain.

        + *

        The description of the Traffic Mirror filter.

        */ - Options?: CreateTransitGatewayMulticastDomainRequestOptions; + Description?: string; /** - *

        The tags for the transit gateway multicast domain.

        + *

        The tags to assign to a Traffic Mirror filter.

        */ TagSpecifications?: TagSpecification[]; @@ -8629,327 +9285,262 @@ export interface CreateTransitGatewayMulticastDomainRequest { * 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 CreateTransitGatewayMulticastDomainRequest { +export namespace CreateTrafficMirrorFilterRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRequest): any => ({ ...obj, }); } /** - *

        Describes the options for a transit gateway multicast domain.

        + *

        Describes the Traffic Mirror port range.

        */ -export interface TransitGatewayMulticastDomainOptions { - /** - *

        Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

        - */ - Igmpv2Support?: Igmpv2SupportValue | string; - +export interface TrafficMirrorPortRange { /** - *

        Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

        + *

        The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        */ - StaticSourcesSupport?: StaticSourcesSupportValue | string; + FromPort?: number; /** - *

        Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

        + *

        The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        */ - AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; + ToPort?: number; } -export namespace TransitGatewayMulticastDomainOptions { +export namespace TrafficMirrorPortRange { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainOptions): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorPortRange): any => ({ ...obj, }); } -export type TransitGatewayMulticastDomainState = "available" | "deleted" | "deleting" | "pending"; +export type TrafficMirrorRuleAction = "accept" | "reject"; + +export type TrafficDirection = "egress" | "ingress"; /** - *

        Describes the transit gateway multicast domain.

        + *

        Describes the Traffic Mirror rule.

        */ -export interface TransitGatewayMulticastDomain { +export interface TrafficMirrorFilterRule { /** - *

        The ID of the transit gateway multicast domain.

        + *

        The ID of the Traffic Mirror rule.

        */ - TransitGatewayMulticastDomainId?: string; + TrafficMirrorFilterRuleId?: string; /** - *

        The ID of the transit gateway.

        + *

        The ID of the Traffic Mirror filter that the rule is associated with.

        */ - TransitGatewayId?: string; + TrafficMirrorFilterId?: string; /** - *

        The Amazon Resource Name (ARN) of the transit gateway multicast domain.

        + *

        The traffic direction assigned to the Traffic Mirror rule.

        */ - TransitGatewayMulticastDomainArn?: string; + TrafficDirection?: TrafficDirection | string; /** - *

        The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

        + *

        The rule number of the Traffic Mirror rule.

        */ - OwnerId?: string; + RuleNumber?: number; /** - *

        The options for the transit gateway multicast domain.

        + *

        The action assigned to the Traffic Mirror rule.

        */ - Options?: TransitGatewayMulticastDomainOptions; + RuleAction?: TrafficMirrorRuleAction | string; /** - *

        The state of the transit gateway multicast domain.

        + *

        The protocol assigned to the Traffic Mirror rule.

        */ - State?: TransitGatewayMulticastDomainState | string; + Protocol?: number; /** - *

        The time the transit gateway multicast domain was created.

        + *

        The destination port range assigned to the Traffic Mirror rule.

        */ - CreationTime?: Date; + DestinationPortRange?: TrafficMirrorPortRange; + + /** + *

        The source port range assigned to the Traffic Mirror rule.

        + */ + SourcePortRange?: TrafficMirrorPortRange; /** - *

        The tags for the transit gateway multicast domain.

        + *

        The destination CIDR block assigned to the Traffic Mirror rule.

        */ - Tags?: Tag[]; -} + DestinationCidrBlock?: string; -export namespace TransitGatewayMulticastDomain { /** - * @internal + *

        The source CIDR block assigned to the Traffic Mirror rule.

        */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomain): any => ({ - ...obj, - }); -} + SourceCidrBlock?: string; -export interface CreateTransitGatewayMulticastDomainResult { /** - *

        Information about the transit gateway multicast domain.

        + *

        The description of the Traffic Mirror rule.

        */ - TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; + Description?: string; } -export namespace CreateTransitGatewayMulticastDomainResult { +export namespace TrafficMirrorFilterRule { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorFilterRule): any => ({ ...obj, }); } -export interface CreateTransitGatewayPeeringAttachmentRequest { - /** - *

        The ID of the transit gateway.

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

        The ID of the peer transit gateway with which to create the peering attachment.

        - */ - PeerTransitGatewayId: string | undefined; +export type TrafficMirrorNetworkService = "amazon-dns"; +/** + *

        Describes the Traffic Mirror filter.

        + */ +export interface TrafficMirrorFilter { /** - *

        The ID of the Amazon Web Services account that owns the peer transit gateway.

        + *

        The ID of the Traffic Mirror filter.

        */ - PeerAccountId: string | undefined; + TrafficMirrorFilterId?: string; /** - *

        The Region where the peer transit gateway is located.

        + *

        Information about the ingress rules that are associated with the Traffic Mirror filter.

        */ - PeerRegion: string | undefined; + IngressFilterRules?: TrafficMirrorFilterRule[]; /** - *

        The tags to apply to the transit gateway peering attachment.

        + *

        Information about the egress rules that are associated with the Traffic Mirror filter.

        */ - TagSpecifications?: TagSpecification[]; + EgressFilterRules?: TrafficMirrorFilterRule[]; /** - *

        Checks whether you have the required permissions for the action, without 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 service traffic that is associated with the Traffic Mirror filter.

        */ - DryRun?: boolean; -} + NetworkServices?: (TrafficMirrorNetworkService | string)[]; -export namespace CreateTransitGatewayPeeringAttachmentRequest { /** - * @internal + *

        The description of the Traffic Mirror filter.

        */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentRequest): any => ({ - ...obj, - }); -} + Description?: string; -export interface CreateTransitGatewayPeeringAttachmentResult { /** - *

        The transit gateway peering attachment.

        + *

        The tags assigned to the Traffic Mirror filter.

        */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; + Tags?: Tag[]; } -export namespace CreateTransitGatewayPeeringAttachmentResult { +export namespace TrafficMirrorFilter { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorFilter): any => ({ ...obj, }); } -export interface CreateTransitGatewayPrefixListReferenceRequest { - /** - *

        The ID of the transit gateway route table.

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

        The ID of the prefix list that is used for destination matches.

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

        The ID of the attachment to which traffic is routed.

        - */ - TransitGatewayAttachmentId?: string; - +export interface CreateTrafficMirrorFilterResult { /** - *

        Indicates whether to drop traffic that matches this route.

        + *

        Information about the Traffic Mirror filter.

        */ - Blackhole?: boolean; + TrafficMirrorFilter?: TrafficMirrorFilter; /** - *

        Checks whether you have the required permissions for the action, without 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 CreateTransitGatewayPrefixListReferenceRequest { +export namespace CreateTrafficMirrorFilterResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterResult): any => ({ ...obj, }); } -export type TransitGatewayPrefixListReferenceState = "available" | "deleting" | "modifying" | "pending"; - /** - *

        Describes a transit gateway prefix list attachment.

        + *

        Information about the Traffic Mirror filter rule port range.

        */ -export interface TransitGatewayPrefixListAttachment { - /** - *

        The ID of the attachment.

        - */ - TransitGatewayAttachmentId?: string; - +export interface TrafficMirrorPortRangeRequest { /** - *

        The resource type. Note that the tgw-peering resource type has been deprecated.

        + *

        The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + FromPort?: number; /** - *

        The ID of the resource.

        + *

        The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

        */ - ResourceId?: string; + ToPort?: number; } -export namespace TransitGatewayPrefixListAttachment { +export namespace TrafficMirrorPortRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayPrefixListAttachment): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorPortRangeRequest): any => ({ ...obj, }); } -/** - *

        Describes a prefix list reference.

        - */ -export interface TransitGatewayPrefixListReference { - /** - *

        The ID of the transit gateway route table.

        - */ - TransitGatewayRouteTableId?: string; - - /** - *

        The ID of the prefix list.

        - */ - PrefixListId?: string; - +export interface CreateTrafficMirrorFilterRuleRequest { /** - *

        The ID of the prefix list owner.

        + *

        The ID of the filter that this rule is associated with.

        */ - PrefixListOwnerId?: string; + TrafficMirrorFilterId: string | undefined; /** - *

        The state of the prefix list reference.

        + *

        The type of traffic.

        */ - State?: TransitGatewayPrefixListReferenceState | string; + TrafficDirection: TrafficDirection | string | undefined; /** - *

        Indicates whether traffic that matches this route is dropped.

        + *

        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.

        */ - Blackhole?: boolean; + RuleNumber: number | undefined; /** - *

        Information about the transit gateway attachment.

        + *

        The action to take on the filtered traffic.

        */ - TransitGatewayAttachment?: TransitGatewayPrefixListAttachment; -} + RuleAction: TrafficMirrorRuleAction | string | undefined; -export namespace TransitGatewayPrefixListReference { /** - * @internal + *

        The destination port range.

        */ - export const filterSensitiveLog = (obj: TransitGatewayPrefixListReference): any => ({ - ...obj, - }); -} + DestinationPortRange?: TrafficMirrorPortRangeRequest; -export interface CreateTransitGatewayPrefixListReferenceResult { /** - *

        Information about the prefix list reference.

        + *

        The source port range.

        */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; -} + SourcePortRange?: TrafficMirrorPortRangeRequest; -export namespace CreateTransitGatewayPrefixListReferenceResult { /** - * @internal + *

        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.

        */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceResult): any => ({ - ...obj, - }); -} + Protocol?: number; -export interface CreateTransitGatewayRouteRequest { /** - *

        The CIDR range used for destination matches. Routing decisions are based on the - * most specific match.

        + *

        The destination CIDR block to assign to the Traffic Mirror rule.

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

        The ID of the transit gateway route table.

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

        The ID of the attachment.

        + *

        The source CIDR block to assign to the Traffic Mirror rule.

        */ - TransitGatewayAttachmentId?: string; + SourceCidrBlock: string | undefined; /** - *

        Indicates whether to drop traffic that matches this route.

        + *

        The description of the Traffic Mirror rule.

        */ - Blackhole?: boolean; + Description?: string; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -8957,113 +9548,90 @@ export interface CreateTransitGatewayRouteRequest { * 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 CreateTransitGatewayRouteRequest { +export namespace CreateTrafficMirrorFilterRuleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleRequest): any => ({ ...obj, }); } -export type TransitGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; - -/** - *

        Describes a route attachment.

        - */ -export interface TransitGatewayRouteAttachment { - /** - *

        The ID of the resource.

        - */ - ResourceId?: string; - +export interface CreateTrafficMirrorFilterRuleResult { /** - *

        The ID of the attachment.

        + *

        The Traffic Mirror rule.

        */ - TransitGatewayAttachmentId?: string; + TrafficMirrorFilterRule?: TrafficMirrorFilterRule; /** - *

        The resource type. Note that the tgw-peering resource type has been deprecated.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

        */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + ClientToken?: string; } -export namespace TransitGatewayRouteAttachment { +export namespace CreateTrafficMirrorFilterRuleResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteAttachment): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleResult): any => ({ ...obj, }); } -export type TransitGatewayRouteType = "propagated" | "static"; - -/** - *

        Describes a route for a transit gateway route table.

        - */ -export interface TransitGatewayRoute { - /** - *

        The CIDR block used for destination matches.

        - */ - DestinationCidrBlock?: string; - - /** - *

        The ID of the prefix list used for destination matches.

        - */ - PrefixListId?: string; - +export interface CreateTrafficMirrorSessionRequest { /** - *

        The attachments.

        + *

        The ID of the source network interface.

        */ - TransitGatewayAttachments?: TransitGatewayRouteAttachment[]; + NetworkInterfaceId: string | undefined; /** - *

        The route type.

        + *

        The ID of the Traffic Mirror target.

        */ - Type?: TransitGatewayRouteType | string; + TrafficMirrorTargetId: string | undefined; /** - *

        The state of the route.

        + *

        The ID of the Traffic Mirror filter.

        */ - State?: TransitGatewayRouteState | string; -} + TrafficMirrorFilterId: string | undefined; -export namespace TransitGatewayRoute { /** - * @internal + *

        The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do + * not specify this parameter when you want to mirror the entire packet. To mirror a subset of + * the packet, set this to the length (in bytes) that you want 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.

        + *

        If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

        */ - export const filterSensitiveLog = (obj: TransitGatewayRoute): any => ({ - ...obj, - }); -} + PacketLength?: number; -export interface CreateTransitGatewayRouteResult { /** - *

        Information about the route.

        + *

        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.

        */ - Route?: TransitGatewayRoute; -} + SessionNumber: number | undefined; -export namespace CreateTransitGatewayRouteResult { /** - * @internal + *

        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.

        */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteResult): any => ({ - ...obj, - }); -} + VirtualNetworkId?: number; -export interface CreateTransitGatewayRouteTableRequest { /** - *

        The ID of the transit gateway.

        + *

        The description of the Traffic Mirror session.

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

        The tags to apply to the transit gateway route table.

        + *

        The tags to assign to a Traffic Mirror session.

        */ TagSpecifications?: TagSpecification[]; @@ -9072,139 +9640,127 @@ export interface CreateTransitGatewayRouteTableRequest { * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

        */ - DryRun?: boolean; + 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 CreateTransitGatewayRouteTableRequest { +export namespace CreateTrafficMirrorSessionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionRequest): any => ({ ...obj, }); } -export type TransitGatewayRouteTableState = "available" | "deleted" | "deleting" | "pending"; - /** - *

        Describes a transit gateway route table.

        + *

        Describes a Traffic Mirror session.

        */ -export interface TransitGatewayRouteTable { +export interface TrafficMirrorSession { /** - *

        The ID of the transit gateway route table.

        + *

        The ID for the Traffic Mirror session.

        */ - TransitGatewayRouteTableId?: string; + TrafficMirrorSessionId?: string; /** - *

        The ID of the transit gateway.

        + *

        The ID of the Traffic Mirror target.

        */ - TransitGatewayId?: string; + TrafficMirrorTargetId?: string; /** - *

        The state of the transit gateway route table.

        + *

        The ID of the Traffic Mirror filter.

        */ - State?: TransitGatewayRouteTableState | string; + TrafficMirrorFilterId?: string; /** - *

        Indicates whether this is the default association route table for the transit gateway.

        + *

        The ID of the Traffic Mirror session's network interface.

        */ - DefaultAssociationRouteTable?: boolean; + NetworkInterfaceId?: string; /** - *

        Indicates whether this is the default propagation route table for the transit gateway.

        + *

        The ID of the account that owns the Traffic Mirror session.

        */ - DefaultPropagationRouteTable?: boolean; + OwnerId?: string; /** - *

        The creation time.

        + *

        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

        */ - CreationTime?: Date; + PacketLength?: number; /** - *

        Any tags assigned to the route table.

        + *

        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.

        */ - Tags?: Tag[]; -} + SessionNumber?: number; -export namespace TransitGatewayRouteTable { /** - * @internal + *

        The virtual network ID associated with the Traffic Mirror session.

        */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTable): any => ({ - ...obj, - }); -} + VirtualNetworkId?: number; + + /** + *

        The description of the Traffic Mirror session.

        + */ + Description?: string; -export interface CreateTransitGatewayRouteTableResult { /** - *

        Information about the transit gateway route table.

        + *

        The tags assigned to the Traffic Mirror session.

        */ - TransitGatewayRouteTable?: TransitGatewayRouteTable; + Tags?: Tag[]; } -export namespace CreateTransitGatewayRouteTableResult { +export namespace TrafficMirrorSession { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorSession): any => ({ ...obj, }); } -/** - *

        Describes the options for a VPC attachment.

        - */ -export interface CreateTransitGatewayVpcAttachmentRequestOptions { - /** - *

        Enable or disable DNS support. The default is enable.

        - */ - DnsSupport?: DnsSupportValue | string; - +export interface CreateTrafficMirrorSessionResult { /** - *

        Enable or disable IPv6 support. The default is disable.

        + *

        Information about the Traffic Mirror session.

        */ - Ipv6Support?: Ipv6SupportValue | string; + TrafficMirrorSession?: TrafficMirrorSession; /** - *

        Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

        */ - ApplianceModeSupport?: ApplianceModeSupportValue | string; + ClientToken?: string; } -export namespace CreateTransitGatewayVpcAttachmentRequestOptions { +export namespace CreateTrafficMirrorSessionResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequestOptions): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionResult): any => ({ ...obj, }); } -export interface CreateTransitGatewayVpcAttachmentRequest { - /** - *

        The ID of the transit gateway.

        - */ - TransitGatewayId: string | undefined; - +export interface CreateTrafficMirrorTargetRequest { /** - *

        The ID of the VPC.

        + *

        The network interface ID that is associated with the target.

        */ - VpcId: string | undefined; + NetworkInterfaceId?: string; /** - *

        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 Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

        */ - SubnetIds: string[] | undefined; + NetworkLoadBalancerArn?: string; /** - *

        The VPC attachment options.

        + *

        The description of the Traffic Mirror target.

        */ - Options?: CreateTransitGatewayVpcAttachmentRequestOptions; + Description?: string; /** - *

        The tags to apply to the VPC attachment.

        + *

        The tags to assign to the Traffic Mirror target.

        */ TagSpecifications?: TagSpecification[]; @@ -9214,697 +9770,577 @@ export interface CreateTransitGatewayVpcAttachmentRequest { * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; -} - -export namespace CreateTransitGatewayVpcAttachmentRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequest): any => ({ - ...obj, - }); -} -export interface CreateTransitGatewayVpcAttachmentResult { /** - *

        Information about the VPC attachment.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

        */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + ClientToken?: string; } -export namespace CreateTransitGatewayVpcAttachmentResult { +export namespace CreateTrafficMirrorTargetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetRequest): any => ({ ...obj, }); } -export interface CreateVolumeRequest { - /** - *

        The Availability Zone in which to create the volume.

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

        Indicates 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 - * 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.

        - */ - Encrypted?: boolean; - - /** - *

        The number of I/O operations per second (IOPS). For gp3, 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.

        - *

        The following are the supported values for each volume type:

        - *
          - *
        • - *

          - * gp3: 3,000-16,000 IOPS

          - *
        • - *
        • - *

          - * io1: 100-64,000 IOPS

          - *
        • - *
        • - *

          - * io2: 100-64,000 IOPS

          - *
        • - *
        - *

        - * io1 and io2 volumes support up to 64,000 IOPS only on - * Instances built on the Nitro System. Other instance families support performance - * up to 32,000 IOPS.

        - *

        This parameter is required for io1 and io2 volumes. - * The default for gp3 volumes is 3,000 IOPS. - * This parameter is not supported for gp2, st1, sc1, or standard volumes.

        - */ - Iops?: number; +export type TrafficMirrorTargetType = "network-interface" | "network-load-balancer"; +/** + *

        Describes a Traffic Mirror target.

        + */ +export interface TrafficMirrorTarget { /** - *

        The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

        - *

        You can specify the KMS key using any of the following:

        - *
          - *
        • - *

          Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

          - *
        • - *
        • - *

          Key alias. For example, alias/ExampleAlias.

          - *
        • - *
        • - *

          Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

          - *
        • - *
        • - *

          Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          - *
        • - *
        - *

        Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

        + *

        The ID of the Traffic Mirror target.

        */ - KmsKeyId?: string; + TrafficMirrorTargetId?: string; /** - *

        The Amazon Resource Name (ARN) of the Outpost.

        + *

        The network interface ID that is attached to the target.

        */ - OutpostArn?: string; + NetworkInterfaceId?: string; /** - *

        The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. - * If you specify a snapshot, the default is the snapshot size. You can specify a volume - * size that is equal to or larger than the snapshot size.

        - *

        The following are the supported volumes sizes for each volume type:

        - *
          - *
        • - *

          - * gp2 and gp3: 1-16,384

          - *
        • - *
        • - *

          - * io1 and io2: 4-16,384

          - *
        • - *
        • - *

          - * st1 and sc1: 125-16,384

          - *
        • - *
        • - *

          - * standard: 1-1,024

          - *
        • - *
        + *

        The Amazon Resource Name (ARN) of the Network Load Balancer.

        */ - Size?: number; + NetworkLoadBalancerArn?: string; /** - *

        The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

        + *

        The type of Traffic Mirror target.

        */ - SnapshotId?: string; + Type?: TrafficMirrorTargetType | string; /** - *

        The volume type. This parameter can be one of the following values:

        - *
          - *
        • - *

          General Purpose SSD: gp2 | gp3 - *

          - *
        • - *
        • - *

          Provisioned IOPS SSD: io1 | io2 - *

          - *
        • - *
        • - *

          Throughput Optimized HDD: st1 - *

          - *
        • - *
        • - *

          Cold HDD: sc1 - *

          - *
        • - *
        • - *

          Magnetic: standard - *

          - *
        • - *
        - *

        For more information, see Amazon EBS volume types in the - * Amazon Elastic Compute Cloud User Guide.

        - *

        Default: gp2 - *

        + *

        Information about the Traffic Mirror target.

        */ - VolumeType?: VolumeType | 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 ID of the account that owns the Traffic Mirror target.

        */ - DryRun?: boolean; + OwnerId?: string; /** - *

        The tags to apply to the volume during creation.

        + *

        The tags assigned to the Traffic Mirror target.

        */ - TagSpecifications?: TagSpecification[]; + Tags?: Tag[]; +} +export namespace TrafficMirrorTarget { /** - *

        Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the - * volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is - * supported with io1 and io2 volumes only. For more information, - * see - * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

        + * @internal */ - MultiAttachEnabled?: boolean; + export const filterSensitiveLog = (obj: TrafficMirrorTarget): any => ({ + ...obj, + }); +} +export interface CreateTrafficMirrorTargetResult { /** - *

        The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

        - *

        This parameter is valid only for gp3 volumes.

        - *

        Valid Range: Minimum value of 125. Maximum value of 1000.

        + *

        Information about the Traffic Mirror target.

        */ - Throughput?: number; + TrafficMirrorTarget?: TrafficMirrorTarget; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency - * of the request. For more information, see Ensure - * Idempotency.

        + *

        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 CreateVolumeRequest { +export namespace CreateTrafficMirrorTargetResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetResult): any => ({ ...obj, }); } -export type VolumeState = "available" | "creating" | "deleted" | "deleting" | "error" | "in-use"; +export type AutoAcceptSharedAttachmentsValue = "disable" | "enable"; -/** - *

        Describes a volume.

        - */ -export interface Volume { - /** - *

        Information about the volume attachments.

        - */ - Attachments?: VolumeAttachment[]; +export type DefaultRouteTableAssociationValue = "disable" | "enable"; - /** - *

        The Availability Zone for the volume.

        - */ - AvailabilityZone?: string; +export type DefaultRouteTablePropagationValue = "disable" | "enable"; - /** - *

        The time stamp when volume creation was initiated.

        - */ - CreateTime?: Date; +export type MulticastSupportValue = "disable" | "enable"; + +export type VpnEcmpSupportValue = "disable" | "enable"; +/** + *

        Describes the options for a transit gateway.

        + */ +export interface TransitGatewayRequestOptions { /** - *

        Indicates whether the volume is encrypted.

        + *

        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.

        */ - Encrypted?: boolean; + AmazonSideAsn?: number; /** - *

        The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the - * volume encryption key for the volume.

        + *

        Enable or disable automatic acceptance of attachment requests. Disabled by default.

        */ - KmsKeyId?: string; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; /** - *

        The Amazon Resource Name (ARN) of the Outpost.

        + *

        Enable or disable automatic association with the default association route table. Enabled by default.

        */ - OutpostArn?: string; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

        The size of the volume, in GiBs.

        + *

        Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

        */ - Size?: number; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; /** - *

        The snapshot from which the volume was created, if applicable.

        + *

        Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

        */ - SnapshotId?: string; + VpnEcmpSupport?: VpnEcmpSupportValue | string; /** - *

        The volume state.

        + *

        Enable or disable DNS support. Enabled by default.

        */ - State?: VolumeState | string; + DnsSupport?: DnsSupportValue | string; /** - *

        The ID of the volume.

        + *

        Indicates whether multicast is enabled on the transit gateway

        */ - VolumeId?: string; + MulticastSupport?: MulticastSupportValue | string; /** - *

        The number of I/O operations per second (IOPS). For gp3, 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.

        + *

        One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

        */ - Iops?: number; + TransitGatewayCidrBlocks?: string[]; +} +export namespace TransitGatewayRequestOptions { /** - *

        Any tags assigned to the volume.

        + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: TransitGatewayRequestOptions): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayRequest { /** - *

        The volume type.

        + *

        A description of the transit gateway.

        */ - VolumeType?: VolumeType | string; + Description?: string; /** - *

        Indicates whether the volume was created using fast snapshot restore.

        + *

        The transit gateway options.

        */ - FastRestored?: boolean; + Options?: TransitGatewayRequestOptions; /** - *

        Indicates whether Amazon EBS Multi-Attach is enabled.

        + *

        The tags to apply to the transit gateway.

        */ - MultiAttachEnabled?: boolean; + TagSpecifications?: TagSpecification[]; /** - *

        The throughput that the volume supports, in MiB/s.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - Throughput?: number; + DryRun?: boolean; } -export namespace Volume { +export namespace CreateTransitGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Volume): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRequest): any => ({ ...obj, }); } -export interface CreateVpcRequest { +/** + *

        Describes the options for a transit gateway.

        + */ +export interface TransitGatewayOptions { /** - *

        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.

        + *

        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.

        */ - CidrBlock: string | undefined; + AmazonSideAsn?: number; /** - *

        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 transit gateway CIDR blocks.

        */ - AmazonProvidedIpv6CidrBlock?: boolean; + TransitGatewayCidrBlocks?: string[]; /** - *

        The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

        + *

        Indicates whether attachment requests are automatically accepted.

        */ - Ipv6Pool?: string; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | 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.

        + *

        Indicates whether resource attachments are automatically associated with the default association route table.

        */ - Ipv6CidrBlock?: string; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | 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 default association route table.

        */ - DryRun?: boolean; + AssociationDefaultRouteTableId?: string; /** - *

        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 - *

        + *

        Indicates whether resource attachments automatically propagate routes to the default propagation route table.

        */ - InstanceTenancy?: Tenancy | string; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; /** - *

        The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

        - *

        You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

        + *

        The ID of the default propagation route table.

        */ - Ipv6CidrBlockNetworkBorderGroup?: string; + PropagationDefaultRouteTableId?: string; /** - *

        The tags to assign to the VPC.

        + *

        Indicates whether Equal Cost Multipath Protocol support is enabled.

        */ - TagSpecifications?: TagSpecification[]; -} + VpnEcmpSupport?: VpnEcmpSupportValue | string; -export namespace CreateVpcRequest { /** - * @internal + *

        Indicates whether DNS support is enabled.

        */ - export const filterSensitiveLog = (obj: CreateVpcRequest): any => ({ - ...obj, - }); -} + DnsSupport?: DnsSupportValue | string; -export interface CreateVpcResult { /** - *

        Information about the VPC.

        + *

        Indicates whether multicast is enabled on the transit gateway

        */ - Vpc?: Vpc; + MulticastSupport?: MulticastSupportValue | string; } -export namespace CreateVpcResult { +export namespace TransitGatewayOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayOptions): any => ({ ...obj, }); } -export enum VpcEndpointType { - Gateway = "Gateway", - GatewayLoadBalancer = "GatewayLoadBalancer", - Interface = "Interface", -} +export type TransitGatewayState = "available" | "deleted" | "deleting" | "modifying" | "pending"; /** - *

        Contains the parameters for CreateVpcEndpoint.

        + *

        Describes a transit gateway.

        */ -export interface CreateVpcEndpointRequest { - /** - *

        Checks whether you have the required permissions for the action, without 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 TransitGateway { /** - *

        The type of endpoint.

        - *

        Default: Gateway

        + *

        The ID of the transit gateway.

        */ - VpcEndpointType?: VpcEndpointType | string; + TransitGatewayId?: string; /** - *

        The ID of the VPC in which the endpoint will be used.

        + *

        The Amazon Resource Name (ARN) of the transit gateway.

        */ - VpcId: string | undefined; + TransitGatewayArn?: string; /** - *

        The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service - * provider.

        + *

        The state of the transit gateway.

        */ - ServiceName: string | undefined; + State?: TransitGatewayState | string; /** - *

        (Interface and gateway endpoints) 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 - * attach a default policy that allows full access to the service.

        + *

        The ID of the Amazon Web Services account that owns the transit gateway.

        */ - PolicyDocument?: string; + OwnerId?: string; /** - *

        (Gateway endpoint) One or more route table IDs.

        + *

        The description of the transit gateway.

        */ - RouteTableIds?: string[]; + Description?: string; /** - *

        (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets in which to create an endpoint - * network interface. For a Gateway Load Balancer endpoint, you can specify one subnet only.

        + *

        The creation time.

        */ - SubnetIds?: string[]; + CreationTime?: Date; /** - *

        (Interface endpoint) The ID of one or more security groups to associate with the - * endpoint network interface.

        + *

        The transit gateway options.

        */ - SecurityGroupIds?: string[]; + Options?: TransitGatewayOptions; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

        + *

        The tags for the transit gateway.

        */ - ClientToken?: string; + Tags?: Tag[]; +} +export namespace TransitGateway { /** - *

        (Interface endpoint) Indicates whether to associate a private hosted zone with the - * specified VPC. The private hosted zone contains a record set for the default public DNS - * name for the service for the Region (for example, - * kinesis.us-east-1.amazonaws.com), which resolves to the private IP - * addresses of the endpoint network interfaces in the VPC. This enables you to make - * requests to the default public DNS name for the service instead of the public DNS names - * that are automatically generated by the VPC endpoint service.

        - *

        To use a private hosted zone, you must set the following VPC attributes to - * true: enableDnsHostnames and - * enableDnsSupport. Use ModifyVpcAttribute to set the VPC - * attributes.

        - *

        Default: true - *

        + * @internal */ - PrivateDnsEnabled?: boolean; + export const filterSensitiveLog = (obj: TransitGateway): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayResult { /** - *

        The tags to associate with the endpoint.

        + *

        Information about the transit gateway.

        */ - TagSpecifications?: TagSpecification[]; + TransitGateway?: TransitGateway; } -export namespace CreateVpcEndpointRequest { +export namespace CreateTransitGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayResult): any => ({ ...obj, }); } +export type ProtocolValue = "gre"; + /** - *

        Describes a DNS entry.

        + *

        The options for a Connect attachment.

        */ -export interface DnsEntry { - /** - *

        The DNS name.

        - */ - DnsName?: string; - +export interface CreateTransitGatewayConnectRequestOptions { /** - *

        The ID of the private hosted zone.

        + *

        The tunnel protocol.

        */ - HostedZoneId?: string; + Protocol: ProtocolValue | string | undefined; } -export namespace DnsEntry { +export namespace CreateTransitGatewayConnectRequestOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DnsEntry): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequestOptions): any => ({ ...obj, }); } -/** - *

        Describes a security group.

        - */ -export interface SecurityGroupIdentifier { +export interface CreateTransitGatewayConnectRequest { /** - *

        The ID of the security group.

        + *

        The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

        */ - GroupId?: string; + TransportTransitGatewayAttachmentId: string | undefined; /** - *

        The name of the security group.

        + *

        The Connect attachment options.

        */ - GroupName?: string; + Options: CreateTransitGatewayConnectRequestOptions | undefined; + + /** + *

        The tags to apply to the Connect attachment.

        + */ + 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 SecurityGroupIdentifier { +export namespace CreateTransitGatewayConnectRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupIdentifier): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequest): any => ({ ...obj, }); } /** - *

        The last error that occurred for a VPC endpoint.

        + *

        Describes the Connect attachment options.

        */ -export interface LastError { - /** - *

        The error message for the VPC endpoint error.

        - */ - Message?: string; - +export interface TransitGatewayConnectOptions { /** - *

        The error code for the VPC endpoint error.

        + *

        The tunnel protocol.

        */ - Code?: string; + Protocol?: ProtocolValue | string; } -export namespace LastError { +export namespace TransitGatewayConnectOptions { /** * @internal */ - export const filterSensitiveLog = (obj: LastError): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectOptions): any => ({ ...obj, }); } -export enum State { - Available = "Available", - Deleted = "Deleted", - Deleting = "Deleting", - Expired = "Expired", - Failed = "Failed", - Pending = "Pending", - PendingAcceptance = "PendingAcceptance", - Rejected = "Rejected", -} - /** - *

        Describes a VPC endpoint.

        + *

        Describes a transit gateway Connect attachment.

        */ -export interface VpcEndpoint { +export interface TransitGatewayConnect { /** - *

        The ID of the VPC endpoint.

        + *

        The ID of the Connect attachment.

        */ - VpcEndpointId?: string; + TransitGatewayAttachmentId?: string; /** - *

        The type of endpoint.

        + *

        The ID of the attachment from which the Connect attachment was created.

        */ - VpcEndpointType?: VpcEndpointType | string; + TransportTransitGatewayAttachmentId?: string; /** - *

        The ID of the VPC to which the endpoint is associated.

        + *

        The ID of the transit gateway.

        */ - VpcId?: string; + TransitGatewayId?: string; /** - *

        The name of the service to which the endpoint is associated.

        + *

        The state of the attachment.

        */ - ServiceName?: string; + State?: TransitGatewayAttachmentState | string; /** - *

        The state of the VPC endpoint.

        + *

        The creation time.

        */ - State?: State | string; + CreationTime?: Date; /** - *

        The policy document associated with the endpoint, if applicable.

        + *

        The Connect attachment options.

        */ - PolicyDocument?: string; + Options?: TransitGatewayConnectOptions; /** - *

        (Gateway endpoint) One or more route tables associated with the endpoint.

        + *

        The tags for the attachment.

        */ - RouteTableIds?: string[]; + Tags?: Tag[]; +} +export namespace TransitGatewayConnect { /** - *

        (Interface endpoint) One or more subnets in which the endpoint is located.

        + * @internal */ - SubnetIds?: string[]; + export const filterSensitiveLog = (obj: TransitGatewayConnect): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayConnectResult { /** - *

        (Interface endpoint) Information about the security groups that are associated with - * the network interface.

        + *

        Information about the Connect attachment.

        */ - Groups?: SecurityGroupIdentifier[]; + TransitGatewayConnect?: TransitGatewayConnect; +} +export namespace CreateTransitGatewayConnectResult { /** - *

        (Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

        + * @internal */ - PrivateDnsEnabled?: boolean; + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectResult): any => ({ + ...obj, + }); +} +/** + *

        The BGP options for the Connect attachment.

        + */ +export interface TransitGatewayConnectRequestBgpOptions { /** - *

        Indicates whether the VPC endpoint is being managed by its service.

        + *

        The peer Autonomous System Number (ASN).

        */ - RequesterManaged?: boolean; + PeerAsn?: number; +} + +export namespace TransitGatewayConnectRequestBgpOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TransitGatewayConnectRequestBgpOptions): any => ({ + ...obj, + }); +} + +export interface CreateTransitGatewayConnectPeerRequest { + /** + *

        The ID of the Connect attachment.

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

        (Interface endpoint) One or more network interfaces for the endpoint.

        + *

        The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be + * specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns + * the first available IP address from the transit gateway CIDR block.

        */ - NetworkInterfaceIds?: string[]; + TransitGatewayAddress?: string; /** - *

        (Interface endpoint) The DNS entries for the endpoint.

        + *

        The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

        */ - DnsEntries?: DnsEntry[]; + PeerAddress: string | undefined; /** - *

        The date and time that the VPC endpoint was created.

        + *

        The BGP options for the Connect peer.

        */ - CreationTimestamp?: Date; + BgpOptions?: TransitGatewayConnectRequestBgpOptions; /** - *

        Any tags assigned to the VPC endpoint.

        + *

        The range of inside IP addresses that are used for BGP peering. You must specify a + * size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address + * from the range must be configured on the appliance as the BGP IP address. You can also + * optionally specify a size /125 IPv6 CIDR block from the fd00::/8 + * range.

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

        The ID of the Amazon Web Services account that owns the VPC endpoint.

        + *

        The tags to apply to the Connect peer.

        */ - OwnerId?: string; + TagSpecifications?: TagSpecification[]; /** - *

        The last error that occurred for VPC 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.

        */ - LastError?: LastError; + DryRun?: boolean; } -export namespace VpcEndpoint { +export namespace CreateTransitGatewayConnectPeerRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VpcEndpoint): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerRequest): any => ({ ...obj, }); } +export type BgpStatus = "down" | "up"; + /** - *

        Contains the output of CreateVpcEndpoint.

        + *

        The BGP configuration information.

        */ -export interface CreateVpcEndpointResult { +export interface TransitGatewayAttachmentBgpConfiguration { /** - *

        Information about the endpoint.

        + *

        The transit gateway Autonomous System Number (ASN).

        */ - VpcEndpoint?: VpcEndpoint; + TransitGatewayAsn?: number; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

        + *

        The peer Autonomous System Number (ASN).

        */ - ClientToken?: string; + PeerAsn?: number; + + /** + *

        The interior BGP peer IP address for the transit gateway.

        + */ + TransitGatewayAddress?: string; + + /** + *

        The interior BGP peer IP address for the appliance.

        + */ + PeerAddress?: string; + + /** + *

        The BGP status.

        + */ + BgpStatus?: BgpStatus | string; } -export namespace CreateVpcEndpointResult { +export namespace TransitGatewayAttachmentBgpConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachmentBgpConfiguration): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index ea2e84dd2b4f..ae5d6100575f 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -1,11 +1,10 @@ import { - _InstanceType, AccountAttribute, AccountAttributeName, - ActiveInstance, Address, AddressAttribute, AddressAttributeName, + ApplianceModeSupportValue, AssociationStatus, BundleTask, ByoipCidr, @@ -16,1822 +15,1868 @@ import { ClientVpnAuthorizationRuleStatus, ClientVpnEndpointStatus, ClientVpnRouteStatus, - CurrencyCodeValues, - CustomerGateway, - DefaultTargetCapacityType, - DhcpOptions, - EgressOnlyInternetGateway, + DnsSupportValue, FleetCapacityReservation, FleetCapacityReservationTenancy, - FleetCapacityReservationUsageStrategy, - FleetExcessCapacityTerminationPolicy, FleetInstanceMatchCriteria, - FleetLaunchTemplateSpecification, - FleetOnDemandAllocationStrategy, - FleetReplacementStrategy, - FleetType, GatewayType, InstanceEventWindowState, - SpotAllocationStrategy, - SpotInstanceInterruptionBehavior, + Ipv6SupportValue, Tag, TagSpecification, - TargetCapacityUnitType, + Tenancy, + TransitGatewayAttachmentResourceType, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, TransportProtocol, UnsuccessfulItem, + VolumeAttachment, + Vpc, VpcAttachment, VpcPeeringConnection, } from "./models_0"; import { - DestinationFileFormat, DiskImageFormat, - ExportTask, - FleetLaunchTemplateOverrides, GroupIdentifier, - InstanceLifecycle, + Ipam, + IpamPool, + IpamScope, LaunchTemplate, - LaunchTemplateAndOverridesResponse, LocalGatewayRoute, LocalGatewayRouteTableVpcAssociation, - LogDestinationType, ManagedPrefixList, PlatformValues, + ProtocolValue, SubnetCidrReservation, - TrafficType, TransitGateway, + TransitGatewayAttachmentBgpConfiguration, TransitGatewayConnect, - TransitGatewayConnectPeer, - TransitGatewayMulticastDomain, - TransitGatewayPrefixListReference, - TransitGatewayRoute, - TransitGatewayRouteTable, + VolumeType, } from "./models_1"; -export interface CreateVpcEndpointConnectionNotificationRequest { - /** - *

        Checks whether you have the required permissions for the action, without 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 Connect peer details.

        + */ +export interface TransitGatewayConnectPeerConfiguration { /** - *

        The ID of the endpoint service.

        + *

        The Connect peer IP address on the transit gateway side of the tunnel.

        */ - ServiceId?: string; + TransitGatewayAddress?: string; /** - *

        The ID of the endpoint.

        + *

        The Connect peer IP address on the appliance side of the tunnel.

        */ - VpcEndpointId?: string; + PeerAddress?: string; /** - *

        The ARN of the SNS topic for the notifications.

        + *

        The range of interior BGP peer IP addresses.

        */ - ConnectionNotificationArn: string | undefined; + InsideCidrBlocks?: string[]; /** - *

        One or more endpoint events for which to receive notifications. Valid values are - * Accept, Connect, Delete, and - * Reject.

        + *

        The tunnel protocol.

        */ - ConnectionEvents: string[] | undefined; + Protocol?: ProtocolValue | string; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

        + *

        The BGP configuration details.

        */ - ClientToken?: string; + BgpConfigurations?: TransitGatewayAttachmentBgpConfiguration[]; } -export namespace CreateVpcEndpointConnectionNotificationRequest { +export namespace TransitGatewayConnectPeerConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectPeerConfiguration): any => ({ ...obj, }); } -export enum ConnectionNotificationState { - Disabled = "Disabled", - Enabled = "Enabled", -} - -export enum ConnectionNotificationType { - Topic = "Topic", -} +export type TransitGatewayConnectPeerState = "available" | "deleted" | "deleting" | "pending"; /** - *

        Describes a connection notification for a VPC endpoint or VPC endpoint - * service.

        + *

        Describes a transit gateway Connect peer.

        */ -export interface ConnectionNotification { - /** - *

        The ID of the notification.

        - */ - ConnectionNotificationId?: string; - +export interface TransitGatewayConnectPeer { /** - *

        The ID of the endpoint service.

        + *

        The ID of the Connect attachment.

        */ - ServiceId?: string; + TransitGatewayAttachmentId?: string; /** - *

        The ID of the VPC endpoint.

        + *

        The ID of the Connect peer.

        */ - VpcEndpointId?: string; + TransitGatewayConnectPeerId?: string; /** - *

        The type of notification.

        + *

        The state of the Connect peer.

        */ - ConnectionNotificationType?: ConnectionNotificationType | string; + State?: TransitGatewayConnectPeerState | string; /** - *

        The ARN of the SNS topic for the notification.

        + *

        The creation time.

        */ - ConnectionNotificationArn?: string; + CreationTime?: Date; /** - *

        The events for the notification. Valid values are Accept, - * Connect, Delete, and Reject.

        + *

        The Connect peer details.

        */ - ConnectionEvents?: string[]; + ConnectPeerConfiguration?: TransitGatewayConnectPeerConfiguration; /** - *

        The state of the notification.

        + *

        The tags for the Connect peer.

        */ - ConnectionNotificationState?: ConnectionNotificationState | string; + Tags?: Tag[]; } -export namespace ConnectionNotification { +export namespace TransitGatewayConnectPeer { /** * @internal */ - export const filterSensitiveLog = (obj: ConnectionNotification): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectPeer): any => ({ ...obj, }); } -export interface CreateVpcEndpointConnectionNotificationResult { - /** - *

        Information about the notification.

        - */ - ConnectionNotification?: ConnectionNotification; - +export interface CreateTransitGatewayConnectPeerResult { /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

        + *

        Information about the Connect peer.

        */ - ClientToken?: string; + TransitGatewayConnectPeer?: TransitGatewayConnectPeer; } -export namespace CreateVpcEndpointConnectionNotificationResult { +export namespace CreateTransitGatewayConnectPeerResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerResult): any => ({ ...obj, }); } -export interface CreateVpcEndpointServiceConfigurationRequest { +export type AutoAcceptSharedAssociationsValue = "disable" | "enable"; + +export type Igmpv2SupportValue = "disable" | "enable"; + +export type StaticSourcesSupportValue = "disable" | "enable"; + +/** + *

        The options for the transit gateway multicast domain.

        + */ +export interface CreateTransitGatewayMulticastDomainRequestOptions { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

        + *

        Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.

        */ - DryRun?: boolean; + Igmpv2Support?: Igmpv2SupportValue | string; /** - *

        Indicates whether requests from service consumers to create an endpoint to your service must - * be accepted. To accept a request, use AcceptVpcEndpointConnections.

        + *

        Specify whether to enable support for statically configuring multicast group sources for a domain.

        */ - AcceptanceRequired?: boolean; + StaticSourcesSupport?: StaticSourcesSupportValue | string; /** - *

        (Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

        + *

        Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

        */ - PrivateDnsName?: string; + AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; +} +export namespace CreateTransitGatewayMulticastDomainRequestOptions { /** - *

        The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your - * service.

        + * @internal */ - NetworkLoadBalancerArns?: string[]; + export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequestOptions): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayMulticastDomainRequest { /** - *

        The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.

        + *

        The ID of the transit gateway.

        */ - GatewayLoadBalancerArns?: string[]; + TransitGatewayId: 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 options for the transit gateway multicast domain.

        */ - ClientToken?: string; + Options?: CreateTransitGatewayMulticastDomainRequestOptions; /** - *

        The tags to associate with the service.

        + *

        The tags for the transit gateway multicast domain.

        */ 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 CreateVpcEndpointServiceConfigurationRequest { +export namespace CreateTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -export enum DnsNameState { - Failed = "failed", - PendingVerification = "pendingVerification", - Verified = "verified", -} - /** - *

        Information about the private DNS name for the service endpoint. For more information - * about these parameters, see VPC Endpoint Service - * Private DNS Name Verification in the - * Amazon Virtual Private Cloud User Guide.

        + *

        Describes the options for a transit gateway multicast domain.

        */ -export interface PrivateDnsNameConfiguration { - /** - *

        The verification state of the VPC endpoint service.

        - *

        >Consumers - * of the endpoint service can use the private name only when the state is - * verified.

        - */ - State?: DnsNameState | string; - +export interface TransitGatewayMulticastDomainOptions { /** - *

        The endpoint service verification type, for example TXT.

        + *

        Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

        */ - Type?: string; + Igmpv2Support?: Igmpv2SupportValue | string; /** - *

        The value the service provider adds to the private DNS name domain record before verification.

        + *

        Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

        */ - Value?: string; + StaticSourcesSupport?: StaticSourcesSupportValue | string; /** - *

        The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

        + *

        Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

        */ - Name?: string; + AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; } -export namespace PrivateDnsNameConfiguration { +export namespace TransitGatewayMulticastDomainOptions { /** * @internal */ - export const filterSensitiveLog = (obj: PrivateDnsNameConfiguration): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainOptions): any => ({ ...obj, }); } -export enum ServiceState { - Available = "Available", - Deleted = "Deleted", - Deleting = "Deleting", - Failed = "Failed", - Pending = "Pending", -} - -export enum ServiceType { - Gateway = "Gateway", - GatewayLoadBalancer = "GatewayLoadBalancer", - Interface = "Interface", -} +export type TransitGatewayMulticastDomainState = "available" | "deleted" | "deleting" | "pending"; /** - *

        Describes the type of service for a VPC endpoint.

        + *

        Describes the transit gateway multicast domain.

        */ -export interface ServiceTypeDetail { +export interface TransitGatewayMulticastDomain { /** - *

        The type of service.

        + *

        The ID of the transit gateway multicast domain.

        */ - ServiceType?: ServiceType | string; -} + TransitGatewayMulticastDomainId?: string; -export namespace ServiceTypeDetail { /** - * @internal + *

        The ID of the transit gateway.

        */ - export const filterSensitiveLog = (obj: ServiceTypeDetail): any => ({ - ...obj, - }); -} + TransitGatewayId?: string; -/** - *

        Describes a service configuration for a VPC endpoint service.

        - */ -export interface ServiceConfiguration { /** - *

        The type of service.

        + *

        The Amazon Resource Name (ARN) of the transit gateway multicast domain.

        */ - ServiceType?: ServiceTypeDetail[]; + TransitGatewayMulticastDomainArn?: string; /** - *

        The ID of the service.

        + *

        The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

        */ - ServiceId?: string; + OwnerId?: string; /** - *

        The name of the service.

        + *

        The options for the transit gateway multicast domain.

        */ - ServiceName?: string; + Options?: TransitGatewayMulticastDomainOptions; /** - *

        The service state.

        + *

        The state of the transit gateway multicast domain.

        */ - ServiceState?: ServiceState | string; + State?: TransitGatewayMulticastDomainState | string; /** - *

        The Availability Zones in which the service is available.

        + *

        The time the transit gateway multicast domain was created.

        */ - AvailabilityZones?: string[]; + CreationTime?: Date; /** - *

        Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

        + *

        The tags for the transit gateway multicast domain.

        */ - AcceptanceRequired?: boolean; + Tags?: Tag[]; +} +export namespace TransitGatewayMulticastDomain { /** - *

        Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

        + * @internal */ - ManagesVpcEndpoints?: boolean; + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomain): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayMulticastDomainResult { /** - *

        The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

        + *

        Information about the transit gateway multicast domain.

        */ - NetworkLoadBalancerArns?: string[]; + TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; +} +export namespace CreateTransitGatewayMulticastDomainResult { /** - *

        The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

        + * @internal */ - GatewayLoadBalancerArns?: string[]; + export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainResult): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayPeeringAttachmentRequest { /** - *

        The DNS names for the service.

        + *

        The ID of the transit gateway.

        */ - BaseEndpointDnsNames?: string[]; + TransitGatewayId: string | undefined; /** - *

        The private DNS name for the service.

        + *

        The ID of the peer transit gateway with which to create the peering attachment.

        */ - PrivateDnsName?: string; + PeerTransitGatewayId: string | undefined; /** - *

        Information about the endpoint service private DNS name configuration.

        + *

        The ID of the Amazon Web Services account that owns the peer transit gateway.

        */ - PrivateDnsNameConfiguration?: PrivateDnsNameConfiguration; + PeerAccountId: string | undefined; /** - *

        Any tags assigned to the service.

        + *

        The Region where the peer transit gateway is located.

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

        The tags to apply to the transit gateway peering attachment.

        + */ + 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 ServiceConfiguration { +export namespace CreateTransitGatewayPeeringAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ServiceConfiguration): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentRequest): any => ({ ...obj, }); } -export interface CreateVpcEndpointServiceConfigurationResult { - /** - *

        Information about the service configuration.

        - */ - ServiceConfiguration?: ServiceConfiguration; - +export interface CreateTransitGatewayPeeringAttachmentResult { /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

        + *

        The transit gateway peering attachment.

        */ - ClientToken?: string; + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; } -export namespace CreateVpcEndpointServiceConfigurationResult { +export namespace CreateTransitGatewayPeeringAttachmentResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentResult): any => ({ ...obj, }); } -export interface CreateVpcPeeringConnectionRequest { +export interface CreateTransitGatewayPrefixListReferenceRequest { /** - *

        Checks whether you have the required permissions for the action, without 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; /** - *

        The Amazon Web Services account ID of the owner of the accepter VPC.

        - *

        Default: Your Amazon Web Services account ID

        + *

        The ID of the prefix list that is used for destination matches.

        */ - PeerOwnerId?: string; + PrefixListId: string | undefined; /** - *

        The ID of the VPC with which you are creating the VPC peering connection. You must - * specify this parameter in the request.

        + *

        The ID of the attachment to which traffic is routed.

        */ - PeerVpcId?: string; + TransitGatewayAttachmentId?: string; /** - *

        The ID of the requester VPC. You must specify this parameter in the - * request.

        - */ - VpcId?: string; - - /** - *

        The Region code for the accepter VPC, if the accepter VPC is located in a Region - * other than the Region in which you make the request.

        - *

        Default: The Region in which you make the request.

        + *

        Indicates whether to drop traffic that matches this route.

        */ - PeerRegion?: string; + Blackhole?: boolean; /** - *

        The tags to assign to the peering 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.

        */ - TagSpecifications?: TagSpecification[]; + DryRun?: boolean; } -export namespace CreateVpcPeeringConnectionRequest { +export namespace CreateTransitGatewayPrefixListReferenceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceRequest): any => ({ ...obj, }); } -export interface CreateVpcPeeringConnectionResult { +export type TransitGatewayPrefixListReferenceState = "available" | "deleting" | "modifying" | "pending"; + +/** + *

        Describes a transit gateway prefix list attachment.

        + */ +export interface TransitGatewayPrefixListAttachment { /** - *

        Information about the VPC peering connection.

        + *

        The ID of the attachment.

        */ - VpcPeeringConnection?: VpcPeeringConnection; + TransitGatewayAttachmentId?: string; + + /** + *

        The resource type. Note that the tgw-peering resource type has been deprecated.

        + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; + + /** + *

        The ID of the resource.

        + */ + ResourceId?: string; } -export namespace CreateVpcPeeringConnectionResult { +export namespace TransitGatewayPrefixListAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayPrefixListAttachment): any => ({ ...obj, }); } -export type TunnelInsideIpVersion = "ipv4" | "ipv6"; - /** - *

        The IKE version that is permitted for the VPN tunnel.

        + *

        Describes a prefix list reference.

        */ -export interface IKEVersionsRequestListValue { +export interface TransitGatewayPrefixListReference { /** - *

        The IKE version.

        + *

        The ID of the transit gateway route table.

        */ - Value?: string; + TransitGatewayRouteTableId?: string; + + /** + *

        The ID of the prefix list.

        + */ + PrefixListId?: string; + + /** + *

        The ID of the prefix list owner.

        + */ + PrefixListOwnerId?: string; + + /** + *

        The state of the prefix list reference.

        + */ + State?: TransitGatewayPrefixListReferenceState | string; + + /** + *

        Indicates whether traffic that matches this route is dropped.

        + */ + Blackhole?: boolean; + + /** + *

        Information about the transit gateway attachment.

        + */ + TransitGatewayAttachment?: TransitGatewayPrefixListAttachment; } -export namespace IKEVersionsRequestListValue { +export namespace TransitGatewayPrefixListReference { /** * @internal */ - export const filterSensitiveLog = (obj: IKEVersionsRequestListValue): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayPrefixListReference): any => ({ ...obj, }); } -/** - *

        Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE - * negotiations.

        - */ -export interface Phase1DHGroupNumbersRequestListValue { +export interface CreateTransitGatewayPrefixListReferenceResult { /** - *

        The Diffie-Hellmann group number.

        + *

        Information about the prefix list reference.

        */ - Value?: number; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace Phase1DHGroupNumbersRequestListValue { +export namespace CreateTransitGatewayPrefixListReferenceResult { /** * @internal */ - export const filterSensitiveLog = (obj: Phase1DHGroupNumbersRequestListValue): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } -/** - *

        Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE - * negotiations.

        - */ -export interface Phase1EncryptionAlgorithmsRequestListValue { +export interface CreateTransitGatewayRouteRequest { /** - *

        The value for the encryption algorithm.

        + *

        The CIDR range used for destination matches. Routing decisions are based on the + * most specific match.

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

        The ID of the transit gateway route table.

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

        The ID of the attachment.

        + */ + TransitGatewayAttachmentId?: string; + + /** + *

        Indicates whether to drop traffic that matches this route.

        + */ + Blackhole?: 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 Phase1EncryptionAlgorithmsRequestListValue { +export namespace CreateTransitGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsRequestListValue): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteRequest): any => ({ ...obj, }); } +export type TransitGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; + /** - *

        Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE - * negotiations.

        + *

        Describes a route attachment.

        */ -export interface Phase1IntegrityAlgorithmsRequestListValue { +export interface TransitGatewayRouteAttachment { /** - *

        The value for the integrity algorithm.

        + *

        The ID of the resource.

        */ - Value?: string; + ResourceId?: string; + + /** + *

        The ID of the attachment.

        + */ + TransitGatewayAttachmentId?: string; + + /** + *

        The resource type. Note that the tgw-peering resource type has been deprecated.

        + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; } -export namespace Phase1IntegrityAlgorithmsRequestListValue { +export namespace TransitGatewayRouteAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsRequestListValue): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteAttachment): any => ({ ...obj, }); } +export type TransitGatewayRouteType = "propagated" | "static"; + /** - *

        Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE - * negotiations.

        + *

        Describes a route for a transit gateway route table.

        */ -export interface Phase2DHGroupNumbersRequestListValue { +export interface TransitGatewayRoute { /** - *

        The Diffie-Hellmann group number.

        + *

        The CIDR block used for destination matches.

        */ - Value?: number; + DestinationCidrBlock?: string; + + /** + *

        The ID of the prefix list used for destination matches.

        + */ + PrefixListId?: string; + + /** + *

        The attachments.

        + */ + TransitGatewayAttachments?: TransitGatewayRouteAttachment[]; + + /** + *

        The route type.

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

        The state of the route.

        + */ + State?: TransitGatewayRouteState | string; } -export namespace Phase2DHGroupNumbersRequestListValue { +export namespace TransitGatewayRoute { /** * @internal */ - export const filterSensitiveLog = (obj: Phase2DHGroupNumbersRequestListValue): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRoute): any => ({ ...obj, }); } -/** - *

        Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE - * negotiations.

        - */ -export interface Phase2EncryptionAlgorithmsRequestListValue { +export interface CreateTransitGatewayRouteResult { /** - *

        The encryption algorithm.

        + *

        Information about the route.

        */ - Value?: string; + Route?: TransitGatewayRoute; } -export namespace Phase2EncryptionAlgorithmsRequestListValue { +export namespace CreateTransitGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsRequestListValue): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteResult): any => ({ ...obj, }); } -/** - *

        Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE - * negotiations.

        - */ -export interface Phase2IntegrityAlgorithmsRequestListValue { +export interface CreateTransitGatewayRouteTableRequest { /** - *

        The integrity algorithm.

        + *

        The ID of the transit gateway.

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

        The tags to apply to the transit gateway 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 Phase2IntegrityAlgorithmsRequestListValue { +export namespace CreateTransitGatewayRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsRequestListValue): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableRequest): any => ({ ...obj, }); } +export type TransitGatewayRouteTableState = "available" | "deleted" | "deleting" | "pending"; + /** - *

        The tunnel options for a single VPN tunnel.

        + *

        Describes a transit gateway route table.

        */ -export interface VpnTunnelOptionsSpecification { +export interface TransitGatewayRouteTable { /** - *

        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:

        - *
          - *
        • - *

          - * 169.254.0.0/30 - *

          - *
        • - *
        • - *

          - * 169.254.1.0/30 - *

          - *
        • - *
        • - *

          - * 169.254.2.0/30 - *

          - *
        • - *
        • - *

          - * 169.254.3.0/30 - *

          - *
        • - *
        • - *

          - * 169.254.4.0/30 - *

          - *
        • - *
        • - *

          - * 169.254.5.0/30 - *

          - *
        • - *
        • - *

          - * 169.254.169.252/30 - *

          - *
        • - *
        + *

        The ID of the transit gateway route table.

        */ - TunnelInsideCidr?: string; + TransitGatewayRouteTableId?: string; /** - *

        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.

        + *

        The ID of the transit gateway.

        */ - TunnelInsideIpv6Cidr?: string; + TransitGatewayId?: string; /** - *

        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).

        + *

        The state of the transit gateway route table.

        */ - PreSharedKey?: string; + State?: TransitGatewayRouteTableState | string; /** - *

        The lifetime for phase 1 of the IKE negotiation, in seconds.

        - *

        Constraints: A value between 900 and 28,800.

        - *

        Default: 28800 - *

        + *

        Indicates whether this is the default association route table for the transit gateway.

        */ - Phase1LifetimeSeconds?: number; + DefaultAssociationRouteTable?: boolean; /** - *

        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 - *

        + *

        Indicates whether this is the default propagation route table for the transit gateway.

        */ - Phase2LifetimeSeconds?: number; + DefaultPropagationRouteTable?: boolean; /** - *

        The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services 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 creation time.

        */ - RekeyMarginTimeSeconds?: number; + CreationTime?: Date; /** - *

        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 - *

        + *

        Any tags assigned to the route table.

        */ - RekeyFuzzPercentage?: number; + Tags?: Tag[]; +} +export namespace TransitGatewayRouteTable { /** - *

        The number of packets in an IKE replay window.

        - *

        Constraints: A value between 64 and 2048.

        - *

        Default: 1024 - *

        + * @internal */ - ReplayWindowSize?: number; + export const filterSensitiveLog = (obj: TransitGatewayRouteTable): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayRouteTableResult { /** - *

        The number of seconds after which a DPD timeout occurs.

        - *

        Constraints: A value between 0 and 30.

        - *

        Default: 30 - *

        + *

        Information about the transit gateway route table.

        */ - DPDTimeoutSeconds?: number; + TransitGatewayRouteTable?: TransitGatewayRouteTable; +} +export namespace CreateTransitGatewayRouteTableResult { /** - *

        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 - *

        + * @internal */ - DPDTimeoutAction?: string; + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableResult): any => ({ + ...obj, + }); +} +/** + *

        Describes the options for a VPC attachment.

        + */ +export interface CreateTransitGatewayVpcAttachmentRequestOptions { /** - *

        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 - *

        + *

        Enable or disable DNS support. The default is enable.

        */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + DnsSupport?: DnsSupportValue | string; /** - *

        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 - *

        + *

        Enable or disable IPv6 support. The default is disable.

        */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + Ipv6Support?: Ipv6SupportValue | string; /** - *

        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 - *

        + *

        Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

        */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + ApplianceModeSupport?: ApplianceModeSupportValue | string; +} +export namespace CreateTransitGatewayVpcAttachmentRequestOptions { /** - *

        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 - *

        + * @internal */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequestOptions): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayVpcAttachmentRequest { /** - *

        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 - *

        + *

        The ID of the transit gateway.

        */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + TransitGatewayId: string | undefined; /** - *

        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 - *

        + *

        The ID of the VPC.

        */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + VpcId: string | undefined; /** - *

        The IKE versions that are permitted for the VPN tunnel.

        - *

        Valid values: ikev1 | ikev2 - *

        + *

        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.

        */ - IKEVersions?: IKEVersionsRequestListValue[]; + SubnetIds: string[] | undefined; /** - *

        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 Amazon Web Services to initiate the IKE - * negotiation.

        - *

        Valid Values: add | start - *

        - *

        Default: add - *

        + *

        The VPC attachment options.

        */ - StartupAction?: string; + Options?: CreateTransitGatewayVpcAttachmentRequestOptions; + + /** + *

        The tags to apply to the VPC attachment.

        + */ + 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 VpnTunnelOptionsSpecification { +export namespace CreateTransitGatewayVpcAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VpnTunnelOptionsSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequest): any => ({ ...obj, }); } -/** - *

        Describes VPN connection options.

        - */ -export interface VpnConnectionOptionsSpecification { - /** - *

        Indicate whether to enable acceleration for the VPN connection.

        - *

        Default: false - *

        - */ - EnableAcceleration?: boolean; - +export interface CreateTransitGatewayVpcAttachmentResult { /** - *

        Indicate whether the VPN connection uses static routes only. If you are creating a VPN - * connection for a device that does not support BGP, you must specify true. - * Use CreateVpnConnectionRoute to create a static route.

        - *

        Default: false - *

        + *

        Information about the VPC attachment.

        */ - StaticRoutesOnly?: boolean; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +export namespace CreateTransitGatewayVpcAttachmentResult { /** - *

        Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

        - *

        Default: ipv4 - *

        + * @internal */ - TunnelInsideIpVersion?: TunnelInsideIpVersion | string; + export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} +export interface CreateVolumeRequest { /** - *

        The tunnel options for the VPN connection.

        + *

        The Availability Zone in which to create the volume.

        */ - TunnelOptions?: VpnTunnelOptionsSpecification[]; + AvailabilityZone: string | undefined; /** - *

        The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

        - *

        Default: 0.0.0.0/0 - *

        + *

        Indicates 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 + * 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.

        */ - LocalIpv4NetworkCidr?: string; + Encrypted?: boolean; /** - *

        The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

        - *

        Default: 0.0.0.0/0 - *

        + *

        The number of I/O operations per second (IOPS). For gp3, 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.

        + *

        The following are the supported values for each volume type:

        + *
          + *
        • + *

          + * gp3: 3,000-16,000 IOPS

          + *
        • + *
        • + *

          + * io1: 100-64,000 IOPS

          + *
        • + *
        • + *

          + * io2: 100-64,000 IOPS

          + *
        • + *
        + *

        + * io1 and io2 volumes support up to 64,000 IOPS only on + * Instances built on the Nitro System. Other instance families support performance + * up to 32,000 IOPS.

        + *

        This parameter is required for io1 and io2 volumes. + * The default for gp3 volumes is 3,000 IOPS. + * This parameter is not supported for gp2, st1, sc1, or standard volumes.

        */ - RemoteIpv4NetworkCidr?: string; + Iops?: number; /** - *

        The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

        - *

        Default: ::/0 - *

        + *

        The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

        + *

        You can specify the KMS key using any of the following:

        + *
          + *
        • + *

          Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

          + *
        • + *
        • + *

          Key alias. For example, alias/ExampleAlias.

          + *
        • + *
        • + *

          Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

          + *
        • + *
        • + *

          Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          + *
        • + *
        + *

        Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

        */ - LocalIpv6NetworkCidr?: string; + KmsKeyId?: string; /** - *

        The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

        - *

        Default: ::/0 - *

        + *

        The Amazon Resource Name (ARN) of the Outpost.

        */ - RemoteIpv6NetworkCidr?: string; -} + OutpostArn?: string; -export namespace VpnConnectionOptionsSpecification { /** - * @internal + *

        The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. + * If you specify a snapshot, the default is the snapshot size. You can specify a volume + * size that is equal to or larger than the snapshot size.

        + *

        The following are the supported volumes sizes for each volume type:

        + *
          + *
        • + *

          + * gp2 and gp3: 1-16,384

          + *
        • + *
        • + *

          + * io1 and io2: 4-16,384

          + *
        • + *
        • + *

          + * st1 and sc1: 125-16,384

          + *
        • + *
        • + *

          + * standard: 1-1,024

          + *
        • + *
        */ - export const filterSensitiveLog = (obj: VpnConnectionOptionsSpecification): any => ({ - ...obj, - }); -} + Size?: number; -/** - *

        Contains the parameters for CreateVpnConnection.

        - */ -export interface CreateVpnConnectionRequest { /** - *

        The ID of the customer gateway.

        + *

        The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

        */ - CustomerGatewayId: string | undefined; + SnapshotId?: string; /** - *

        The type of VPN connection (ipsec.1).

        + *

        The volume type. This parameter can be one of the following values:

        + *
          + *
        • + *

          General Purpose SSD: gp2 | gp3 + *

          + *
        • + *
        • + *

          Provisioned IOPS SSD: io1 | io2 + *

          + *
        • + *
        • + *

          Throughput Optimized HDD: st1 + *

          + *
        • + *
        • + *

          Cold HDD: sc1 + *

          + *
        • + *
        • + *

          Magnetic: standard + *

          + *
        • + *
        + *

        For more information, see Amazon EBS volume types in the + * Amazon Elastic Compute Cloud User Guide.

        + *

        Default: gp2 + *

        */ - Type: string | undefined; + VolumeType?: VolumeType | string; /** - *

        The ID of the virtual private gateway. If you specify a virtual private gateway, you - * cannot specify a 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.

        */ - VpnGatewayId?: string; + DryRun?: boolean; /** - *

        The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private - * gateway.

        + *

        The tags to apply to the volume during creation.

        */ - TransitGatewayId?: 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.

        + *

        Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the + * volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is + * supported with io1 and io2 volumes only. For more information, + * see + * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

        */ - DryRun?: boolean; + MultiAttachEnabled?: boolean; /** - *

        The options for the VPN connection.

        + *

        The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

        + *

        This parameter is valid only for gp3 volumes.

        + *

        Valid Range: Minimum value of 125. Maximum value of 1000.

        */ - Options?: VpnConnectionOptionsSpecification; + Throughput?: number; /** - *

        The tags to apply to the VPN connection.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request. For more information, see Ensure + * Idempotency.

        */ - TagSpecifications?: TagSpecification[]; + ClientToken?: string; } -export namespace CreateVpnConnectionRequest { +export namespace CreateVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVolumeRequest): any => ({ ...obj, }); } -export enum GatewayAssociationState { - associated = "associated", - associating = "associating", - disassociating = "disassociating", - not_associated = "not-associated", -} +export type VolumeState = "available" | "creating" | "deleted" | "deleting" | "error" | "in-use"; /** - *

        The internet key exchange (IKE) version permitted for the VPN tunnel.

        + *

        Describes a volume.

        */ -export interface IKEVersionsListValue { +export interface Volume { /** - *

        The IKE version.

        + *

        Information about the volume attachments.

        */ - Value?: string; -} + Attachments?: VolumeAttachment[]; -export namespace IKEVersionsListValue { /** - * @internal + *

        The Availability Zone for the volume.

        */ - export const filterSensitiveLog = (obj: IKEVersionsListValue): any => ({ - ...obj, - }); -} - -/** - *

        The Diffie-Hellmann group number for phase 1 IKE negotiations.

        - */ -export interface Phase1DHGroupNumbersListValue { - /** - *

        The Diffie-Hellmann group number.

        - */ - Value?: number; -} - -export namespace Phase1DHGroupNumbersListValue { - /** - * @internal - */ - export const filterSensitiveLog = (obj: Phase1DHGroupNumbersListValue): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -/** - *

        The encryption algorithm for phase 1 IKE negotiations.

        - */ -export interface Phase1EncryptionAlgorithmsListValue { /** - *

        The value for the encryption algorithm.

        + *

        The time stamp when volume creation was initiated.

        */ - Value?: string; -} + CreateTime?: Date; -export namespace Phase1EncryptionAlgorithmsListValue { /** - * @internal + *

        Indicates whether the volume is encrypted.

        */ - export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsListValue): any => ({ - ...obj, - }); -} + Encrypted?: boolean; -/** - *

        The integrity algorithm for phase 1 IKE negotiations.

        - */ -export interface Phase1IntegrityAlgorithmsListValue { /** - *

        The value for the integrity algorithm.

        + *

        The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the + * volume encryption key for the volume.

        */ - Value?: string; -} + KmsKeyId?: string; -export namespace Phase1IntegrityAlgorithmsListValue { /** - * @internal + *

        The Amazon Resource Name (ARN) of the Outpost.

        */ - export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsListValue): any => ({ - ...obj, - }); -} + OutpostArn?: string; -/** - *

        The Diffie-Hellmann group number for phase 2 IKE negotiations.

        - */ -export interface Phase2DHGroupNumbersListValue { /** - *

        The Diffie-Hellmann group number.

        + *

        The size of the volume, in GiBs.

        */ - Value?: number; -} + Size?: number; -export namespace Phase2DHGroupNumbersListValue { /** - * @internal + *

        The snapshot from which the volume was created, if applicable.

        */ - export const filterSensitiveLog = (obj: Phase2DHGroupNumbersListValue): any => ({ - ...obj, - }); -} + SnapshotId?: string; -/** - *

        The encryption algorithm for phase 2 IKE negotiations.

        - */ -export interface Phase2EncryptionAlgorithmsListValue { /** - *

        The encryption algorithm.

        + *

        The volume state.

        */ - Value?: string; -} + State?: VolumeState | string; -export namespace Phase2EncryptionAlgorithmsListValue { /** - * @internal + *

        The ID of the volume.

        */ - export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsListValue): any => ({ - ...obj, - }); -} + VolumeId?: string; -/** - *

        The integrity algorithm for phase 2 IKE negotiations.

        - */ -export interface Phase2IntegrityAlgorithmsListValue { /** - *

        The integrity algorithm.

        + *

        The number of I/O operations per second (IOPS). For gp3, 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.

        */ - Value?: string; -} + Iops?: number; -export namespace Phase2IntegrityAlgorithmsListValue { /** - * @internal + *

        Any tags assigned to the volume.

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

        The VPN tunnel options.

        - */ -export interface TunnelOption { /** - *

        The external IP address of the VPN tunnel.

        + *

        The volume type.

        */ - OutsideIpAddress?: string; + VolumeType?: VolumeType | string; /** - *

        The range of inside IPv4 addresses for the tunnel.

        + *

        Indicates whether the volume was created using fast snapshot restore.

        */ - TunnelInsideCidr?: string; + FastRestored?: boolean; /** - *

        The range of inside IPv6 addresses for the tunnel.

        + *

        Indicates whether Amazon EBS Multi-Attach is enabled.

        */ - TunnelInsideIpv6Cidr?: string; + MultiAttachEnabled?: boolean; /** - *

        The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

        + *

        The throughput that the volume supports, in MiB/s.

        */ - PreSharedKey?: string; + Throughput?: number; +} +export namespace Volume { /** - *

        The lifetime for phase 1 of the IKE negotiation, in seconds.

        + * @internal */ - Phase1LifetimeSeconds?: number; + export const filterSensitiveLog = (obj: Volume): any => ({ + ...obj, + }); +} +export interface CreateVpcRequest { /** - *

        The lifetime for phase 2 of the IKE negotiation, in seconds.

        + *

        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.

        */ - Phase2LifetimeSeconds?: number; + CidrBlock?: string; /** - *

        The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services side of the VPN connection performs an IKE rekey.

        + *

        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.

        */ - RekeyMarginTimeSeconds?: number; + AmazonProvidedIpv6CidrBlock?: boolean; /** - *

        The percentage of the rekey window determined by RekeyMarginTimeSeconds - * during which the rekey time is randomly selected.

        + *

        The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

        */ - RekeyFuzzPercentage?: number; + Ipv6Pool?: string; /** - *

        The number of packets in an IKE replay window.

        + *

        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.

        */ - ReplayWindowSize?: number; + Ipv6CidrBlock?: string; /** - *

        The number of seconds after which a DPD timeout occurs.

        + *

        The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide. + * + *

        */ - DpdTimeoutSeconds?: number; + Ipv4IpamPoolId?: string; /** - *

        The action to take after a DPD timeout occurs.

        + *

        The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

        */ - DpdTimeoutAction?: string; + Ipv4NetmaskLength?: number; /** - *

        The permitted encryption algorithms for the VPN tunnel for phase 1 IKE - * negotiations.

        + *

        The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

        */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsListValue[]; + Ipv6IpamPoolId?: string; /** - *

        The permitted encryption algorithms for the VPN tunnel for phase 2 IKE - * negotiations.

        + *

        The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

        */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsListValue[]; + Ipv6NetmaskLength?: number; /** - *

        The permitted integrity algorithms for the VPN tunnel for phase 1 IKE - * negotiations.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsListValue[]; + DryRun?: boolean; /** - *

        The permitted integrity algorithms for the VPN tunnel for phase 2 IKE - * negotiations.

        + *

        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 + *

        */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsListValue[]; + InstanceTenancy?: Tenancy | string; /** - *

        The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE - * negotiations.

        + *

        The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

        + *

        You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

        */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersListValue[]; + Ipv6CidrBlockNetworkBorderGroup?: string; /** - *

        The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE - * negotiations.

        + *

        The tags to assign to the VPC.

        */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersListValue[]; + TagSpecifications?: TagSpecification[]; +} +export namespace CreateVpcRequest { /** - *

        The IKE versions that are permitted for the VPN tunnel.

        + * @internal */ - IkeVersions?: IKEVersionsListValue[]; + export const filterSensitiveLog = (obj: CreateVpcRequest): any => ({ + ...obj, + }); +} +export interface CreateVpcResult { /** - *

        The action to take when the establishing the VPN tunnels for a VPN connection.

        + *

        Information about the VPC.

        */ - StartupAction?: string; + Vpc?: Vpc; } -export namespace TunnelOption { +export namespace CreateVpcResult { /** * @internal */ - export const filterSensitiveLog = (obj: TunnelOption): any => ({ + export const filterSensitiveLog = (obj: CreateVpcResult): any => ({ ...obj, }); } +export enum VpcEndpointType { + Gateway = "Gateway", + GatewayLoadBalancer = "GatewayLoadBalancer", + Interface = "Interface", +} + /** - *

        Describes VPN connection options.

        + *

        Contains the parameters for CreateVpcEndpoint.

        */ -export interface VpnConnectionOptions { +export interface CreateVpcEndpointRequest { /** - *

        Indicates whether acceleration is enabled for the 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.

        */ - EnableAcceleration?: boolean; + DryRun?: boolean; /** - *

        Indicates whether the VPN connection uses static routes only. Static routes must be - * used for devices that don't support BGP.

        + *

        The type of endpoint.

        + *

        Default: Gateway

        */ - StaticRoutesOnly?: boolean; + VpcEndpointType?: VpcEndpointType | string; /** - *

        The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

        + *

        The ID of the VPC in which the endpoint will be used.

        */ - LocalIpv4NetworkCidr?: string; + VpcId: string | undefined; /** - *

        The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

        + *

        The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service + * provider.

        */ - RemoteIpv4NetworkCidr?: string; + ServiceName: string | undefined; /** - *

        The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

        + *

        (Interface and gateway endpoints) 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 + * attach a default policy that allows full access to the service.

        */ - LocalIpv6NetworkCidr?: string; + PolicyDocument?: string; /** - *

        The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

        + *

        (Gateway endpoint) One or more route table IDs.

        */ - RemoteIpv6NetworkCidr?: string; + RouteTableIds?: string[]; /** - *

        Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

        + *

        (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets in which to create an endpoint + * network interface. For a Gateway Load Balancer endpoint, you can specify one subnet only.

        */ - TunnelInsideIpVersion?: TunnelInsideIpVersion | string; + SubnetIds?: string[]; /** - *

        Indicates the VPN tunnel options.

        + *

        (Interface endpoint) The ID of one or more security groups to associate with the + * endpoint network interface.

        */ - TunnelOptions?: TunnelOption[]; + SecurityGroupIds?: 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; + + /** + *

        (Interface endpoint) Indicates whether to associate a private hosted zone with the + * specified VPC. The private hosted zone contains a record set for the default public DNS + * name for the service for the Region (for example, + * kinesis.us-east-1.amazonaws.com), which resolves to the private IP + * addresses of the endpoint network interfaces in the VPC. This enables you to make + * requests to the default public DNS name for the service instead of the public DNS names + * that are automatically generated by the VPC endpoint service.

        + *

        To use a private hosted zone, you must set the following VPC attributes to + * true: enableDnsHostnames and + * enableDnsSupport. Use ModifyVpcAttribute to set the VPC + * attributes.

        + *

        Default: true + *

        + */ + PrivateDnsEnabled?: boolean; + + /** + *

        The tags to associate with the endpoint.

        + */ + TagSpecifications?: TagSpecification[]; } -export namespace VpnConnectionOptions { +export namespace CreateVpcEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnectionOptions): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointRequest): any => ({ ...obj, }); } -export type VpnStaticRouteSource = "Static"; - -export type VpnState = "available" | "deleted" | "deleting" | "pending"; - /** - *

        Describes a static route for a VPN connection.

        + *

        Describes a DNS entry.

        */ -export interface VpnStaticRoute { +export interface DnsEntry { /** - *

        The CIDR block associated with the local subnet of the customer data center.

        - */ - DestinationCidrBlock?: string; - - /** - *

        Indicates how the routes were provided.

        + *

        The DNS name.

        */ - Source?: VpnStaticRouteSource | string; + DnsName?: string; /** - *

        The current state of the static route.

        + *

        The ID of the private hosted zone.

        */ - State?: VpnState | string; + HostedZoneId?: string; } -export namespace VpnStaticRoute { +export namespace DnsEntry { /** * @internal */ - export const filterSensitiveLog = (obj: VpnStaticRoute): any => ({ + export const filterSensitiveLog = (obj: DnsEntry): any => ({ ...obj, }); } -export type TelemetryStatus = "DOWN" | "UP"; - /** - *

        Describes telemetry for a VPN tunnel.

        + *

        Describes a security group.

        */ -export interface VgwTelemetry { +export interface SecurityGroupIdentifier { /** - *

        The number of accepted routes.

        + *

        The ID of the security group.

        */ - AcceptedRouteCount?: number; + GroupId?: string; /** - *

        The date and time of the last change in status.

        + *

        The name of the security group.

        */ - LastStatusChange?: Date; + GroupName?: string; +} +export namespace SecurityGroupIdentifier { /** - *

        The Internet-routable IP address of the virtual private gateway's outside - * interface.

        + * @internal */ - OutsideIpAddress?: string; + export const filterSensitiveLog = (obj: SecurityGroupIdentifier): any => ({ + ...obj, + }); +} +/** + *

        The last error that occurred for a VPC endpoint.

        + */ +export interface LastError { /** - *

        The status of the VPN tunnel.

        + *

        The error message for the VPC endpoint error.

        */ - Status?: TelemetryStatus | string; + Message?: string; /** - *

        If an error occurs, a description of the error.

        + *

        The error code for the VPC endpoint error.

        */ - StatusMessage?: string; + Code?: string; +} +export namespace LastError { /** - *

        The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

        + * @internal */ - CertificateArn?: string; -} - -export namespace VgwTelemetry { - /** - * @internal - */ - export const filterSensitiveLog = (obj: VgwTelemetry): any => ({ + export const filterSensitiveLog = (obj: LastError): any => ({ ...obj, }); } +export enum State { + Available = "Available", + Deleted = "Deleted", + Deleting = "Deleting", + Expired = "Expired", + Failed = "Failed", + Pending = "Pending", + PendingAcceptance = "PendingAcceptance", + Rejected = "Rejected", +} + /** - *

        Describes a VPN connection.

        + *

        Describes a VPC endpoint.

        */ -export interface VpnConnection { +export interface VpcEndpoint { /** - *

        The configuration information for the VPN connection's customer gateway (in the native - * XML format). This element is always present in the CreateVpnConnection - * response; however, it's present in the DescribeVpnConnections response - * only if the VPN connection is in the pending or available - * state.

        + *

        The ID of the VPC endpoint.

        */ - CustomerGatewayConfiguration?: string; + VpcEndpointId?: string; /** - *

        The ID of the customer gateway at your end of the VPN connection.

        + *

        The type of endpoint.

        */ - CustomerGatewayId?: string; + VpcEndpointType?: VpcEndpointType | string; /** - *

        The category of the VPN connection. A value of VPN indicates an Amazon Web Services VPN connection. A value of VPN-Classic indicates an Amazon Web Services Classic VPN connection.

        + *

        The ID of the VPC to which the endpoint is associated.

        */ - Category?: string; + VpcId?: string; /** - *

        The current state of the VPN connection.

        + *

        The name of the service to which the endpoint is associated.

        */ - State?: VpnState | string; + ServiceName?: string; /** - *

        The type of VPN connection.

        + *

        The state of the VPC endpoint.

        */ - Type?: GatewayType | string; + State?: State | string; /** - *

        The ID of the VPN connection.

        + *

        The policy document associated with the endpoint, if applicable.

        */ - VpnConnectionId?: string; + PolicyDocument?: string; /** - *

        The ID of the virtual private gateway at the Amazon Web Services side of the VPN - * connection.

        + *

        (Gateway endpoint) One or more route tables associated with the endpoint.

        */ - VpnGatewayId?: string; + RouteTableIds?: string[]; /** - *

        The ID of the transit gateway associated with the VPN connection.

        + *

        (Interface endpoint) One or more subnets in which the endpoint is located.

        */ - TransitGatewayId?: string; + SubnetIds?: string[]; /** - *

        The ARN of the core network.

        + *

        (Interface endpoint) Information about the security groups that are associated with + * the network interface.

        */ - CoreNetworkArn?: string; + Groups?: SecurityGroupIdentifier[]; /** - *

        The ARN of the core network attachment.

        + *

        (Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

        */ - CoreNetworkAttachmentArn?: string; + PrivateDnsEnabled?: boolean; /** - *

        The current state of the gateway association.

        + *

        Indicates whether the VPC endpoint is being managed by its service.

        */ - GatewayAssociationState?: GatewayAssociationState | string; + RequesterManaged?: boolean; /** - *

        The VPN connection options.

        + *

        (Interface endpoint) One or more network interfaces for the endpoint.

        */ - Options?: VpnConnectionOptions; + NetworkInterfaceIds?: string[]; /** - *

        The static routes associated with the VPN connection.

        + *

        (Interface endpoint) The DNS entries for the endpoint.

        */ - Routes?: VpnStaticRoute[]; + DnsEntries?: DnsEntry[]; /** - *

        Any tags assigned to the VPN connection.

        + *

        The date and time that the VPC endpoint was created.

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

        Information about the VPN tunnel.

        + *

        Any tags assigned to the VPC endpoint.

        */ - VgwTelemetry?: VgwTelemetry[]; -} + Tags?: Tag[]; -export namespace VpnConnection { /** - * @internal + *

        The ID of the Amazon Web Services account that owns the VPC endpoint.

        */ - export const filterSensitiveLog = (obj: VpnConnection): any => ({ - ...obj, - }); -} + OwnerId?: string; -/** - *

        Contains the output of CreateVpnConnection.

        - */ -export interface CreateVpnConnectionResult { /** - *

        Information about the VPN connection.

        + *

        The last error that occurred for VPC endpoint.

        */ - VpnConnection?: VpnConnection; + LastError?: LastError; } -export namespace CreateVpnConnectionResult { +export namespace VpcEndpoint { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnConnectionResult): any => ({ + export const filterSensitiveLog = (obj: VpcEndpoint): any => ({ ...obj, }); } /** - *

        Contains the parameters for CreateVpnConnectionRoute.

        + *

        Contains the output of CreateVpcEndpoint.

        */ -export interface CreateVpnConnectionRouteRequest { +export interface CreateVpcEndpointResult { /** - *

        The CIDR block associated with the local subnet of the customer network.

        + *

        Information about the endpoint.

        */ - DestinationCidrBlock: string | undefined; + VpcEndpoint?: VpcEndpoint; /** - *

        The ID of the VPN connection.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

        */ - VpnConnectionId: string | undefined; + ClientToken?: string; } -export namespace CreateVpnConnectionRouteRequest { +export namespace CreateVpcEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnConnectionRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointResult): any => ({ ...obj, }); } -/** - *

        Contains the parameters for CreateVpnGateway.

        - */ -export interface CreateVpnGatewayRequest { +export interface CreateVpcEndpointConnectionNotificationRequest { /** - *

        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 type of VPN connection this virtual private gateway supports.

        + *

        The ID of the endpoint service.

        */ - Type: GatewayType | string | undefined; + ServiceId?: string; /** - *

        The tags to apply to the virtual private gateway.

        + *

        The ID of the endpoint.

        */ - TagSpecifications?: TagSpecification[]; + VpcEndpointId?: string; /** - *

        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.

        - *

        Default: 64512

        + *

        The ARN of the SNS topic for the notifications.

        */ - AmazonSideAsn?: number; + ConnectionNotificationArn: 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.

        + *

        One or more endpoint events for which to receive notifications. Valid values are + * Accept, Connect, Delete, and + * Reject.

        */ - DryRun?: boolean; + ConnectionEvents: 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 CreateVpnGatewayRequest { +export namespace CreateVpcEndpointConnectionNotificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationRequest): any => ({ ...obj, }); } +export enum ConnectionNotificationState { + Disabled = "Disabled", + Enabled = "Enabled", +} + +export enum ConnectionNotificationType { + Topic = "Topic", +} + /** - *

        Describes a virtual private gateway.

        + *

        Describes a connection notification for a VPC endpoint or VPC endpoint + * service.

        */ -export interface VpnGateway { +export interface ConnectionNotification { /** - *

        The Availability Zone where the virtual private gateway was created, if applicable. - * This field may be empty or not returned.

        + *

        The ID of the notification.

        */ - AvailabilityZone?: string; + ConnectionNotificationId?: string; /** - *

        The current state of the virtual private gateway.

        + *

        The ID of the endpoint service.

        */ - State?: VpnState | string; + ServiceId?: string; /** - *

        The type of VPN connection the virtual private gateway supports.

        + *

        The ID of the VPC endpoint.

        */ - Type?: GatewayType | string; + VpcEndpointId?: string; /** - *

        Any VPCs attached to the virtual private gateway.

        + *

        The type of notification.

        */ - VpcAttachments?: VpcAttachment[]; + ConnectionNotificationType?: ConnectionNotificationType | string; /** - *

        The ID of the virtual private gateway.

        + *

        The ARN of the SNS topic for the notification.

        */ - VpnGatewayId?: string; + ConnectionNotificationArn?: string; /** - *

        The private Autonomous System Number (ASN) for the Amazon side of a BGP - * session.

        + *

        The events for the notification. Valid values are Accept, + * Connect, Delete, and Reject.

        */ - AmazonSideAsn?: number; + ConnectionEvents?: string[]; /** - *

        Any tags assigned to the virtual private gateway.

        + *

        The state of the notification.

        */ - Tags?: Tag[]; + ConnectionNotificationState?: ConnectionNotificationState | string; } -export namespace VpnGateway { +export namespace ConnectionNotification { /** * @internal */ - export const filterSensitiveLog = (obj: VpnGateway): any => ({ + export const filterSensitiveLog = (obj: ConnectionNotification): any => ({ ...obj, }); } -/** - *

        Contains the output of CreateVpnGateway.

        - */ -export interface CreateVpnGatewayResult { +export interface CreateVpcEndpointConnectionNotificationResult { /** - *

        Information about the virtual private gateway.

        + *

        Information about the notification.

        */ - VpnGateway?: VpnGateway; + ConnectionNotification?: ConnectionNotification; + + /** + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

        + */ + ClientToken?: string; } -export namespace CreateVpnGatewayResult { +export namespace CreateVpcEndpointConnectionNotificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnGatewayResult): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationResult): any => ({ ...obj, }); } -export interface DeleteCarrierGatewayRequest { - /** - *

        The ID of the carrier gateway.

        - */ - CarrierGatewayId: string | undefined; - +export interface CreateVpcEndpointServiceConfigurationRequest { /** *

        Checks whether you have the required permissions for the action, without 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 { /** - * @internal + *

        Indicates whether requests from service consumers to create an endpoint to your service must + * be accepted. To accept a request, use AcceptVpcEndpointConnections.

        */ - export const filterSensitiveLog = (obj: DeleteCarrierGatewayRequest): any => ({ - ...obj, - }); -} + AcceptanceRequired?: boolean; -export interface DeleteCarrierGatewayResult { /** - *

        Information about the carrier gateway.

        + *

        (Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

        */ - CarrierGateway?: CarrierGateway; -} + PrivateDnsName?: string; -export namespace DeleteCarrierGatewayResult { /** - * @internal + *

        The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your + * service.

        */ - export const filterSensitiveLog = (obj: DeleteCarrierGatewayResult): any => ({ - ...obj, - }); -} + NetworkLoadBalancerArns?: string[]; -export interface DeleteClientVpnEndpointRequest { /** - *

        The ID of the Client VPN to be deleted.

        + *

        The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.

        */ - ClientVpnEndpointId: string | undefined; + GatewayLoadBalancerArns?: 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 that you provide to ensure the idempotency of the request. + * For more information, see How to ensure + * idempotency.

        */ - DryRun?: boolean; + ClientToken?: string; + + /** + *

        The tags to associate with the service.

        + */ + TagSpecifications?: TagSpecification[]; } -export namespace DeleteClientVpnEndpointRequest { +export namespace CreateVpcEndpointServiceConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteClientVpnEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationRequest): any => ({ ...obj, }); } -export interface DeleteClientVpnEndpointResult { - /** - *

        The current state of the Client VPN endpoint.

        - */ - Status?: ClientVpnEndpointStatus; -} - -export namespace DeleteClientVpnEndpointResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeleteClientVpnEndpointResult): any => ({ - ...obj, - }); +export enum DnsNameState { + Failed = "failed", + PendingVerification = "pendingVerification", + Verified = "verified", } -export interface DeleteClientVpnRouteRequest { +/** + *

        Information about the private DNS name for the service endpoint. For more information + * about these parameters, see VPC Endpoint Service + * Private DNS Name Verification in the + * Amazon Virtual Private Cloud User Guide.

        + */ +export interface PrivateDnsNameConfiguration { /** - *

        The ID of the Client VPN endpoint from which the route is to be deleted.

        + *

        The verification state of the VPC endpoint service.

        + *

        >Consumers + * of the endpoint service can use the private name only when the state is + * verified.

        */ - ClientVpnEndpointId: string | undefined; + State?: DnsNameState | string; /** - *

        The ID of the target subnet used by the route.

        + *

        The endpoint service verification type, for example TXT.

        */ - TargetVpcSubnetId?: string; + Type?: string; /** - *

        The IPv4 address range, in CIDR notation, of the route to be deleted.

        + *

        The value the service provider adds to the private DNS name domain record before verification.

        */ - DestinationCidrBlock: string | undefined; + Value?: 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 name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

        */ - DryRun?: boolean; + Name?: string; } -export namespace DeleteClientVpnRouteRequest { +export namespace PrivateDnsNameConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteClientVpnRouteRequest): any => ({ + export const filterSensitiveLog = (obj: PrivateDnsNameConfiguration): any => ({ ...obj, }); } -export interface DeleteClientVpnRouteResult { +export enum ServiceState { + Available = "Available", + Deleted = "Deleted", + Deleting = "Deleting", + Failed = "Failed", + Pending = "Pending", +} + +export enum ServiceType { + Gateway = "Gateway", + GatewayLoadBalancer = "GatewayLoadBalancer", + Interface = "Interface", +} + +/** + *

        Describes the type of service for a VPC endpoint.

        + */ +export interface ServiceTypeDetail { /** - *

        The current state of the route.

        + *

        The type of service.

        */ - Status?: ClientVpnRouteStatus; + ServiceType?: ServiceType | string; } -export namespace DeleteClientVpnRouteResult { +export namespace ServiceTypeDetail { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteClientVpnRouteResult): any => ({ + export const filterSensitiveLog = (obj: ServiceTypeDetail): any => ({ ...obj, }); } /** - *

        Contains the parameters for DeleteCustomerGateway.

        + *

        Describes a service configuration for a VPC endpoint service.

        */ -export interface DeleteCustomerGatewayRequest { +export interface ServiceConfiguration { /** - *

        The ID of the customer gateway.

        + *

        The type of service.

        */ - CustomerGatewayId: 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 ID of the service.

        */ - DryRun?: boolean; -} + ServiceId?: string; -export namespace DeleteCustomerGatewayRequest { /** - * @internal + *

        The name of the service.

        */ - export const filterSensitiveLog = (obj: DeleteCustomerGatewayRequest): any => ({ - ...obj, - }); -} + ServiceName?: string; -export interface DeleteDhcpOptionsRequest { /** - *

        The ID of the DHCP options set.

        + *

        The service state.

        */ - DhcpOptionsId: string | undefined; + ServiceState?: ServiceState | 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 Availability Zones in which the service is available.

        */ - DryRun?: boolean; -} + AvailabilityZones?: string[]; -export namespace DeleteDhcpOptionsRequest { /** - * @internal + *

        Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

        */ - export const filterSensitiveLog = (obj: DeleteDhcpOptionsRequest): any => ({ - ...obj, - }); -} + AcceptanceRequired?: boolean; -export interface DeleteEgressOnlyInternetGatewayRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

        */ - DryRun?: boolean; + ManagesVpcEndpoints?: boolean; /** - *

        The ID of the egress-only internet gateway.

        + *

        The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

        */ - EgressOnlyInternetGatewayId: string | undefined; + NetworkLoadBalancerArns?: string[]; + + /** + *

        The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

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

        The DNS names for the service.

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

        The private DNS name for the service.

        + */ + PrivateDnsName?: string; + + /** + *

        Information about the endpoint service private DNS name configuration.

        + */ + PrivateDnsNameConfiguration?: PrivateDnsNameConfiguration; + + /** + *

        Any tags assigned to the service.

        + */ + Tags?: Tag[]; } -export namespace DeleteEgressOnlyInternetGatewayRequest { +export namespace ServiceConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: ServiceConfiguration): any => ({ ...obj, }); } -export interface DeleteEgressOnlyInternetGatewayResult { +export interface CreateVpcEndpointServiceConfigurationResult { /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        + *

        Information about the service configuration.

        */ - ReturnCode?: boolean; + ServiceConfiguration?: ServiceConfiguration; + + /** + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

        + */ + ClientToken?: string; } -export namespace DeleteEgressOnlyInternetGatewayResult { +export namespace CreateVpcEndpointServiceConfigurationResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayResult): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationResult): any => ({ ...obj, }); } -export interface DeleteFleetsRequest { +export interface CreateVpcPeeringConnectionRequest { /** *

        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1840,1198 +1885,1190 @@ export interface DeleteFleetsRequest { DryRun?: boolean; /** - *

        The IDs of the EC2 Fleets.

        + *

        The Amazon Web Services account ID of the owner of the accepter VPC.

        + *

        Default: Your Amazon Web Services account ID

        */ - FleetIds: string[] | undefined; + PeerOwnerId?: string; /** - *

        Indicates whether to terminate the instances when the EC2 Fleet is deleted. The default is to - * terminate the instances.

        - *

        To let the instances continue to run after the EC2 Fleet is deleted, specify - * NoTerminateInstances. Supported only for fleets of type - * maintain and request.

        - *

        For instant fleets, you cannot specify NoTerminateInstances. A - * deleted instant fleet with running instances is not supported.

        + *

        The ID of the VPC with which you are creating the VPC peering connection. You must + * specify this parameter in the request.

        */ - TerminateInstances: boolean | undefined; -} + PeerVpcId?: string; -export namespace DeleteFleetsRequest { /** - * @internal + *

        The ID of the requester VPC. You must specify this parameter in the + * request.

        */ - export const filterSensitiveLog = (obj: DeleteFleetsRequest): any => ({ - ...obj, - }); -} + VpcId?: string; -export enum FleetStateCode { - ACTIVE = "active", - DELETED = "deleted", - DELETED_RUNNING = "deleted_running", - DELETED_TERMINATING_INSTANCES = "deleted_terminating", - FAILED = "failed", - MODIFYING = "modifying", - SUBMITTED = "submitted", -} + /** + *

        The Region code for the accepter VPC, if the accepter VPC is located in a Region + * other than the Region in which you make the request.

        + *

        Default: The Region in which you make the request.

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

        Describes an EC2 Fleet that was successfully deleted.

        - */ -export interface DeleteFleetSuccessItem { /** - *

        The current state of the EC2 Fleet.

        + *

        The tags to assign to the peering connection.

        */ - CurrentFleetState?: FleetStateCode | string; + TagSpecifications?: TagSpecification[]; +} +export namespace CreateVpcPeeringConnectionRequest { /** - *

        The previous state of the EC2 Fleet.

        + * @internal */ - PreviousFleetState?: FleetStateCode | string; + export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionRequest): any => ({ + ...obj, + }); +} +export interface CreateVpcPeeringConnectionResult { /** - *

        The ID of the EC2 Fleet.

        + *

        Information about the VPC peering connection.

        */ - FleetId?: string; + VpcPeeringConnection?: VpcPeeringConnection; } -export namespace DeleteFleetSuccessItem { +export namespace CreateVpcPeeringConnectionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFleetSuccessItem): any => ({ + export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionResult): any => ({ ...obj, }); } -export enum DeleteFleetErrorCode { - FLEET_ID_DOES_NOT_EXIST = "fleetIdDoesNotExist", - FLEET_ID_MALFORMED = "fleetIdMalformed", - FLEET_NOT_IN_DELETABLE_STATE = "fleetNotInDeletableState", - UNEXPECTED_ERROR = "unexpectedError", -} +export type TunnelInsideIpVersion = "ipv4" | "ipv6"; /** - *

        Describes an EC2 Fleet error.

        + *

        The IKE version that is permitted for the VPN tunnel.

        */ -export interface DeleteFleetError { +export interface IKEVersionsRequestListValue { /** - *

        The error code.

        + *

        The IKE version.

        */ - Code?: DeleteFleetErrorCode | string; - - /** - *

        The description for the error code.

        - */ - Message?: string; + Value?: string; } -export namespace DeleteFleetError { +export namespace IKEVersionsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFleetError): any => ({ + export const filterSensitiveLog = (obj: IKEVersionsRequestListValue): any => ({ ...obj, }); } /** - *

        Describes an EC2 Fleet that was not successfully deleted.

        + *

        Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE + * negotiations.

        */ -export interface DeleteFleetErrorItem { - /** - *

        The error.

        - */ - Error?: DeleteFleetError; - +export interface Phase1DHGroupNumbersRequestListValue { /** - *

        The ID of the EC2 Fleet.

        + *

        The Diffie-Hellmann group number.

        */ - FleetId?: string; + Value?: number; } -export namespace DeleteFleetErrorItem { +export namespace Phase1DHGroupNumbersRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFleetErrorItem): any => ({ + export const filterSensitiveLog = (obj: Phase1DHGroupNumbersRequestListValue): any => ({ ...obj, }); } -export interface DeleteFleetsResult { - /** - *

        Information about the EC2 Fleets that are successfully deleted.

        - */ - SuccessfulFleetDeletions?: DeleteFleetSuccessItem[]; - +/** + *

        Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE + * negotiations.

        + */ +export interface Phase1EncryptionAlgorithmsRequestListValue { /** - *

        Information about the EC2 Fleets that are not successfully deleted.

        + *

        The value for the encryption algorithm.

        */ - UnsuccessfulFleetDeletions?: DeleteFleetErrorItem[]; + Value?: string; } -export namespace DeleteFleetsResult { +export namespace Phase1EncryptionAlgorithmsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFleetsResult): any => ({ + export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsRequestListValue): any => ({ ...obj, }); } -export interface DeleteFlowLogsRequest { - /** - *

        Checks whether you have the required permissions for the action, without 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; - +/** + *

        Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE + * negotiations.

        + */ +export interface Phase1IntegrityAlgorithmsRequestListValue { /** - *

        One or more flow log IDs.

        - *

        Constraint: Maximum of 1000 flow log IDs.

        + *

        The value for the integrity algorithm.

        */ - FlowLogIds: string[] | undefined; + Value?: string; } -export namespace DeleteFlowLogsRequest { +export namespace Phase1IntegrityAlgorithmsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFlowLogsRequest): any => ({ + export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsRequestListValue): any => ({ ...obj, }); } -export interface DeleteFlowLogsResult { +/** + *

        Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE + * negotiations.

        + */ +export interface Phase2DHGroupNumbersRequestListValue { /** - *

        Information about the flow logs that could not be deleted successfully.

        + *

        The Diffie-Hellmann group number.

        */ - Unsuccessful?: UnsuccessfulItem[]; + Value?: number; } -export namespace DeleteFlowLogsResult { +export namespace Phase2DHGroupNumbersRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFlowLogsResult): any => ({ + export const filterSensitiveLog = (obj: Phase2DHGroupNumbersRequestListValue): any => ({ ...obj, }); } -export interface DeleteFpgaImageRequest { - /** - *

        Checks whether you have the required permissions for the action, without 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; - +/** + *

        Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE + * negotiations.

        + */ +export interface Phase2EncryptionAlgorithmsRequestListValue { /** - *

        The ID of the AFI.

        + *

        The encryption algorithm.

        */ - FpgaImageId: string | undefined; + Value?: string; } -export namespace DeleteFpgaImageRequest { +export namespace Phase2EncryptionAlgorithmsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFpgaImageRequest): any => ({ + export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsRequestListValue): any => ({ ...obj, }); } -export interface DeleteFpgaImageResult { +/** + *

        Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE + * negotiations.

        + */ +export interface Phase2IntegrityAlgorithmsRequestListValue { /** - *

        Is true if the request succeeds, and an error otherwise.

        + *

        The integrity algorithm.

        */ - Return?: boolean; + Value?: string; } -export namespace DeleteFpgaImageResult { +export namespace Phase2IntegrityAlgorithmsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFpgaImageResult): any => ({ + export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsRequestListValue): any => ({ ...obj, }); } -export interface DeleteInstanceEventWindowRequest { +/** + *

        The tunnel options for a single VPN tunnel.

        + */ +export interface VpnTunnelOptionsSpecification { /** - *

        Checks whether you have the required permissions for the action, without 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 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:

        + *
          + *
        • + *

          + * 169.254.0.0/30 + *

          + *
        • + *
        • + *

          + * 169.254.1.0/30 + *

          + *
        • + *
        • + *

          + * 169.254.2.0/30 + *

          + *
        • + *
        • + *

          + * 169.254.3.0/30 + *

          + *
        • + *
        • + *

          + * 169.254.4.0/30 + *

          + *
        • + *
        • + *

          + * 169.254.5.0/30 + *

          + *
        • + *
        • + *

          + * 169.254.169.252/30 + *

          + *
        • + *
        */ - DryRun?: boolean; + TunnelInsideCidr?: string; /** - *

        Specify true to force delete the event window. Use the force delete parameter - * if the event window is currently associated with targets.

        + *

        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.

        */ - ForceDelete?: boolean; + TunnelInsideIpv6Cidr?: string; /** - *

        The ID of the event window.

        + *

        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).

        */ - InstanceEventWindowId: string | undefined; -} + PreSharedKey?: string; -export namespace DeleteInstanceEventWindowRequest { /** - * @internal + *

        The lifetime for phase 1 of the IKE negotiation, in seconds.

        + *

        Constraints: A value between 900 and 28,800.

        + *

        Default: 28800 + *

        */ - export const filterSensitiveLog = (obj: DeleteInstanceEventWindowRequest): any => ({ - ...obj, - }); -} + Phase1LifetimeSeconds?: number; -/** - *

        The state of the event window.

        - */ -export interface InstanceEventWindowStateChange { /** - *

        The ID of the event window.

        + *

        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 + *

        */ - InstanceEventWindowId?: string; + Phase2LifetimeSeconds?: number; /** - *

        The current state of the event window.

        + *

        The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services 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 + *

        */ - State?: InstanceEventWindowState | string; -} + RekeyMarginTimeSeconds?: number; -export namespace InstanceEventWindowStateChange { /** - * @internal + *

        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 + *

        */ - export const filterSensitiveLog = (obj: InstanceEventWindowStateChange): any => ({ - ...obj, - }); -} + RekeyFuzzPercentage?: number; -export interface DeleteInstanceEventWindowResult { /** - *

        The state of the event window.

        + *

        The number of packets in an IKE replay window.

        + *

        Constraints: A value between 64 and 2048.

        + *

        Default: 1024 + *

        */ - InstanceEventWindowState?: InstanceEventWindowStateChange; -} + ReplayWindowSize?: number; -export namespace DeleteInstanceEventWindowResult { /** - * @internal + *

        The number of seconds after which a DPD timeout occurs.

        + *

        Constraints: A value between 0 and 30.

        + *

        Default: 30 + *

        */ - export const filterSensitiveLog = (obj: DeleteInstanceEventWindowResult): any => ({ - ...obj, - }); -} + DPDTimeoutSeconds?: number; -export interface DeleteInternetGatewayRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 internet gateway.

        + *

        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 + *

        */ - InternetGatewayId: string | undefined; -} + DPDTimeoutAction?: string; -export namespace DeleteInternetGatewayRequest { /** - * @internal + *

        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 + *

        */ - export const filterSensitiveLog = (obj: DeleteInternetGatewayRequest): any => ({ - ...obj, - }); -} + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; -export interface DeleteKeyPairRequest { /** - *

        The name of the key pair.

        + *

        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 + *

        */ - KeyName?: string; + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; /** - *

        The ID of the key pair.

        + *

        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 + *

        */ - KeyPairId?: string; + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; /** - *

        Checks whether you have the required permissions for the action, without 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 integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE + * negotiations.

        + *

        Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

        */ - DryRun?: boolean; -} + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; -export namespace DeleteKeyPairRequest { /** - * @internal + *

        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 + *

        */ - export const filterSensitiveLog = (obj: DeleteKeyPairRequest): any => ({ - ...obj, - }); -} + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; -export interface DeleteLaunchTemplateRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 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 + *

        */ - DryRun?: boolean; + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; /** - *

        The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

        + *

        The IKE versions that are permitted for the VPN tunnel.

        + *

        Valid values: ikev1 | ikev2 + *

        */ - LaunchTemplateId?: string; + IKEVersions?: IKEVersionsRequestListValue[]; /** - *

        The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

        + *

        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 Amazon Web Services to initiate the IKE + * negotiation.

        + *

        Valid Values: add | start + *

        + *

        Default: add + *

        */ - LaunchTemplateName?: string; + StartupAction?: string; } -export namespace DeleteLaunchTemplateRequest { +export namespace VpnTunnelOptionsSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: VpnTunnelOptionsSpecification): any => ({ ...obj, }); } -export interface DeleteLaunchTemplateResult { +/** + *

        Describes VPN connection options.

        + */ +export interface VpnConnectionOptionsSpecification { /** - *

        Information about the launch template.

        + *

        Indicate whether to enable acceleration for the VPN connection.

        + *

        Default: false + *

        */ - LaunchTemplate?: LaunchTemplate; -} + EnableAcceleration?: boolean; -export namespace DeleteLaunchTemplateResult { /** - * @internal + *

        Indicate whether the VPN connection uses static routes only. If you are creating a VPN + * connection for a device that does not support BGP, you must specify true. + * Use CreateVpnConnectionRoute to create a static route.

        + *

        Default: false + *

        */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateResult): any => ({ - ...obj, - }); -} + StaticRoutesOnly?: boolean; -export interface DeleteLaunchTemplateVersionsRequest { /** - *

        Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

        + *

        Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

        + *

        Default: ipv4 + *

        */ - DryRun?: boolean; + TunnelInsideIpVersion?: TunnelInsideIpVersion | string; /** - *

        The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

        + *

        The tunnel options for the VPN connection.

        */ - LaunchTemplateId?: string; + TunnelOptions?: VpnTunnelOptionsSpecification[]; /** - *

        The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

        + *

        The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

        + *

        Default: 0.0.0.0/0 + *

        */ - LaunchTemplateName?: string; + LocalIpv4NetworkCidr?: string; /** - *

        The version numbers of one or more launch template versions to delete.

        + *

        The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

        + *

        Default: 0.0.0.0/0 + *

        */ - Versions: string[] | undefined; + RemoteIpv4NetworkCidr?: string; + + /** + *

        The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

        + *

        Default: ::/0 + *

        + */ + LocalIpv6NetworkCidr?: string; + + /** + *

        The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

        + *

        Default: ::/0 + *

        + */ + RemoteIpv6NetworkCidr?: string; } -export namespace DeleteLaunchTemplateVersionsRequest { +export namespace VpnConnectionOptionsSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsRequest): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionOptionsSpecification): any => ({ ...obj, }); } /** - *

        Describes a launch template version that was successfully deleted.

        + *

        Contains the parameters for CreateVpnConnection.

        */ -export interface DeleteLaunchTemplateVersionsResponseSuccessItem { +export interface CreateVpnConnectionRequest { /** - *

        The ID of the launch template.

        + *

        The ID of the customer gateway.

        */ - LaunchTemplateId?: string; + CustomerGatewayId: string | undefined; /** - *

        The name of the launch template.

        + *

        The type of VPN connection (ipsec.1).

        */ - LaunchTemplateName?: string; + Type: string | undefined; /** - *

        The version number of the launch template.

        + *

        The ID of the virtual private gateway. If you specify a virtual private gateway, you + * cannot specify a transit gateway.

        */ - VersionNumber?: number; + VpnGatewayId?: string; + + /** + *

        The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private + * gateway.

        + */ + TransitGatewayId?: 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 options for the VPN connection.

        + */ + Options?: VpnConnectionOptionsSpecification; + + /** + *

        The tags to apply to the VPN connection.

        + */ + TagSpecifications?: TagSpecification[]; } -export namespace DeleteLaunchTemplateVersionsResponseSuccessItem { +export namespace CreateVpnConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseSuccessItem): any => ({ + export const filterSensitiveLog = (obj: CreateVpnConnectionRequest): any => ({ ...obj, }); } -export enum LaunchTemplateErrorCode { - LAUNCH_TEMPLATE_ID_DOES_NOT_EXIST = "launchTemplateIdDoesNotExist", - LAUNCH_TEMPLATE_ID_MALFORMED = "launchTemplateIdMalformed", - LAUNCH_TEMPLATE_NAME_DOES_NOT_EXIST = "launchTemplateNameDoesNotExist", - LAUNCH_TEMPLATE_NAME_MALFORMED = "launchTemplateNameMalformed", - LAUNCH_TEMPLATE_VERSION_DOES_NOT_EXIST = "launchTemplateVersionDoesNotExist", - UNEXPECTED_ERROR = "unexpectedError", +export enum GatewayAssociationState { + associated = "associated", + associating = "associating", + disassociating = "disassociating", + not_associated = "not-associated", } /** - *

        Describes the error that's returned when you cannot delete a launch template - * version.

        + *

        The internet key exchange (IKE) version permitted for the VPN tunnel.

        */ -export interface ResponseError { - /** - *

        The error code.

        - */ - Code?: LaunchTemplateErrorCode | string; - +export interface IKEVersionsListValue { /** - *

        The error message, if applicable.

        + *

        The IKE version.

        */ - Message?: string; + Value?: string; } -export namespace ResponseError { +export namespace IKEVersionsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: ResponseError): any => ({ + export const filterSensitiveLog = (obj: IKEVersionsListValue): any => ({ ...obj, }); } /** - *

        Describes a launch template version that could not be deleted.

        + *

        The Diffie-Hellmann group number for phase 1 IKE negotiations.

        */ -export interface DeleteLaunchTemplateVersionsResponseErrorItem { +export interface Phase1DHGroupNumbersListValue { /** - *

        The ID of the launch template.

        + *

        The Diffie-Hellmann group number.

        */ - LaunchTemplateId?: string; - - /** - *

        The name of the launch template.

        - */ - LaunchTemplateName?: string; + Value?: number; +} +export namespace Phase1DHGroupNumbersListValue { /** - *

        The version number of the launch template.

        + * @internal */ - VersionNumber?: number; + export const filterSensitiveLog = (obj: Phase1DHGroupNumbersListValue): any => ({ + ...obj, + }); +} +/** + *

        The encryption algorithm for phase 1 IKE negotiations.

        + */ +export interface Phase1EncryptionAlgorithmsListValue { /** - *

        Information about the error.

        + *

        The value for the encryption algorithm.

        */ - ResponseError?: ResponseError; + Value?: string; } -export namespace DeleteLaunchTemplateVersionsResponseErrorItem { +export namespace Phase1EncryptionAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseErrorItem): any => ({ + export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsListValue): any => ({ ...obj, }); } -export interface DeleteLaunchTemplateVersionsResult { - /** - *

        Information about the launch template versions that were successfully - * deleted.

        - */ - SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; - +/** + *

        The integrity algorithm for phase 1 IKE negotiations.

        + */ +export interface Phase1IntegrityAlgorithmsListValue { /** - *

        Information about the launch template versions that could not be deleted.

        + *

        The value for the integrity algorithm.

        */ - UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; + Value?: string; } -export namespace DeleteLaunchTemplateVersionsResult { +export namespace Phase1IntegrityAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResult): any => ({ + export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsListValue): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteRequest { - /** - *

        The CIDR range for the route. This must match the CIDR for the route exactly.

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

        The ID of the local gateway route table.

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

        The Diffie-Hellmann group number for phase 2 IKE negotiations.

        + */ +export interface Phase2DHGroupNumbersListValue { /** - *

        Checks whether you have the required permissions for the action, without 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 Diffie-Hellmann group number.

        */ - DryRun?: boolean; + Value?: number; } -export namespace DeleteLocalGatewayRouteRequest { +export namespace Phase2DHGroupNumbersListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: Phase2DHGroupNumbersListValue): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteResult { +/** + *

        The encryption algorithm for phase 2 IKE negotiations.

        + */ +export interface Phase2EncryptionAlgorithmsListValue { /** - *

        Information about the route.

        + *

        The encryption algorithm.

        */ - Route?: LocalGatewayRoute; + Value?: string; } -export namespace DeleteLocalGatewayRouteResult { +export namespace Phase2EncryptionAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsListValue): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteTableVpcAssociationRequest { - /** - *

        The ID of the association.

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

        The integrity algorithm for phase 2 IKE negotiations.

        + */ +export interface Phase2IntegrityAlgorithmsListValue { /** - *

        Checks whether you have the required permissions for the action, without 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 integrity algorithm.

        */ - DryRun?: boolean; + Value?: string; } -export namespace DeleteLocalGatewayRouteTableVpcAssociationRequest { +export namespace Phase2IntegrityAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsListValue): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteTableVpcAssociationResult { +/** + *

        The VPN tunnel options.

        + */ +export interface TunnelOption { /** - *

        Information about the association.

        + *

        The external IP address of the VPN tunnel.

        */ - LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; -} + OutsideIpAddress?: string; -export namespace DeleteLocalGatewayRouteTableVpcAssociationResult { /** - * @internal + *

        The range of inside IPv4 addresses for the tunnel.

        */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationResult): any => ({ - ...obj, - }); -} + TunnelInsideCidr?: string; -export interface DeleteManagedPrefixListRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 range of inside IPv6 addresses for the tunnel.

        */ - DryRun?: boolean; + TunnelInsideIpv6Cidr?: string; /** - *

        The ID of the prefix list.

        + *

        The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

        */ - PrefixListId: string | undefined; -} + PreSharedKey?: string; -export namespace DeleteManagedPrefixListRequest { /** - * @internal + *

        The lifetime for phase 1 of the IKE negotiation, in seconds.

        */ - export const filterSensitiveLog = (obj: DeleteManagedPrefixListRequest): any => ({ - ...obj, - }); -} + Phase1LifetimeSeconds?: number; -export interface DeleteManagedPrefixListResult { /** - *

        Information about the prefix list.

        + *

        The lifetime for phase 2 of the IKE negotiation, in seconds.

        */ - PrefixList?: ManagedPrefixList; -} + Phase2LifetimeSeconds?: number; -export namespace DeleteManagedPrefixListResult { /** - * @internal + *

        The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services side of the VPN connection performs an IKE rekey.

        */ - export const filterSensitiveLog = (obj: DeleteManagedPrefixListResult): any => ({ - ...obj, - }); -} + RekeyMarginTimeSeconds?: number; -export interface DeleteNatGatewayRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 percentage of the rekey window determined by RekeyMarginTimeSeconds + * during which the rekey time is randomly selected.

        */ - DryRun?: boolean; + RekeyFuzzPercentage?: number; /** - *

        The ID of the NAT gateway.

        + *

        The number of packets in an IKE replay window.

        */ - NatGatewayId: string | undefined; -} + ReplayWindowSize?: number; -export namespace DeleteNatGatewayRequest { /** - * @internal + *

        The number of seconds after which a DPD timeout occurs.

        */ - export const filterSensitiveLog = (obj: DeleteNatGatewayRequest): any => ({ - ...obj, - }); -} + DpdTimeoutSeconds?: number; -export interface DeleteNatGatewayResult { /** - *

        The ID of the NAT gateway.

        + *

        The action to take after a DPD timeout occurs.

        */ - NatGatewayId?: string; -} + DpdTimeoutAction?: string; -export namespace DeleteNatGatewayResult { /** - * @internal + *

        The permitted encryption algorithms for the VPN tunnel for phase 1 IKE + * negotiations.

        */ - export const filterSensitiveLog = (obj: DeleteNatGatewayResult): any => ({ - ...obj, - }); -} + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsListValue[]; -export interface DeleteNetworkAclRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 permitted encryption algorithms for the VPN tunnel for phase 2 IKE + * negotiations.

        */ - DryRun?: boolean; + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsListValue[]; /** - *

        The ID of the network ACL.

        + *

        The permitted integrity algorithms for the VPN tunnel for phase 1 IKE + * negotiations.

        */ - NetworkAclId: string | undefined; -} + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsListValue[]; -export namespace DeleteNetworkAclRequest { /** - * @internal + *

        The permitted integrity algorithms for the VPN tunnel for phase 2 IKE + * negotiations.

        */ - export const filterSensitiveLog = (obj: DeleteNetworkAclRequest): any => ({ - ...obj, - }); -} + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsListValue[]; -export interface DeleteNetworkAclEntryRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE + * negotiations.

        */ - DryRun?: boolean; + Phase1DHGroupNumbers?: Phase1DHGroupNumbersListValue[]; /** - *

        Indicates whether the rule is an egress rule.

        + *

        The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE + * negotiations.

        */ - Egress: boolean | undefined; + Phase2DHGroupNumbers?: Phase2DHGroupNumbersListValue[]; /** - *

        The ID of the network ACL.

        + *

        The IKE versions that are permitted for the VPN tunnel.

        */ - NetworkAclId: string | undefined; + IkeVersions?: IKEVersionsListValue[]; /** - *

        The rule number of the entry to delete.

        + *

        The action to take when the establishing the VPN tunnels for a VPN connection.

        */ - RuleNumber: number | undefined; + StartupAction?: string; } -export namespace DeleteNetworkAclEntryRequest { +export namespace TunnelOption { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkAclEntryRequest): any => ({ + export const filterSensitiveLog = (obj: TunnelOption): any => ({ ...obj, }); } -export interface DeleteNetworkInsightsAnalysisRequest { +/** + *

        Describes VPN connection options.

        + */ +export interface VpnConnectionOptions { /** - *

        Checks whether you have the required permissions for the action, without 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 acceleration is enabled for the VPN connection.

        */ - DryRun?: boolean; + EnableAcceleration?: boolean; /** - *

        The ID of the network insights analysis.

        + *

        Indicates whether the VPN connection uses static routes only. Static routes must be + * used for devices that don't support BGP.

        */ - NetworkInsightsAnalysisId: string | undefined; -} + StaticRoutesOnly?: boolean; -export namespace DeleteNetworkInsightsAnalysisRequest { /** - * @internal + *

        The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

        */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisRequest): any => ({ - ...obj, - }); -} + LocalIpv4NetworkCidr?: string; -export interface DeleteNetworkInsightsAnalysisResult { /** - *

        The ID of the network insights analysis.

        + *

        The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

        */ - NetworkInsightsAnalysisId?: string; -} + RemoteIpv4NetworkCidr?: string; -export namespace DeleteNetworkInsightsAnalysisResult { /** - * @internal + *

        The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

        */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisResult): any => ({ - ...obj, - }); -} + LocalIpv6NetworkCidr?: string; -export interface DeleteNetworkInsightsPathRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 IPv6 CIDR on the Amazon Web Services side of the VPN connection.

        */ - DryRun?: boolean; + RemoteIpv6NetworkCidr?: string; /** - *

        The ID of the path.

        + *

        Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

        */ - NetworkInsightsPathId: string | undefined; + TunnelInsideIpVersion?: TunnelInsideIpVersion | string; + + /** + *

        Indicates the VPN tunnel options.

        + */ + TunnelOptions?: TunnelOption[]; } -export namespace DeleteNetworkInsightsPathRequest { +export namespace VpnConnectionOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathRequest): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionOptions): any => ({ ...obj, }); } -export interface DeleteNetworkInsightsPathResult { +export type VpnStaticRouteSource = "Static"; + +export type VpnState = "available" | "deleted" | "deleting" | "pending"; + +/** + *

        Describes a static route for a VPN connection.

        + */ +export interface VpnStaticRoute { /** - *

        The ID of the path.

        + *

        The CIDR block associated with the local subnet of the customer data center.

        */ - NetworkInsightsPathId?: string; + DestinationCidrBlock?: string; + + /** + *

        Indicates how the routes were provided.

        + */ + Source?: VpnStaticRouteSource | string; + + /** + *

        The current state of the static route.

        + */ + State?: VpnState | string; } -export namespace DeleteNetworkInsightsPathResult { +export namespace VpnStaticRoute { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathResult): any => ({ + export const filterSensitiveLog = (obj: VpnStaticRoute): any => ({ ...obj, }); } +export type TelemetryStatus = "DOWN" | "UP"; + /** - *

        Contains the parameters for DeleteNetworkInterface.

        + *

        Describes telemetry for a VPN tunnel.

        */ -export interface DeleteNetworkInterfaceRequest { +export interface VgwTelemetry { /** - *

        Checks whether you have the required permissions for the action, without 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 accepted routes.

        */ - DryRun?: boolean; + AcceptedRouteCount?: number; /** - *

        The ID of the network interface.

        + *

        The date and time of the last change in status.

        */ - NetworkInterfaceId: string | undefined; -} + LastStatusChange?: Date; -export namespace DeleteNetworkInterfaceRequest { /** - * @internal + *

        The Internet-routable IP address of the virtual private gateway's outside + * interface.

        */ - export const filterSensitiveLog = (obj: DeleteNetworkInterfaceRequest): any => ({ - ...obj, - }); -} + OutsideIpAddress?: string; -/** - *

        Contains the parameters for DeleteNetworkInterfacePermission.

        - */ -export interface DeleteNetworkInterfacePermissionRequest { /** - *

        The ID of the network interface permission.

        + *

        The status of the VPN tunnel.

        */ - NetworkInterfacePermissionId: string | undefined; + Status?: TelemetryStatus | string; /** - *

        Specify true to remove the permission even if the network interface is - * attached to an instance.

        + *

        If an error occurs, a description of the error.

        */ - Force?: boolean; + StatusMessage?: 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 Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

        */ - DryRun?: boolean; + CertificateArn?: string; } -export namespace DeleteNetworkInterfacePermissionRequest { +export namespace VgwTelemetry { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionRequest): any => ({ + export const filterSensitiveLog = (obj: VgwTelemetry): any => ({ ...obj, }); } /** - *

        Contains the output for DeleteNetworkInterfacePermission.

        + *

        Describes a VPN connection.

        */ -export interface DeleteNetworkInterfacePermissionResult { +export interface VpnConnection { /** - *

        Returns true if the request succeeds, otherwise returns an error.

        + *

        The configuration information for the VPN connection's customer gateway (in the native + * XML format). This element is always present in the CreateVpnConnection + * response; however, it's present in the DescribeVpnConnections response + * only if the VPN connection is in the pending or available + * state.

        */ - Return?: boolean; -} + CustomerGatewayConfiguration?: string; -export namespace DeleteNetworkInterfacePermissionResult { /** - * @internal + *

        The ID of the customer gateway at your end of the VPN connection.

        */ - export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionResult): any => ({ - ...obj, - }); -} + CustomerGatewayId?: string; -export interface DeletePlacementGroupRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 category of the VPN connection. A value of VPN indicates an Amazon Web Services VPN connection. A value of VPN-Classic indicates an Amazon Web Services Classic VPN connection.

        */ - DryRun?: boolean; + Category?: string; /** - *

        The name of the placement group.

        + *

        The current state of the VPN connection.

        */ - GroupName: string | undefined; -} + State?: VpnState | string; -export namespace DeletePlacementGroupRequest { /** - * @internal + *

        The type of VPN connection.

        */ - export const filterSensitiveLog = (obj: DeletePlacementGroupRequest): any => ({ - ...obj, - }); -} + Type?: GatewayType | string; -export interface DeleteQueuedReservedInstancesRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 VPN connection.

        */ - DryRun?: boolean; + VpnConnectionId?: string; /** - *

        The IDs of the Reserved Instances.

        + *

        The ID of the virtual private gateway at the Amazon Web Services side of the VPN + * connection.

        */ - ReservedInstancesIds: string[] | undefined; -} + VpnGatewayId?: string; -export namespace DeleteQueuedReservedInstancesRequest { /** - * @internal + *

        The ID of the transit gateway associated with the VPN connection.

        */ - export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesRequest): any => ({ - ...obj, - }); -} + TransitGatewayId?: string; -export enum DeleteQueuedReservedInstancesErrorCode { - RESERVED_INSTANCES_ID_INVALID = "reserved-instances-id-invalid", - RESERVED_INSTANCES_NOT_IN_QUEUED_STATE = "reserved-instances-not-in-queued-state", - UNEXPECTED_ERROR = "unexpected-error", -} + /** + *

        The ARN of the core network.

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

        Describes the error for a Reserved Instance whose queued purchase could not be deleted.

        - */ -export interface DeleteQueuedReservedInstancesError { /** - *

        The error code.

        + *

        The ARN of the core network attachment.

        */ - Code?: DeleteQueuedReservedInstancesErrorCode | string; + CoreNetworkAttachmentArn?: string; /** - *

        The error message.

        + *

        The current state of the gateway association.

        */ - Message?: string; -} + GatewayAssociationState?: GatewayAssociationState | string; -export namespace DeleteQueuedReservedInstancesError { /** - * @internal + *

        The VPN connection options.

        */ - export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesError): any => ({ - ...obj, - }); -} + Options?: VpnConnectionOptions; -/** - *

        Describes a Reserved Instance whose queued purchase was not deleted.

        - */ -export interface FailedQueuedPurchaseDeletion { /** - *

        The error.

        + *

        The static routes associated with the VPN connection.

        */ - Error?: DeleteQueuedReservedInstancesError; + Routes?: VpnStaticRoute[]; /** - *

        The ID of the Reserved Instance.

        + *

        Any tags assigned to the VPN connection.

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

        Information about the VPN tunnel.

        + */ + VgwTelemetry?: VgwTelemetry[]; } -export namespace FailedQueuedPurchaseDeletion { +export namespace VpnConnection { /** * @internal */ - export const filterSensitiveLog = (obj: FailedQueuedPurchaseDeletion): any => ({ + export const filterSensitiveLog = (obj: VpnConnection): any => ({ ...obj, }); } /** - *

        Describes a Reserved Instance whose queued purchase was successfully deleted.

        + *

        Contains the output of CreateVpnConnection.

        */ -export interface SuccessfulQueuedPurchaseDeletion { +export interface CreateVpnConnectionResult { /** - *

        The ID of the Reserved Instance.

        + *

        Information about the VPN connection.

        */ - ReservedInstancesId?: string; + VpnConnection?: VpnConnection; } -export namespace SuccessfulQueuedPurchaseDeletion { +export namespace CreateVpnConnectionResult { /** * @internal */ - export const filterSensitiveLog = (obj: SuccessfulQueuedPurchaseDeletion): any => ({ + export const filterSensitiveLog = (obj: CreateVpnConnectionResult): any => ({ ...obj, }); } -export interface DeleteQueuedReservedInstancesResult { +/** + *

        Contains the parameters for CreateVpnConnectionRoute.

        + */ +export interface CreateVpnConnectionRouteRequest { /** - *

        Information about the queued purchases that were successfully deleted.

        + *

        The CIDR block associated with the local subnet of the customer network.

        */ - SuccessfulQueuedPurchaseDeletions?: SuccessfulQueuedPurchaseDeletion[]; + DestinationCidrBlock: string | undefined; /** - *

        Information about the queued purchases that could not be deleted.

        + *

        The ID of the VPN connection.

        */ - FailedQueuedPurchaseDeletions?: FailedQueuedPurchaseDeletion[]; + VpnConnectionId: string | undefined; } -export namespace DeleteQueuedReservedInstancesResult { +export namespace CreateVpnConnectionRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesResult): any => ({ + export const filterSensitiveLog = (obj: CreateVpnConnectionRouteRequest): any => ({ ...obj, }); } -export interface DeleteRouteRequest { +/** + *

        Contains the parameters for CreateVpnGateway.

        + */ +export interface CreateVpnGatewayRequest { /** - *

        The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

        + *

        The Availability Zone for the virtual private gateway.

        */ - DestinationCidrBlock?: string; + AvailabilityZone?: string; /** - *

        The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

        + *

        The type of VPN connection this virtual private gateway supports.

        */ - DestinationIpv6CidrBlock?: string; + Type: GatewayType | string | undefined; /** - *

        The ID of the prefix list for the route.

        + *

        The tags to apply to the virtual private gateway.

        */ - DestinationPrefixListId?: 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.

        + *

        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.

        + *

        Default: 64512

        */ - DryRun?: boolean; + AmazonSideAsn?: number; /** - *

        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.

        */ - RouteTableId: string | undefined; + DryRun?: boolean; } -export namespace DeleteRouteRequest { +export namespace CreateVpnGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVpnGatewayRequest): any => ({ ...obj, }); } -export interface DeleteRouteTableRequest { - /** - *

        Checks whether you have the required permissions for the action, without 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 { +/** + *

        Describes a virtual private gateway.

        + */ +export interface VpnGateway { /** - * @internal + *

        The Availability Zone where the virtual private gateway was created, if applicable. + * This field may be empty or not returned.

        */ - export const filterSensitiveLog = (obj: DeleteRouteTableRequest): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -export interface DeleteSecurityGroupRequest { /** - *

        The ID of the security group. Required for a nondefault VPC.

        + *

        The current state of the virtual private gateway.

        */ - GroupId?: string; + State?: VpnState | string; /** - *

        [EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

        + *

        The type of VPN connection the virtual private gateway supports.

        */ - GroupName?: string; + Type?: GatewayType | 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.

        + *

        Any VPCs attached to the virtual private gateway.

        */ - DryRun?: boolean; -} + VpcAttachments?: VpcAttachment[]; -export namespace DeleteSecurityGroupRequest { /** - * @internal + *

        The ID of the virtual private gateway.

        */ - export const filterSensitiveLog = (obj: DeleteSecurityGroupRequest): any => ({ - ...obj, - }); -} + VpnGatewayId?: string; -export interface DeleteSnapshotRequest { /** - *

        The ID of the EBS snapshot.

        + *

        The private Autonomous System Number (ASN) for the Amazon side of a BGP + * session.

        */ - SnapshotId: string | undefined; + AmazonSideAsn?: 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.

        + *

        Any tags assigned to the virtual private gateway.

        */ - DryRun?: boolean; + Tags?: Tag[]; } -export namespace DeleteSnapshotRequest { +export namespace VpnGateway { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSnapshotRequest): any => ({ + export const filterSensitiveLog = (obj: VpnGateway): any => ({ ...obj, }); } /** - *

        Contains the parameters for DeleteSpotDatafeedSubscription.

        + *

        Contains the output of CreateVpnGateway.

        */ -export interface DeleteSpotDatafeedSubscriptionRequest { +export interface CreateVpnGatewayResult { /** - *

        Checks whether you have the required permissions for the action, without 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 virtual private gateway.

        */ - DryRun?: boolean; + VpnGateway?: VpnGateway; } -export namespace DeleteSpotDatafeedSubscriptionRequest { +export namespace CreateVpnGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSpotDatafeedSubscriptionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVpnGatewayResult): any => ({ ...obj, }); } -export interface DeleteSubnetRequest { +export interface DeleteCarrierGatewayRequest { /** - *

        The ID of the subnet.

        + *

        The ID of the carrier gateway.

        */ - SubnetId: string | undefined; + CarrierGatewayId: string | undefined; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -3041,134 +3078,147 @@ export interface DeleteSubnetRequest { DryRun?: boolean; } -export namespace DeleteSubnetRequest { +export namespace DeleteCarrierGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSubnetRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteCarrierGatewayRequest): any => ({ ...obj, }); } -export interface DeleteSubnetCidrReservationRequest { +export interface DeleteCarrierGatewayResult { /** - *

        The ID of the subnet CIDR reservation.

        + *

        Information about the carrier gateway.

        */ - SubnetCidrReservationId: string | undefined; + CarrierGateway?: CarrierGateway; +} +export namespace DeleteCarrierGatewayResult { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

        + * @internal + */ + export const filterSensitiveLog = (obj: DeleteCarrierGatewayResult): any => ({ + ...obj, + }); +} + +export interface DeleteClientVpnEndpointRequest { + /** + *

        The ID of the Client VPN to be deleted.

        + */ + 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; } -export namespace DeleteSubnetCidrReservationRequest { +export namespace DeleteClientVpnEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnEndpointRequest): any => ({ ...obj, }); } -export interface DeleteSubnetCidrReservationResult { +export interface DeleteClientVpnEndpointResult { /** - *

        Information about the deleted subnet CIDR reservation.

        + *

        The current state of the Client VPN endpoint.

        */ - DeletedSubnetCidrReservation?: SubnetCidrReservation; + Status?: ClientVpnEndpointStatus; } -export namespace DeleteSubnetCidrReservationResult { +export namespace DeleteClientVpnEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationResult): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnEndpointResult): any => ({ ...obj, }); } -export interface DeleteTagsRequest { +export interface DeleteClientVpnRouteRequest { /** - *

        Checks whether you have the required permissions for the action, without 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 from which the route is to be deleted.

        */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

        The IDs of the resources, separated by spaces.

        - *

        Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

        + *

        The ID of the target subnet used by the route.

        */ - Resources: string[] | undefined; + TargetVpcSubnetId?: string; /** - *

        The tags to delete. Specify a tag key and an optional tag value to delete - * specific tags. If you specify a tag key without a tag value, we delete any tag with this - * key regardless of its value. If you specify a tag key with an empty string as the tag - * value, we delete the tag only if its value is an empty string.

        - *

        If you omit this parameter, we delete all user-defined tags for the specified - * resources. We do not delete Amazon Web Services-generated tags (tags that have the aws: - * prefix).

        - *

        Constraints: Up to 1000 tags.

        + *

        The IPv4 address range, in CIDR notation, of the route to be deleted.

        */ - Tags?: Tag[]; + 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; } -export namespace DeleteTagsRequest { +export namespace DeleteClientVpnRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTagsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnRouteRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterRequest { - /** - *

        The ID of the Traffic Mirror filter.

        - */ - TrafficMirrorFilterId: string | undefined; - +export interface DeleteClientVpnRouteResult { /** - *

        Checks whether you have the required permissions for the action, without 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 current state of the route.

        */ - DryRun?: boolean; + Status?: ClientVpnRouteStatus; } -export namespace DeleteTrafficMirrorFilterRequest { +export namespace DeleteClientVpnRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnRouteResult): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterResult { +/** + *

        Contains the parameters for DeleteCustomerGateway.

        + */ +export interface DeleteCustomerGatewayRequest { /** - *

        The ID of the Traffic Mirror filter.

        + *

        The ID of the customer gateway.

        */ - TrafficMirrorFilterId?: string; + CustomerGatewayId: 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 DeleteTrafficMirrorFilterResult { +export namespace DeleteCustomerGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterResult): any => ({ + export const filterSensitiveLog = (obj: DeleteCustomerGatewayRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterRuleRequest { +export interface DeleteDhcpOptionsRequest { /** - *

        The ID of the Traffic Mirror rule.

        + *

        The ID of the DHCP options set.

        */ - TrafficMirrorFilterRuleId: string | undefined; + DhcpOptionsId: string | undefined; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -3178,436 +3228,501 @@ export interface DeleteTrafficMirrorFilterRuleRequest { DryRun?: boolean; } -export namespace DeleteTrafficMirrorFilterRuleRequest { +export namespace DeleteDhcpOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteDhcpOptionsRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterRuleResult { +export interface DeleteEgressOnlyInternetGatewayRequest { /** - *

        The ID of the deleted 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.

        */ - TrafficMirrorFilterRuleId?: string; + DryRun?: boolean; + + /** + *

        The ID of the egress-only internet gateway.

        + */ + EgressOnlyInternetGatewayId: string | undefined; } -export namespace DeleteTrafficMirrorFilterRuleResult { +export namespace DeleteEgressOnlyInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleResult): any => ({ + export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorSessionRequest { +export interface DeleteEgressOnlyInternetGatewayResult { /** - *

        The ID of the Traffic Mirror session.

        + *

        Returns true if the request succeeds; otherwise, it returns an error.

        */ - TrafficMirrorSessionId: string | undefined; + ReturnCode?: boolean; +} + +export namespace DeleteEgressOnlyInternetGatewayResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayResult): any => ({ + ...obj, + }); +} +export interface DeleteFleetsRequest { /** *

        Checks whether you have the required permissions for the action, without 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 DeleteTrafficMirrorSessionRequest { /** - * @internal + *

        The IDs of the EC2 Fleets.

        */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionRequest): any => ({ - ...obj, - }); -} + FleetIds: string[] | undefined; -export interface DeleteTrafficMirrorSessionResult { /** - *

        The ID of the deleted Traffic Mirror session.

        + *

        Indicates whether to terminate the instances when the EC2 Fleet is deleted. The default is to + * terminate the instances.

        + *

        To let the instances continue to run after the EC2 Fleet is deleted, specify + * NoTerminateInstances. Supported only for fleets of type + * maintain and request.

        + *

        For instant fleets, you cannot specify NoTerminateInstances. A + * deleted instant fleet with running instances is not supported.

        */ - TrafficMirrorSessionId?: string; + TerminateInstances: boolean | undefined; } -export namespace DeleteTrafficMirrorSessionResult { +export namespace DeleteFleetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetsRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorTargetRequest { +export enum FleetStateCode { + ACTIVE = "active", + DELETED = "deleted", + DELETED_RUNNING = "deleted_running", + DELETED_TERMINATING_INSTANCES = "deleted_terminating", + FAILED = "failed", + MODIFYING = "modifying", + SUBMITTED = "submitted", +} + +/** + *

        Describes an EC2 Fleet that was successfully deleted.

        + */ +export interface DeleteFleetSuccessItem { /** - *

        The ID of the Traffic Mirror target.

        + *

        The current state of the EC2 Fleet.

        */ - TrafficMirrorTargetId: string | undefined; + CurrentFleetState?: FleetStateCode | 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 previous state of the EC2 Fleet.

        */ - DryRun?: boolean; + PreviousFleetState?: FleetStateCode | string; + + /** + *

        The ID of the EC2 Fleet.

        + */ + FleetId?: string; } -export namespace DeleteTrafficMirrorTargetRequest { +export namespace DeleteFleetSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetSuccessItem): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorTargetResult { +export enum DeleteFleetErrorCode { + FLEET_ID_DOES_NOT_EXIST = "fleetIdDoesNotExist", + FLEET_ID_MALFORMED = "fleetIdMalformed", + FLEET_NOT_IN_DELETABLE_STATE = "fleetNotInDeletableState", + UNEXPECTED_ERROR = "unexpectedError", +} + +/** + *

        Describes an EC2 Fleet error.

        + */ +export interface DeleteFleetError { /** - *

        The ID of the deleted Traffic Mirror target.

        + *

        The error code.

        */ - TrafficMirrorTargetId?: string; + Code?: DeleteFleetErrorCode | string; + + /** + *

        The description for the error code.

        + */ + Message?: string; } -export namespace DeleteTrafficMirrorTargetResult { +export namespace DeleteFleetError { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetError): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRequest { +/** + *

        Describes an EC2 Fleet that was not successfully deleted.

        + */ +export interface DeleteFleetErrorItem { /** - *

        The ID of the transit gateway.

        + *

        The error.

        */ - TransitGatewayId: string | undefined; + Error?: DeleteFleetError; /** - *

        Checks whether you have the required permissions for the action, without 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 EC2 Fleet.

        */ - DryRun?: boolean; + FleetId?: string; } -export namespace DeleteTransitGatewayRequest { +export namespace DeleteFleetErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetErrorItem): any => ({ ...obj, }); } -export interface DeleteTransitGatewayResult { +export interface DeleteFleetsResult { /** - *

        Information about the deleted transit gateway.

        + *

        Information about the EC2 Fleets that are successfully deleted.

        */ - TransitGateway?: TransitGateway; + SuccessfulFleetDeletions?: DeleteFleetSuccessItem[]; + + /** + *

        Information about the EC2 Fleets that are not successfully deleted.

        + */ + UnsuccessfulFleetDeletions?: DeleteFleetErrorItem[]; } -export namespace DeleteTransitGatewayResult { +export namespace DeleteFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetsResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectRequest { - /** - *

        The ID of the Connect attachment.

        - */ - TransitGatewayAttachmentId: string | undefined; - +export interface DeleteFlowLogsRequest { /** *

        Checks whether you have the required permissions for the action, without 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 flow log IDs.

        + *

        Constraint: Maximum of 1000 flow log IDs.

        + */ + FlowLogIds: string[] | undefined; } -export namespace DeleteTransitGatewayConnectRequest { +export namespace DeleteFlowLogsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFlowLogsRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectResult { +export interface DeleteFlowLogsResult { /** - *

        Information about the deleted Connect attachment.

        + *

        Information about the flow logs that could not be deleted successfully.

        */ - TransitGatewayConnect?: TransitGatewayConnect; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace DeleteTransitGatewayConnectResult { +export namespace DeleteFlowLogsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFlowLogsResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectPeerRequest { - /** - *

        The ID of the Connect peer.

        - */ - TransitGatewayConnectPeerId: string | undefined; - +export interface DeleteFpgaImageRequest { /** *

        Checks whether you have the required permissions for the action, without 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 DeleteTransitGatewayConnectPeerRequest { +export namespace DeleteFpgaImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFpgaImageRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectPeerResult { +export interface DeleteFpgaImageResult { /** - *

        Information about the deleted Connect peer.

        + *

        Is true if the request succeeds, and an error otherwise.

        */ - TransitGatewayConnectPeer?: TransitGatewayConnectPeer; + Return?: boolean; } -export namespace DeleteTransitGatewayConnectPeerResult { +export namespace DeleteFpgaImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFpgaImageResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayMulticastDomainRequest { - /** - *

        The ID of the transit gateway multicast domain.

        - */ - TransitGatewayMulticastDomainId: string | undefined; - +export interface DeleteInstanceEventWindowRequest { /** *

        Checks whether you have the required permissions for the action, without 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 DeleteTransitGatewayMulticastDomainRequest { /** - * @internal + *

        Specify true to force delete the event window. Use the force delete parameter + * if the event window is currently associated with targets.

        */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainRequest): any => ({ - ...obj, - }); -} + ForceDelete?: boolean; -export interface DeleteTransitGatewayMulticastDomainResult { /** - *

        Information about the deleted transit gateway multicast domain.

        + *

        The ID of the event window.

        */ - TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; + InstanceEventWindowId: string | undefined; } -export namespace DeleteTransitGatewayMulticastDomainResult { +export namespace DeleteInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: DeleteInstanceEventWindowRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPeeringAttachmentRequest { +/** + *

        The state of the event window.

        + */ +export interface InstanceEventWindowStateChange { /** - *

        The ID of the transit gateway peering attachment.

        + *

        The ID of the event window.

        */ - TransitGatewayAttachmentId: string | undefined; + InstanceEventWindowId?: 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 current state of the event window.

        */ - DryRun?: boolean; + State?: InstanceEventWindowState | string; } -export namespace DeleteTransitGatewayPeeringAttachmentRequest { +export namespace InstanceEventWindowStateChange { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindowStateChange): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPeeringAttachmentResult { +export interface DeleteInstanceEventWindowResult { /** - *

        The transit gateway peering attachment.

        + *

        The state of the event window.

        */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; + InstanceEventWindowState?: InstanceEventWindowStateChange; } -export namespace DeleteTransitGatewayPeeringAttachmentResult { +export namespace DeleteInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: DeleteInstanceEventWindowResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPrefixListReferenceRequest { - /** - *

        The ID of the route table.

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

        The ID of the prefix list.

        - */ - PrefixListId: string | undefined; - +export interface DeleteInternetGatewayRequest { /** *

        Checks whether you have the required permissions for the action, without 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 internet gateway.

        + */ + InternetGatewayId: string | undefined; } -export namespace DeleteTransitGatewayPrefixListReferenceRequest { +export namespace DeleteInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteInternetGatewayRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPrefixListReferenceResult { +export interface DeleteIpamRequest { /** - *

        Information about the deleted prefix list reference.

        + *

        A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; + DryRun?: boolean; + + /** + *

        The ID of the IPAM to delete.

        + */ + IpamId: string | undefined; } -export namespace DeleteTransitGatewayPrefixListReferenceResult { +export namespace DeleteIpamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceResult): any => ({ + export const filterSensitiveLog = (obj: DeleteIpamRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteRequest { +export interface DeleteIpamResult { /** - *

        The ID of the transit gateway route table.

        + *

        Information about the results of the deletion.

        */ - TransitGatewayRouteTableId: string | undefined; + Ipam?: Ipam; +} +export namespace DeleteIpamResult { /** - *

        The CIDR range for the route. This must match the CIDR for the route exactly.

        + * @internal */ - DestinationCidrBlock: string | undefined; + export const filterSensitiveLog = (obj: DeleteIpamResult): any => ({ + ...obj, + }); +} +export interface DeleteIpamPoolRequest { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, + *

        A check for whether you have the required permissions for the action without 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 pool to delete.

        + */ + IpamPoolId: string | undefined; } -export namespace DeleteTransitGatewayRouteRequest { +export namespace DeleteIpamPoolRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteIpamPoolRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteResult { +export interface DeleteIpamPoolResult { /** - *

        Information about the route.

        + *

        Information about the results of the deletion.

        */ - Route?: TransitGatewayRoute; + IpamPool?: IpamPool; } -export namespace DeleteTransitGatewayRouteResult { +export namespace DeleteIpamPoolResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: DeleteIpamPoolResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteTableRequest { - /** - *

        The ID of the transit gateway route table.

        - */ - TransitGatewayRouteTableId: string | undefined; - +export interface DeleteIpamScopeRequest { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, + *

        A check for whether you have the required permissions for the action without 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 scope to delete.

        + */ + IpamScopeId: string | undefined; } -export namespace DeleteTransitGatewayRouteTableRequest { +export namespace DeleteIpamScopeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteIpamScopeRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteTableResult { +export interface DeleteIpamScopeResult { /** - *

        Information about the deleted transit gateway route table.

        + *

        Information about the results of the deletion.

        */ - TransitGatewayRouteTable?: TransitGatewayRouteTable; + IpamScope?: IpamScope; } -export namespace DeleteTransitGatewayRouteTableResult { +export namespace DeleteIpamScopeResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: DeleteIpamScopeResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayVpcAttachmentRequest { +export interface DeleteKeyPairRequest { /** - *

        The ID of the attachment.

        + *

        The name of the key pair.

        */ - TransitGatewayAttachmentId: string | undefined; + KeyName?: string; + + /** + *

        The ID of the key pair.

        + */ + KeyPairId?: string; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -3617,413 +3732,379 @@ export interface DeleteTransitGatewayVpcAttachmentRequest { DryRun?: boolean; } -export namespace DeleteTransitGatewayVpcAttachmentRequest { +export namespace DeleteKeyPairRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteKeyPairRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayVpcAttachmentResult { - /** - *

        Information about the deleted VPC attachment.

        - */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; -} - -export namespace DeleteTransitGatewayVpcAttachmentResult { +export interface DeleteLaunchTemplateRequest { /** - * @internal + *

        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

        */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface DeleteVolumeRequest { /** - *

        The ID of the volume.

        + *

        The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

        */ - VolumeId: string | undefined; + 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.

        + *

        The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

        */ - DryRun?: boolean; + LaunchTemplateName?: string; } -export namespace DeleteVolumeRequest { +export namespace DeleteLaunchTemplateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateRequest): any => ({ ...obj, }); } -export interface DeleteVpcRequest { - /** - *

        The ID of the VPC.

        - */ - VpcId: string | undefined; - +export interface DeleteLaunchTemplateResult { /** - *

        Checks whether you have the required permissions for the action, without 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 launch template.

        */ - DryRun?: boolean; + LaunchTemplate?: LaunchTemplate; } -export namespace DeleteVpcRequest { +export namespace DeleteLaunchTemplateResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateResult): any => ({ ...obj, }); } -export interface DeleteVpcEndpointConnectionNotificationsRequest { +export interface DeleteLaunchTemplateVersionsRequest { /** - *

        Checks whether you have the required permissions for the action, without 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; /** - *

        One or more notification IDs.

        + *

        The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

        */ - ConnectionNotificationIds: string[] | undefined; -} + LaunchTemplateId?: string; -export namespace DeleteVpcEndpointConnectionNotificationsRequest { /** - * @internal + *

        The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

        */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsRequest): any => ({ - ...obj, - }); -} + LaunchTemplateName?: string; -export interface DeleteVpcEndpointConnectionNotificationsResult { /** - *

        Information about the notifications that could not be deleted - * successfully.

        + *

        The version numbers of one or more launch template versions to delete.

        */ - Unsuccessful?: UnsuccessfulItem[]; + Versions: string[] | undefined; } -export namespace DeleteVpcEndpointConnectionNotificationsResult { +export namespace DeleteLaunchTemplateVersionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsResult): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsRequest): any => ({ ...obj, }); } /** - *

        Contains the parameters for DeleteVpcEndpoints.

        + *

        Describes a launch template version that was successfully deleted.

        */ -export interface DeleteVpcEndpointsRequest { +export interface DeleteLaunchTemplateVersionsResponseSuccessItem { /** - *

        Checks whether you have the required permissions for the action, without 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 launch template.

        */ - DryRun?: boolean; + LaunchTemplateId?: string; /** - *

        One or more VPC endpoint IDs.

        + *

        The name of the launch template.

        */ - VpcEndpointIds: string[] | undefined; + LaunchTemplateName?: string; + + /** + *

        The version number of the launch template.

        + */ + VersionNumber?: number; } -export namespace DeleteVpcEndpointsRequest { +export namespace DeleteLaunchTemplateVersionsResponseSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseSuccessItem): any => ({ ...obj, }); } +export enum LaunchTemplateErrorCode { + LAUNCH_TEMPLATE_ID_DOES_NOT_EXIST = "launchTemplateIdDoesNotExist", + LAUNCH_TEMPLATE_ID_MALFORMED = "launchTemplateIdMalformed", + LAUNCH_TEMPLATE_NAME_DOES_NOT_EXIST = "launchTemplateNameDoesNotExist", + LAUNCH_TEMPLATE_NAME_MALFORMED = "launchTemplateNameMalformed", + LAUNCH_TEMPLATE_VERSION_DOES_NOT_EXIST = "launchTemplateVersionDoesNotExist", + UNEXPECTED_ERROR = "unexpectedError", +} + /** - *

        Contains the output of DeleteVpcEndpoints.

        + *

        Describes the error that's returned when you cannot delete a launch template + * version.

        */ -export interface DeleteVpcEndpointsResult { +export interface ResponseError { /** - *

        Information about the VPC endpoints that were not successfully deleted.

        + *

        The error code.

        */ - Unsuccessful?: UnsuccessfulItem[]; + Code?: LaunchTemplateErrorCode | string; + + /** + *

        The error message, if applicable.

        + */ + Message?: string; } -export namespace DeleteVpcEndpointsResult { +export namespace ResponseError { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointsResult): any => ({ + export const filterSensitiveLog = (obj: ResponseError): any => ({ ...obj, }); } -export interface DeleteVpcEndpointServiceConfigurationsRequest { +/** + *

        Describes a launch template version that could not be deleted.

        + */ +export interface DeleteLaunchTemplateVersionsResponseErrorItem { /** - *

        Checks whether you have the required permissions for the action, without 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 launch template.

        */ - DryRun?: boolean; + LaunchTemplateId?: string; /** - *

        The IDs of one or more services.

        + *

        The name of the launch template.

        */ - ServiceIds: string[] | undefined; -} + LaunchTemplateName?: string; -export namespace DeleteVpcEndpointServiceConfigurationsRequest { /** - * @internal + *

        The version number of the launch template.

        */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsRequest): any => ({ - ...obj, - }); -} + VersionNumber?: number; -export interface DeleteVpcEndpointServiceConfigurationsResult { /** - *

        Information about the service configurations that were not deleted, if - * applicable.

        + *

        Information about the error.

        */ - Unsuccessful?: UnsuccessfulItem[]; + ResponseError?: ResponseError; } -export namespace DeleteVpcEndpointServiceConfigurationsResult { +export namespace DeleteLaunchTemplateVersionsResponseErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsResult): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseErrorItem): any => ({ ...obj, }); } -export interface DeleteVpcPeeringConnectionRequest { +export interface DeleteLaunchTemplateVersionsResult { /** - *

        Checks whether you have the required permissions for the action, without 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 launch template versions that were successfully + * deleted.

        */ - DryRun?: boolean; + SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; /** - *

        The ID of the VPC peering connection.

        + *

        Information about the launch template versions that could not be deleted.

        */ - VpcPeeringConnectionId: string | undefined; + UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; } -export namespace DeleteVpcPeeringConnectionRequest { +export namespace DeleteLaunchTemplateVersionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResult): any => ({ ...obj, }); } -export interface DeleteVpcPeeringConnectionResult { - /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        - */ - Return?: boolean; -} - -export namespace DeleteVpcPeeringConnectionResult { +export interface DeleteLocalGatewayRouteRequest { /** - * @internal + *

        The CIDR range for the route. This must match the CIDR for the route exactly.

        */ - export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionResult): any => ({ - ...obj, - }); -} + DestinationCidrBlock: string | undefined; -/** - *

        Contains the parameters for DeleteVpnConnection.

        - */ -export interface DeleteVpnConnectionRequest { /** - *

        The ID of the VPN connection.

        + *

        The ID of the local gateway route table.

        */ - VpnConnectionId: string | undefined; + LocalGatewayRouteTableId: 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; } -export namespace DeleteVpnConnectionRequest { +export namespace DeleteLocalGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpnConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteRequest): 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; - +export interface DeleteLocalGatewayRouteResult { /** - *

        The ID of the VPN connection.

        + *

        Information about the route.

        */ - VpnConnectionId: string | undefined; + Route?: LocalGatewayRoute; } -export namespace DeleteVpnConnectionRouteRequest { +export namespace DeleteLocalGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpnConnectionRouteRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteResult): any => ({ ...obj, }); } -/** - *

        Contains the parameters for DeleteVpnGateway.

        - */ -export interface DeleteVpnGatewayRequest { +export interface DeleteLocalGatewayRouteTableVpcAssociationRequest { /** - *

        The ID of the virtual private gateway.

        + *

        The ID of the association.

        */ - VpnGatewayId: string | undefined; + LocalGatewayRouteTableVpcAssociationId: 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; } -export namespace DeleteVpnGatewayRequest { +export namespace DeleteLocalGatewayRouteTableVpcAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpnGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationRequest): any => ({ ...obj, }); } -export interface DeprovisionByoipCidrRequest { +export interface DeleteLocalGatewayRouteTableVpcAssociationResult { /** - *

        The address range, in CIDR notation. The prefix must be the same prefix - * that you specified when you provisioned the address range.

        + *

        Information about the association.

        */ - Cidr: string | undefined; + LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; +} + +export namespace DeleteLocalGatewayRouteTableVpcAssociationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationResult): any => ({ + ...obj, + }); +} +export interface DeleteManagedPrefixListRequest { /** *

        Checks whether you have the required permissions for the action, without 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 DeprovisionByoipCidrRequest { +export namespace DeleteManagedPrefixListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeprovisionByoipCidrRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteManagedPrefixListRequest): any => ({ ...obj, }); } -export interface DeprovisionByoipCidrResult { +export interface DeleteManagedPrefixListResult { /** - *

        Information about the address range.

        + *

        Information about the prefix list.

        */ - ByoipCidr?: ByoipCidr; + PrefixList?: ManagedPrefixList; } -export namespace DeprovisionByoipCidrResult { +export namespace DeleteManagedPrefixListResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeprovisionByoipCidrResult): any => ({ + export const filterSensitiveLog = (obj: DeleteManagedPrefixListResult): any => ({ ...obj, }); } -/** - *

        Contains the parameters for DeregisterImage.

        - */ -export interface DeregisterImageRequest { +export interface DeleteNatGatewayRequest { /** - *

        The ID of the AMI.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - ImageId: 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 NAT gateway.

        */ - DryRun?: boolean; + NatGatewayId: string | undefined; } -export namespace DeregisterImageRequest { +export namespace DeleteNatGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterImageRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNatGatewayRequest): any => ({ ...obj, }); } -/** - *

        Information about the tag keys to deregister for the current Region. You can either specify - * individual tag keys or deregister all tag keys in the current Region. You must specify either - * IncludeAllTagsOfInstance or InstanceTagKeys in the request

        - */ -export interface DeregisterInstanceTagAttributeRequest { - /** - *

        Indicates whether to deregister all tag keys in the current Region. Specify false - * to deregister all tag keys.

        - */ - IncludeAllTagsOfInstance?: boolean; - +export interface DeleteNatGatewayResult { /** - *

        Information about the tag keys to deregister.

        + *

        The ID of the NAT gateway.

        */ - InstanceTagKeys?: string[]; + NatGatewayId?: string; } -export namespace DeregisterInstanceTagAttributeRequest { +export namespace DeleteNatGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterInstanceTagAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNatGatewayResult): any => ({ ...obj, }); } -export interface DeregisterInstanceEventNotificationAttributesRequest { +export interface DeleteNetworkAclRequest { /** *

        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4032,76 +4113,97 @@ export interface DeregisterInstanceEventNotificationAttributesRequest { DryRun?: boolean; /** - *

        Information about the tag keys to deregister.

        + *

        The ID of the network ACL.

        */ - InstanceTagAttribute?: DeregisterInstanceTagAttributeRequest; + NetworkAclId: string | undefined; } -export namespace DeregisterInstanceEventNotificationAttributesRequest { +export namespace DeleteNetworkAclRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkAclRequest): any => ({ ...obj, }); } -/** - *

        Describes the registered tag keys for the current Region.

        - */ -export interface InstanceTagNotificationAttribute { +export interface DeleteNetworkAclEntryRequest { /** - *

        The registered tag keys.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - InstanceTagKeys?: string[]; + DryRun?: boolean; /** - *

        Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. - * true indicates that all tag keys in the current Region are registered.

        + *

        Indicates whether the rule is an egress rule.

        */ - IncludeAllTagsOfInstance?: boolean; + Egress: boolean | undefined; + + /** + *

        The ID of the network ACL.

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

        The rule number of the entry to delete.

        + */ + RuleNumber: number | undefined; } -export namespace InstanceTagNotificationAttribute { +export namespace DeleteNetworkAclEntryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceTagNotificationAttribute): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkAclEntryRequest): any => ({ ...obj, }); } -export interface DeregisterInstanceEventNotificationAttributesResult { +export interface DeleteNetworkInsightsAccessScopeRequest { /** - *

        The resulting set of tag keys.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + DryRun?: boolean; + + /** + *

        The ID of the Network Access Scope.

        + */ + NetworkInsightsAccessScopeId: string | undefined; } -export namespace DeregisterInstanceEventNotificationAttributesResult { +export namespace DeleteNetworkInsightsAccessScopeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAccessScopeRequest): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupMembersRequest { +export interface DeleteNetworkInsightsAccessScopeResult { /** - *

        The ID of the transit gateway multicast domain.

        + *

        The ID of the Network Access Scope.

        */ - TransitGatewayMulticastDomainId?: string; + NetworkInsightsAccessScopeId?: string; +} +export namespace DeleteNetworkInsightsAccessScopeResult { /** - *

        The IP address assigned to the transit gateway multicast group.

        + * @internal */ - GroupIpAddress?: string; + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAccessScopeResult): any => ({ + ...obj, + }); +} +export interface DeleteNetworkInsightsAccessScopeAnalysisRequest { /** - *

        The IDs of the group members' network interfaces.

        + *

        The ID of the Network Access Scope analysis.

        */ - NetworkInterfaceIds?: string[]; + NetworkInsightsAccessScopeAnalysisId: string | undefined; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -4111,736 +4213,562 @@ export interface DeregisterTransitGatewayMulticastGroupMembersRequest { DryRun?: boolean; } -export namespace DeregisterTransitGatewayMulticastGroupMembersRequest { +export namespace DeleteNetworkInsightsAccessScopeAnalysisRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAccessScopeAnalysisRequest): any => ({ ...obj, }); } -/** - *

        Describes the deregistered transit gateway multicast group members.

        - */ -export interface TransitGatewayMulticastDeregisteredGroupMembers { - /** - *

        The ID of the transit gateway multicast domain.

        - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

        The network interface IDs of the deregistered members.

        - */ - DeregisteredNetworkInterfaceIds?: string[]; - +export interface DeleteNetworkInsightsAccessScopeAnalysisResult { /** - *

        The IP address assigned to the transit gateway multicast group.

        + *

        The ID of the Network Access Scope analysis.

        */ - GroupIpAddress?: string; + NetworkInsightsAccessScopeAnalysisId?: string; } -export namespace TransitGatewayMulticastDeregisteredGroupMembers { +export namespace DeleteNetworkInsightsAccessScopeAnalysisResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupMembers): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAccessScopeAnalysisResult): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupMembersResult { - /** - *

        Information about the deregistered members.

        - */ - DeregisteredMulticastGroupMembers?: TransitGatewayMulticastDeregisteredGroupMembers; -} - -export namespace DeregisterTransitGatewayMulticastGroupMembersResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersResult): any => ({ - ...obj, - }); -} - -export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { - /** - *

        The ID of the transit gateway multicast domain.

        - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

        The IP address assigned to the transit gateway multicast group.

        - */ - GroupIpAddress?: string; - - /** - *

        The IDs of the group sources' network interfaces.

        - */ - NetworkInterfaceIds?: string[]; - +export interface DeleteNetworkInsightsAnalysisRequest { /** *

        Checks whether you have the required permissions for the action, without 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 { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesRequest): any => ({ - ...obj, - }); -} - -/** - *

        Describes the deregistered transit gateway multicast group sources.

        - */ -export interface TransitGatewayMulticastDeregisteredGroupSources { - /** - *

        The ID of the transit gateway multicast domain.

        - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

        The network interface IDs of the non-registered members.

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

        The IP address assigned to the transit gateway multicast group.

        + *

        The ID of the network insights analysis.

        */ - GroupIpAddress?: string; + NetworkInsightsAnalysisId: string | undefined; } -export namespace TransitGatewayMulticastDeregisteredGroupSources { +export namespace DeleteNetworkInsightsAnalysisRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupSources): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisRequest): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupSourcesResult { +export interface DeleteNetworkInsightsAnalysisResult { /** - *

        Information about the deregistered group sources.

        + *

        The ID of the network insights analysis.

        */ - DeregisteredMulticastGroupSources?: TransitGatewayMulticastDeregisteredGroupSources; + NetworkInsightsAnalysisId?: string; } -export namespace DeregisterTransitGatewayMulticastGroupSourcesResult { +export namespace DeleteNetworkInsightsAnalysisResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisResult): any => ({ ...obj, }); } -export interface DescribeAccountAttributesRequest { +export interface DeleteNetworkInsightsPathRequest { /** - *

        The account attribute 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.

        */ - AttributeNames?: (AccountAttributeName | string)[]; + 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 path.

        */ - DryRun?: boolean; + NetworkInsightsPathId: string | undefined; } -export namespace DescribeAccountAttributesRequest { +export namespace DeleteNetworkInsightsPathRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAccountAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathRequest): any => ({ ...obj, }); } -export interface DescribeAccountAttributesResult { +export interface DeleteNetworkInsightsPathResult { /** - *

        Information about the account attributes.

        + *

        The ID of the path.

        */ - AccountAttributes?: AccountAttribute[]; + NetworkInsightsPathId?: string; } -export namespace DescribeAccountAttributesResult { +export namespace DeleteNetworkInsightsPathResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAccountAttributesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathResult): any => ({ ...obj, }); } /** - *

        A filter name and value pair that is used to return a more specific list of results from a describe operation. - * Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

        + *

        Contains the parameters for DeleteNetworkInterface.

        */ -export interface Filter { +export interface DeleteNetworkInterfaceRequest { /** - *

        The name of the filter. Filter names are case-sensitive.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - Name?: string; + DryRun?: boolean; /** - *

        The filter values. Filter values are case-sensitive.

        + *

        The ID of the network interface.

        */ - Values?: string[]; + NetworkInterfaceId: string | undefined; } -export namespace Filter { +export namespace DeleteNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Filter): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface DescribeAddressesRequest { - /** - *

        One or more filters. Filter names and values are case-sensitive.

        - *
          - *
        • - *

          - * allocation-id - [EC2-VPC] The allocation ID for the address.

          - *
        • - *
        • - *

          - * association-id - [EC2-VPC] The association ID for the address.

          - *
        • - *
        • - *

          - * domain - Indicates whether the address is for use in EC2-Classic (standard) - * or in a VPC (vpc).

          - *
        • - *
        • - *

          - * instance-id - The ID of the instance the address is associated with, if any.

          - *
        • - *
        • - *

          - * network-border-group - A unique set of Availability Zones, Local Zones, - * or Wavelength Zones from where Amazon Web Services advertises IP addresses.

          - *
        • - *
        • - *

          - * network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

          - *
        • - *
        • - *

          - * network-interface-owner-id - The Amazon Web Services account ID of the owner.

          - *
        • - *
        • - *

          - * private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

          - *
        • - *
        • - *

          - * public-ip - The Elastic IP address, or the carrier IP address.

          - *
        • - *
        • - *

          - * 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[]; - +/** + *

        Contains the parameters for DeleteNetworkInterfacePermission.

        + */ +export interface DeleteNetworkInterfacePermissionRequest { /** - *

        One or more Elastic IP addresses.

        - *

        Default: Describes all your Elastic IP addresses.

        + *

        The ID of the network interface permission.

        */ - PublicIps?: string[]; + NetworkInterfacePermissionId: string | undefined; /** - *

        [EC2-VPC] Information about the allocation IDs.

        + *

        Specify true to remove the permission even if the network interface is + * attached to an instance.

        */ - AllocationIds?: string[]; + 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.

        + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; } -export namespace DescribeAddressesRequest { +export namespace DeleteNetworkInterfacePermissionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionRequest): any => ({ ...obj, }); } -export interface DescribeAddressesResult { +/** + *

        Contains the output for DeleteNetworkInterfacePermission.

        + */ +export interface DeleteNetworkInterfacePermissionResult { /** - *

        Information about the Elastic IP addresses.

        + *

        Returns true if the request succeeds, otherwise returns an error.

        */ - Addresses?: Address[]; + Return?: boolean; } -export namespace DescribeAddressesResult { +export namespace DeleteNetworkInterfacePermissionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionResult): any => ({ ...obj, }); } -export interface DescribeAddressesAttributeRequest { - /** - *

        [EC2-VPC] The allocation IDs.

        - */ - AllocationIds?: string[]; - +export interface DeletePlacementGroupRequest { /** - *

        The attribute of the IP address.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - Attribute?: AddressAttributeName | string; + DryRun?: boolean; /** - *

        The token for the next page of results.

        + *

        The name of the placement group.

        */ - NextToken?: string; + GroupName: string | undefined; +} +export namespace DeletePlacementGroupRequest { /** - *

        The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

        + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DeletePlacementGroupRequest): any => ({ + ...obj, + }); +} +export interface DeletePublicIpv4PoolRequest { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, + *

        A check for whether you have the required permissions for the action without 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 public IPv4 pool you want to delete.

        + */ + PoolId: string | undefined; } -export namespace DescribeAddressesAttributeRequest { +export namespace DeletePublicIpv4PoolRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DeletePublicIpv4PoolRequest): any => ({ ...obj, }); } -export interface DescribeAddressesAttributeResult { - /** - *

        Information about the IP addresses.

        - */ - Addresses?: AddressAttribute[]; - +export interface DeletePublicIpv4PoolResult { /** - *

        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 result of deleting the public IPv4 pool.

        */ - NextToken?: string; + ReturnValue?: boolean; } -export namespace DescribeAddressesAttributeResult { +export namespace DeletePublicIpv4PoolResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DeletePublicIpv4PoolResult): any => ({ ...obj, }); } -export interface DescribeAggregateIdFormatRequest { +export interface DeleteQueuedReservedInstancesRequest { /** *

        Checks whether you have the required permissions for the action, without 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 IDs of the Reserved Instances.

        + */ + ReservedInstancesIds: string[] | undefined; } -export namespace DescribeAggregateIdFormatRequest { +export namespace DeleteQueuedReservedInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAggregateIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesRequest): any => ({ ...obj, }); } +export enum DeleteQueuedReservedInstancesErrorCode { + RESERVED_INSTANCES_ID_INVALID = "reserved-instances-id-invalid", + RESERVED_INSTANCES_NOT_IN_QUEUED_STATE = "reserved-instances-not-in-queued-state", + UNEXPECTED_ERROR = "unexpected-error", +} + /** - *

        Describes the ID format for a resource.

        + *

        Describes the error for a Reserved Instance whose queued purchase could not be deleted.

        */ -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.

        - */ - Deadline?: Date; - +export interface DeleteQueuedReservedInstancesError { /** - *

        The type of resource.

        + *

        The error code.

        */ - Resource?: string; + Code?: DeleteQueuedReservedInstancesErrorCode | string; /** - *

        Indicates whether longer IDs (17-character IDs) are enabled for the resource.

        + *

        The error message.

        */ - UseLongIds?: boolean; + Message?: string; } -export namespace IdFormat { +export namespace DeleteQueuedReservedInstancesError { /** * @internal */ - export const filterSensitiveLog = (obj: IdFormat): any => ({ + export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesError): any => ({ ...obj, }); } -export interface DescribeAggregateIdFormatResult { +/** + *

        Describes a Reserved Instance whose queued purchase was not deleted.

        + */ +export interface FailedQueuedPurchaseDeletion { /** - *

        Indicates whether all resource types in the Region are configured to use longer IDs. - * This value is only true if all users are configured to use longer IDs for - * all resources types in the Region.

        + *

        The error.

        */ - UseLongIdsAggregated?: boolean; + Error?: DeleteQueuedReservedInstancesError; /** - *

        Information about each resource's ID format.

        + *

        The ID of the Reserved Instance.

        */ - Statuses?: IdFormat[]; + ReservedInstancesId?: string; } -export namespace DescribeAggregateIdFormatResult { +export namespace FailedQueuedPurchaseDeletion { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAggregateIdFormatResult): any => ({ + export const filterSensitiveLog = (obj: FailedQueuedPurchaseDeletion): any => ({ ...obj, }); } -export interface DescribeAvailabilityZonesRequest { - /** - *

        The filters.

        - *
          - *
        • - *

          - * 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).

          - *
        • - *
        • - *

          - * message - The Zone message.

          - *
        • - *
        • - *

          - * 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.

          - *
        • - *
        • - *

          - * 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).

          - *
        • - *
        • - *

          - * 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), the Local Zone (for example, usw2-lax1-az1), or the - * Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

          - *
        • - *
        • - *

          - * zone-type - The type of zone, for example, local-zone.

          - *
        • - *
        • - *

          - * zone-name - The name of the Availability Zone (for example, - * 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).

          - *
        • - *
        • - *

          - * zone-type - The type of zone, for example, local-zone.

          - *
        • - *
        - */ - Filters?: Filter[]; - +/** + *

        Describes a Reserved Instance whose queued purchase was successfully deleted.

        + */ +export interface SuccessfulQueuedPurchaseDeletion { /** - *

        The names of the Availability Zones, Local Zones, and Wavelength Zones.

        + *

        The ID of the Reserved Instance.

        */ - ZoneNames?: string[]; + ReservedInstancesId?: string; +} +export namespace SuccessfulQueuedPurchaseDeletion { /** - *

        The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

        + * @internal */ - ZoneIds?: string[]; + export const filterSensitiveLog = (obj: SuccessfulQueuedPurchaseDeletion): any => ({ + ...obj, + }); +} +export interface DeleteQueuedReservedInstancesResult { /** - *

        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.

        + *

        Information about the queued purchases that were successfully deleted.

        */ - AllAvailabilityZones?: boolean; + SuccessfulQueuedPurchaseDeletions?: SuccessfulQueuedPurchaseDeletion[]; /** - *

        Checks whether you have the required permissions for the action, without 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 queued purchases that could not be deleted.

        */ - DryRun?: boolean; + FailedQueuedPurchaseDeletions?: FailedQueuedPurchaseDeletion[]; } -export namespace DescribeAvailabilityZonesRequest { +export namespace DeleteQueuedReservedInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAvailabilityZonesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesResult): any => ({ ...obj, }); } -/** - *

        Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

        - */ -export interface AvailabilityZoneMessage { +export interface DeleteRouteRequest { /** - *

        The message about the Availability Zone, Local Zone, or Wavelength Zone.

        + *

        The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

        */ - Message?: string; -} + DestinationCidrBlock?: string; -export namespace AvailabilityZoneMessage { /** - * @internal + *

        The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

        */ - export const filterSensitiveLog = (obj: AvailabilityZoneMessage): any => ({ - ...obj, - }); -} - -export type AvailabilityZoneOptInStatus = "not-opted-in" | "opt-in-not-required" | "opted-in"; - -export type AvailabilityZoneState = "available" | "impaired" | "information" | "unavailable"; + DestinationIpv6CidrBlock?: string; -/** - *

        Describes Availability Zones, Local Zones, and Wavelength Zones.

        - */ -export interface AvailabilityZone { /** - *

        The state of the Availability Zone, Local Zone, or Wavelength Zone.

        + *

        The ID of the prefix list for the route.

        */ - State?: AvailabilityZoneState | string; + DestinationPrefixListId?: string; /** - *

        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.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - OptInStatus?: AvailabilityZoneOptInStatus | string; + DryRun?: boolean; /** - *

        Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

        + *

        The ID of the route table.

        */ - Messages?: AvailabilityZoneMessage[]; + RouteTableId: string | undefined; +} +export namespace DeleteRouteRequest { /** - *

        The name of the Region.

        + * @internal */ - RegionName?: string; + export const filterSensitiveLog = (obj: DeleteRouteRequest): any => ({ + ...obj, + }); +} +export interface DeleteRouteTableRequest { /** - *

        The name of the Availability Zone, Local Zone, or Wavelength 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.

        */ - ZoneName?: string; + DryRun?: boolean; /** - *

        The ID of the Availability Zone, Local Zone, or Wavelength Zone.

        + *

        The ID of the route table.

        */ - ZoneId?: string; + RouteTableId: string | undefined; +} +export namespace DeleteRouteTableRequest { /** - *

        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.

        + * @internal */ - GroupName?: string; + export const filterSensitiveLog = (obj: DeleteRouteTableRequest): any => ({ + ...obj, + }); +} +export interface DeleteSecurityGroupRequest { /** - *

        The name of the network border group.

        + *

        The ID of the security group. Required for a nondefault VPC.

        */ - NetworkBorderGroup?: string; + GroupId?: string; /** - *

        The type of zone. The valid values are availability-zone, - * local-zone, and wavelength-zone.

        + *

        [EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

        */ - ZoneType?: string; + GroupName?: string; /** - *

        The name of the zone that handles some of the Local Zone or Wavelength Zone control plane - * operations, such as API calls.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - ParentZoneName?: string; + DryRun?: boolean; +} +export namespace DeleteSecurityGroupRequest { /** - *

        The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane - * operations, such as API calls.

        + * @internal */ - ParentZoneId?: string; + export const filterSensitiveLog = (obj: DeleteSecurityGroupRequest): any => ({ + ...obj, + }); } -export namespace AvailabilityZone { +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; +} + +export namespace DeleteSnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AvailabilityZone): any => ({ + export const filterSensitiveLog = (obj: DeleteSnapshotRequest): any => ({ ...obj, }); } -export interface DescribeAvailabilityZonesResult { +/** + *

        Contains the parameters for DeleteSpotDatafeedSubscription.

        + */ +export interface DeleteSpotDatafeedSubscriptionRequest { /** - *

        Information about the Availability Zones, Local Zones, and Wavelength 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.

        */ - AvailabilityZones?: AvailabilityZone[]; + DryRun?: boolean; } -export namespace DescribeAvailabilityZonesResult { +export namespace DeleteSpotDatafeedSubscriptionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAvailabilityZonesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteSpotDatafeedSubscriptionRequest): any => ({ ...obj, }); } -export interface DescribeBundleTasksRequest { +export interface DeleteSubnetRequest { /** - *

        The bundle task IDs.

        - *

        Default: Describes all your bundle tasks.

        + *

        The ID of the subnet.

        */ - BundleIds?: string[]; + SubnetId: string | undefined; /** - *

        The filters.

        - *
          - *
        • - *

          - * bundle-id - The ID of the bundle task.

          - *
        • - *
        • - *

          - * error-code - If the task failed, the error code returned.

          - *
        • - *
        • - *

          - * error-message - If the task failed, the error message returned.

          - *
        • - *
        • - *

          - * instance-id - The ID of the instance.

          - *
        • - *
        • - *

          - * progress - The level of task completion, as a percentage (for example, 20%).

          - *
        • - *
        • - *

          - * s3-bucket - The Amazon S3 bucket to store the AMI.

          - *
        • - *
        • - *

          - * s3-prefix - The beginning of the AMI name.

          - *
        • - *
        • - *

          - * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

          - *
        • - *
        • - *

          - * state - The state of the task (pending | waiting-for-shutdown | bundling | - * storing | cancelling | complete | failed).

          - *
        • - *
        • - *

          - * update-time - The time of the most recent update for the task.

          - *
        • - *
        + *

        Checks whether you have the required permissions for the action, without 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 DeleteSubnetRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteSubnetRequest): any => ({ + ...obj, + }); +} + +export interface DeleteSubnetCidrReservationRequest { + /** + *

        The ID of the subnet CIDR reservation.

        + */ + SubnetCidrReservationId: 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.

        + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; } -export namespace DescribeBundleTasksRequest { +export namespace DeleteSubnetCidrReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeBundleTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationRequest): any => ({ ...obj, }); } -export interface DescribeBundleTasksResult { +export interface DeleteSubnetCidrReservationResult { /** - *

        Information about the bundle tasks.

        + *

        Information about the deleted subnet CIDR reservation.

        */ - BundleTasks?: BundleTask[]; + DeletedSubnetCidrReservation?: SubnetCidrReservation; } -export namespace DescribeBundleTasksResult { +export namespace DeleteSubnetCidrReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeBundleTasksResult): any => ({ + export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationResult): any => ({ ...obj, }); } -export interface DescribeByoipCidrsRequest { +export interface DeleteTagsRequest { /** *

        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4849,2017 +4777,1418 @@ export interface DescribeByoipCidrsRequest { 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 IDs of the resources, separated by spaces.

        + *

        Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

        */ - MaxResults: number | undefined; + Resources: string[] | undefined; /** - *

        The token for the next page of results.

        + *

        The tags to delete. Specify a tag key and an optional tag value to delete + * specific tags. If you specify a tag key without a tag value, we delete any tag with this + * key regardless of its value. If you specify a tag key with an empty string as the tag + * value, we delete the tag only if its value is an empty string.

        + *

        If you omit this parameter, we delete all user-defined tags for the specified + * resources. We do not delete Amazon Web Services-generated tags (tags that have the aws: + * prefix).

        + *

        Constraints: Up to 1000 tags.

        */ - NextToken?: string; + Tags?: Tag[]; } -export namespace DescribeByoipCidrsRequest { +export namespace DeleteTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeByoipCidrsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTagsRequest): any => ({ ...obj, }); } -export interface DescribeByoipCidrsResult { +export interface DeleteTrafficMirrorFilterRequest { /** - *

        Information about your address ranges.

        + *

        The ID of the Traffic Mirror filter.

        */ - ByoipCidrs?: ByoipCidr[]; + TrafficMirrorFilterId: string | undefined; /** - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        Checks whether you have the required permissions for the action, without 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 DescribeByoipCidrsResult { +export namespace DeleteTrafficMirrorFilterRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeByoipCidrsResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRequest): any => ({ ...obj, }); } -export interface DescribeCapacityReservationFleetsRequest { +export interface DeleteTrafficMirrorFilterResult { /** - *

        The IDs of the Capacity Reservation Fleets to describe.

        + *

        The ID of the Traffic Mirror filter.

        */ - CapacityReservationFleetIds?: string[]; + TrafficMirrorFilterId?: string; +} +export namespace DeleteTrafficMirrorFilterResult { /** - *

        The token to use to retrieve the next page of results.

        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterResult): any => ({ + ...obj, + }); +} +export interface DeleteTrafficMirrorFilterRuleRequest { /** - *

        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 ID of the Traffic Mirror rule.

        */ - MaxResults?: number; + TrafficMirrorFilterRuleId: string | undefined; /** - *

        One or more filters.

        - *
          - *
        • - *

          - * state - The state of the Fleet (submitted | modifying | active | - * partially_fulfilled | expiring | expired | cancelling | - * cancelled | failed).

          - *
        • - *
        • - *

          - * instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

          - *
        • - *
        • - *

          - * tenancy - The tenancy of the Fleet (default | dedicated).

          - *
        • - *
        • - *

          - * allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is 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.

        */ - Filters?: Filter[]; + DryRun?: boolean; +} +export namespace DeleteTrafficMirrorFilterRuleRequest { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleRequest): any => ({ + ...obj, + }); } -export namespace DescribeCapacityReservationFleetsRequest { +export interface DeleteTrafficMirrorFilterRuleResult { + /** + *

        The ID of the deleted Traffic Mirror rule.

        + */ + TrafficMirrorFilterRuleId?: string; +} + +export namespace DeleteTrafficMirrorFilterRuleResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleResult): any => ({ ...obj, }); } -/** - *

        Information about a Capacity Reservation Fleet.

        - */ -export interface CapacityReservationFleet { +export interface DeleteTrafficMirrorSessionRequest { /** - *

        The ID of the Capacity Reservation Fleet.

        + *

        The ID of the Traffic Mirror session.

        */ - CapacityReservationFleetId?: string; + TrafficMirrorSessionId: string | undefined; /** - *

        The ARN of the Capacity Reservation Fleet.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - CapacityReservationFleetArn?: string; + DryRun?: boolean; +} - /** - *

        The state of the Capacity Reservation Fleet. Possible states include:

        - *
          - *
        • - *

          - * submitted - The Capacity Reservation Fleet request has been submitted - * and Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

          - *
        • - *
        • - *

          - * modifying - The Capacity Reservation Fleet is being modified. The Fleet - * remains in this state until the modification is complete.

          - *
        • - *
        • - *

          - * active - The Capacity Reservation Fleet has fulfilled its total target - * capacity and it is attempting to maintain this capacity. The Fleet remains in this - * state until it is modified or deleted.

          - *
        • - *
        • - *

          - * partially_fulfilled - The Capacity Reservation Fleet has partially - * fulfilled its total target capacity. There is insufficient Amazon EC2 to - * fulfill the total target capacity. The Fleet is attempting to asynchronously fulfill - * its total target capacity.

          - *
        • - *
        • - *

          - * expiring - The Capacity Reservation Fleet has reach its end date and it - * is in the process of expiring. One or more of its Capacity reservations might still - * be active.

          - *
        • - *
        • - *

          - * expired - The Capacity Reservation Fleet has reach its end date. The Fleet - * and its Capacity Reservations are expired. The Fleet can't create new Capacity - * Reservations.

          - *
        • - *
        • - *

          - * cancelling - The Capacity Reservation Fleet is in the process of being - * cancelled. One or more of its Capacity reservations might still be active.

          - *
        • - *
        • - *

          - * cancelled - The Capacity Reservation Fleet has been manually cancelled. - * The Fleet and its Capacity Reservations are cancelled and the Fleet can't create new - * Capacity Reservations.

          - *
        • - *
        • - *

          - * failed - The Capacity Reservation Fleet failed to reserve capacity for - * the specified instance types.

          - *
        • - *
        - */ - State?: CapacityReservationFleetState | string; - - /** - *

        The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. - * For more information, see Total target capacity - * in the Amazon EC2 User Guide.

        - */ - TotalTargetCapacity?: number; - - /** - *

        The capacity units that have been fulfilled.

        - */ - TotalFulfilledCapacity?: number; - - /** - *

        The tenancy of the Capacity Reservation Fleet. Tenancies include:

        - *
          - *
        • - *

          - * default - The Capacity Reservation Fleet is created on hardware that is - * shared with other Amazon Web Services accounts.

          - *
        • - *
        • - *

          - * dedicated - The Capacity Reservation Fleet is created on single-tenant - * hardware that is dedicated to a single Amazon Web Services account.

          - *
        • - *
        - */ - Tenancy?: FleetCapacityReservationTenancy | string; - - /** - *

        The date and time at which the Capacity Reservation Fleet expires.

        - */ - EndDate?: Date; - - /** - *

        The date and time at which the Capacity Reservation Fleet was created.

        - */ - CreateTime?: Date; - - /** - *

        Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All - * Capacity Reservations in the Fleet inherit this instance matching criteria.

        - *

        Currently, Capacity Reservation Fleets support open instance matching criteria - * only. This means that instances that have matching attributes (instance type, platform, and - * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to - * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

        - */ - InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; - - /** - *

        The strategy used by the Capacity Reservation Fleet to determine which of the specified - * instance types to use. For more information, see For more information, see - * - * Allocation strategy in the Amazon EC2 User Guide.

        - */ - AllocationStrategy?: string; - - /** - *

        Information about the instance types for which to reserve the capacity.

        - */ - InstanceTypeSpecifications?: FleetCapacityReservation[]; - - /** - *

        The tags assigned to the Capacity Reservation Fleet.

        - */ - Tags?: Tag[]; -} - -export namespace CapacityReservationFleet { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CapacityReservationFleet): any => ({ - ...obj, - }); -} - -export interface DescribeCapacityReservationFleetsResult { - /** - *

        Information about the Capacity Reservation Fleets.

        - */ - CapacityReservationFleets?: CapacityReservationFleet[]; - - /** - *

        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 DescribeCapacityReservationFleetsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsResult): any => ({ - ...obj, - }); -} - -export interface DescribeCapacityReservationsRequest { - /** - *

        The ID of the Capacity Reservation.

        - */ - CapacityReservationIds?: 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; - - /** - *

        One or more filters.

        - *
          - *
        • - *

          - * instance-type - The type of instance for which the Capacity Reservation reserves capacity.

          - *
        • - *
        • - *

          - * owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

          - *
        • - *
        • - *

          - * availability-zone-id - The Availability Zone ID of the Capacity Reservation.

          - *
        • - *
        • - *

          - * instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

          - *
        • - *
        • - *

          - * availability-zone - The Availability Zone ID of the Capacity Reservation.

          - *
        • - *
        • - *

          - * tenancy - 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 Amazon Web Services accounts.

            - *
          • - *
          • - *

            - * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

            - *
          • - *
          - *
        • - *
        • - *

          - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

          - *
        • - *
        • - *

          - * state - 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 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.

            - *
          • - *
          - *
        • - *
        • - *

          - * start-date - The date and time at which the Capacity Reservation was started.

          - *
        • - *
        • - *

          - * end-date - 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.

          - *
        • - *
        • - *

          - * end-date-type - 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.

            - *
          • - *
          - *
        • - *
        • - *

          - * instance-match-criteria - 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.

            - *
          • - *
          - *
        • - *
        - */ - 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; -} - -export namespace DescribeCapacityReservationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationsRequest): any => ({ - ...obj, - }); -} - -export interface DescribeCapacityReservationsResult { - /** - *

        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 Capacity Reservations.

        - */ - CapacityReservations?: CapacityReservation[]; -} - -export namespace DescribeCapacityReservationsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationsResult): any => ({ - ...obj, - }); -} - -export interface DescribeCarrierGatewaysRequest { - /** - *

        One or more carrier gateway IDs.

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

        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 Amazon Web Services 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.

          - *
        • - *
        - */ - 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; - - /** - *

        Checks whether you have the required permissions for the action, without 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 DescribeCarrierGatewaysRequest { - /** - * @internal - */ - 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 { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeCarrierGatewaysResult): any => ({ - ...obj, - }); -} - -export interface DescribeClassicLinkInstancesRequest { - /** - *

        One or more filters.

        - *
          - *
        • - *

          - * group-id - The ID of a VPC security group that's associated with the instance.

          - *
        • - *
        • - *

          - * instance-id - The ID of the instance.

          - *
        • - *
        • - *

          - * 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 to which the instance is - * linked.

          - * - *

          - * vpc-id - The ID of the VPC that the instance is linked to.

          - * - *
        • - *
        - */ - 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 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; -} - -export namespace DescribeClassicLinkInstancesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesRequest): any => ({ - ...obj, - }); -} - -/** - *

        Describes a linked EC2-Classic instance.

        - */ -export interface ClassicLinkInstance { - /** - *

        A list of security groups.

        - */ - Groups?: GroupIdentifier[]; - - /** - *

        The ID of the instance.

        - */ - InstanceId?: string; - - /** - *

        Any tags assigned to the instance.

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

        The ID of the VPC.

        - */ - VpcId?: string; -} - -export namespace ClassicLinkInstance { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ClassicLinkInstance): any => ({ - ...obj, - }); -} - -export interface DescribeClassicLinkInstancesResult { - /** - *

        Information about one or more linked EC2-Classic instances.

        - */ - Instances?: ClassicLinkInstance[]; - - /** - *

        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 DescribeClassicLinkInstancesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesResult): any => ({ - ...obj, - }); -} - -export interface DescribeClientVpnAuthorizationRulesRequest { - /** - *

        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.

        - */ - DryRun?: boolean; - - /** - *

        The token to retrieve the next page of results.

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

        One or more filters. Filter names and values are case-sensitive.

        - *
          - *
        • - *

          - * description - The description of the authorization rule.

          - *
        • - *
        • - *

          - * destination-cidr - The CIDR of the network to which the authorization rule - * applies.

          - *
        • - *
        • - *

          - * group-id - The ID of the Active Directory group to which the authorization rule grants access.

          - *
        • - *
        - */ - 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; -} - -export namespace DescribeClientVpnAuthorizationRulesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesRequest): any => ({ - ...obj, - }); -} - -/** - *

        Information about an authorization rule.

        - */ -export interface AuthorizationRule { - /** - *

        The ID of the Client VPN endpoint with which the authorization rule is associated.

        - */ - ClientVpnEndpointId?: string; - - /** - *

        A brief description of the authorization rule.

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

        The ID of the Active Directory group to which the authorization rule grants access.

        - */ - GroupId?: string; - - /** - *

        Indicates whether the authorization rule grants access to all clients.

        - */ - AccessAll?: boolean; - - /** - *

        The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

        - */ - DestinationCidr?: string; - - /** - *

        The current state of the authorization rule.

        - */ - Status?: ClientVpnAuthorizationRuleStatus; -} - -export namespace AuthorizationRule { +export namespace DeleteTrafficMirrorSessionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizationRule): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnAuthorizationRulesResult { - /** - *

        Information about the authorization rules.

        - */ - AuthorizationRules?: AuthorizationRule[]; - +export interface DeleteTrafficMirrorSessionResult { /** - *

        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 deleted Traffic Mirror session.

        */ - NextToken?: string; + TrafficMirrorSessionId?: string; } -export namespace DescribeClientVpnAuthorizationRulesResult { +export namespace DeleteTrafficMirrorSessionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionResult): any => ({ ...obj, }); } -export interface DescribeClientVpnConnectionsRequest { - /** - *

        The ID of the Client VPN endpoint.

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

        One or more filters. Filter names and values are case-sensitive.

        - *
          - *
        • - *

          - * connection-id - The ID of the connection.

          - *
        • - *
        • - *

          - * username - For Active Directory client authentication, the user name of the - * client who established the client connection.

          - *
        • - *
        - */ - Filters?: Filter[]; - - /** - *

        The token to retrieve the next page of results.

        - */ - NextToken?: string; - +export interface DeleteTrafficMirrorTargetRequest { /** - *

        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 ID of the Traffic Mirror target.

        */ - MaxResults?: number; + 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.

        + *

        Checks whether you have the required permissions for the action, without 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 { +export namespace DeleteTrafficMirrorTargetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetRequest): any => ({ ...obj, }); } -export type ClientVpnConnectionStatusCode = "active" | "failed-to-terminate" | "terminated" | "terminating"; - -/** - *

        Describes the status of a client connection.

        - */ -export interface ClientVpnConnectionStatus { - /** - *

        The state of the client connection.

        - */ - Code?: ClientVpnConnectionStatusCode | string; - +export interface DeleteTrafficMirrorTargetResult { /** - *

        A message about the status of the client connection, if applicable.

        + *

        The ID of the deleted Traffic Mirror target.

        */ - Message?: string; + TrafficMirrorTargetId?: string; } -export namespace ClientVpnConnectionStatus { +export namespace DeleteTrafficMirrorTargetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnConnectionStatus): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetResult): any => ({ ...obj, }); } -/** - *

        Describes a client connection.

        - */ -export interface ClientVpnConnection { - /** - *

        The ID of the Client VPN endpoint to which the client is connected.

        - */ - ClientVpnEndpointId?: string; - - /** - *

        The current date and time.

        - */ - Timestamp?: string; - - /** - *

        The ID of the client connection.

        - */ - ConnectionId?: string; - - /** - *

        The username of the client who established the client connection. This information is only provided - * if Active Directory client authentication is used.

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

        The date and time the client connection was established.

        - */ - ConnectionEstablishedTime?: string; - - /** - *

        The number of bytes sent by the client.

        - */ - IngressBytes?: string; - - /** - *

        The number of bytes received by the client.

        - */ - EgressBytes?: string; - - /** - *

        The number of packets sent by the client.

        - */ - IngressPackets?: string; - - /** - *

        The number of packets received by the client.

        - */ - EgressPackets?: string; - - /** - *

        The IP address of the client.

        - */ - ClientIp?: string; - - /** - *

        The common name associated with the client. This is either the name of the client certificate, - * or the Active Directory user name.

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

        The current state of the client connection.

        - */ - Status?: ClientVpnConnectionStatus; - +export interface DeleteTransitGatewayRequest { /** - *

        The date and time the client connection was terminated.

        + *

        The ID of the transit gateway.

        */ - ConnectionEndTime?: string; + TransitGatewayId: string | undefined; /** - *

        The statuses returned by the client connect handler for posture compliance, if applicable.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - PostureComplianceStatuses?: string[]; + DryRun?: boolean; } -export namespace ClientVpnConnection { +export namespace DeleteTransitGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnConnection): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnConnectionsResult { - /** - *

        Information about the active and terminated client connections.

        - */ - Connections?: ClientVpnConnection[]; - +export interface DeleteTransitGatewayResult { /** - *

        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 deleted transit gateway.

        */ - NextToken?: string; + TransitGateway?: TransitGateway; } -export namespace DescribeClientVpnConnectionsResult { +export namespace DeleteTransitGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayResult): any => ({ ...obj, }); } -export interface DescribeClientVpnEndpointsRequest { - /** - *

        The ID of the Client VPN endpoint.

        - */ - ClientVpnEndpointIds?: string[]; - +export interface DeleteTransitGatewayConnectRequest { /** - *

        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 ID of the Connect attachment.

        */ - MaxResults?: number; + TransitGatewayAttachmentId: string | undefined; /** - *

        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; +} +export namespace DeleteTransitGatewayConnectRequest { /** - *

        One or more filters. Filter names and values are case-sensitive.

        - *
          - *
        • - *

          - * endpoint-id - The ID of the Client VPN endpoint.

          - *
        • - *
        • - *

          - * transport-protocol - The transport protocol (tcp | - * udp).

          - *
        • - *
        + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectRequest): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayConnectResult { /** - *

        Checks whether you have the required permissions for the action, without 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 Connect attachment.

        */ - DryRun?: boolean; + TransitGatewayConnect?: TransitGatewayConnect; } -export namespace DescribeClientVpnEndpointsRequest { +export namespace DeleteTransitGatewayConnectResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectResult): any => ({ ...obj, }); } -export type AssociatedNetworkType = "vpc"; - -/** - *

        Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

        - */ -export interface AssociatedTargetNetwork { +export interface DeleteTransitGatewayConnectPeerRequest { /** - *

        The ID of the subnet.

        + *

        The ID of the Connect peer.

        */ - NetworkId?: string; + TransitGatewayConnectPeerId: string | undefined; /** - *

        The target network 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.

        */ - NetworkType?: AssociatedNetworkType | string; + DryRun?: boolean; } -export namespace AssociatedTargetNetwork { +export namespace DeleteTransitGatewayConnectPeerRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AssociatedTargetNetwork): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerRequest): any => ({ ...obj, }); } -/** - *

        Describes an Active Directory.

        - */ -export interface DirectoryServiceAuthentication { +export interface DeleteTransitGatewayConnectPeerResult { /** - *

        The ID of the Active Directory used for authentication.

        + *

        Information about the deleted Connect peer.

        */ - DirectoryId?: string; + TransitGatewayConnectPeer?: TransitGatewayConnectPeer; } -export namespace DirectoryServiceAuthentication { +export namespace DeleteTransitGatewayConnectPeerResult { /** * @internal */ - export const filterSensitiveLog = (obj: DirectoryServiceAuthentication): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerResult): any => ({ ...obj, }); } -/** - *

        Describes the IAM SAML identity providers used for federated authentication.

        - */ -export interface FederatedAuthentication { +export interface DeleteTransitGatewayMulticastDomainRequest { /** - *

        The Amazon Resource Name (ARN) of the IAM SAML identity provider.

        + *

        The ID of the transit gateway multicast domain.

        */ - SamlProviderArn?: string; + TransitGatewayMulticastDomainId: string | undefined; /** - *

        The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - SelfServiceSamlProviderArn?: string; + DryRun?: boolean; } -export namespace FederatedAuthentication { +export namespace DeleteTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FederatedAuthentication): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -/** - *

        Information about the client certificate used for authentication.

        - */ -export interface CertificateAuthentication { +export interface DeleteTransitGatewayMulticastDomainResult { /** - *

        The ARN of the client certificate.

        + *

        Information about the deleted transit gateway multicast domain.

        */ - ClientRootCertificateChain?: string; + TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; } -export namespace CertificateAuthentication { +export namespace DeleteTransitGatewayMulticastDomainResult { /** * @internal */ - export const filterSensitiveLog = (obj: CertificateAuthentication): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -/** - *

        Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication - * in the Client VPN Administrator Guide.

        - */ -export interface ClientVpnAuthentication { +export interface DeleteTransitGatewayPeeringAttachmentRequest { /** - *

        The authentication type used.

        + *

        The ID of the transit gateway peering attachment.

        */ - Type?: ClientVpnAuthenticationType | string; + TransitGatewayAttachmentId: string | undefined; /** - *

        Information about the Active Directory, if applicable.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - ActiveDirectory?: DirectoryServiceAuthentication; + DryRun?: boolean; +} +export namespace DeleteTransitGatewayPeeringAttachmentRequest { /** - *

        Information about the authentication certificates, if applicable.

        + * @internal */ - MutualAuthentication?: CertificateAuthentication; + export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentRequest): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayPeeringAttachmentResult { /** - *

        Information about the IAM SAML identity provider, if applicable.

        + *

        The transit gateway peering attachment.

        */ - FederatedAuthentication?: FederatedAuthentication; + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; } -export namespace ClientVpnAuthentication { +export namespace DeleteTransitGatewayPeeringAttachmentResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnAuthentication): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentResult): any => ({ ...obj, }); } -export type ClientVpnEndpointAttributeStatusCode = "applied" | "applying"; +export interface DeleteTransitGatewayPrefixListReferenceRequest { + /** + *

        The ID of the route table.

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

        Describes the status of the Client VPN endpoint attribute.

        - */ -export interface ClientVpnEndpointAttributeStatus { /** - *

        The status code.

        + *

        The ID of the prefix list.

        */ - Code?: ClientVpnEndpointAttributeStatusCode | string; + PrefixListId: string | undefined; /** - *

        The status message.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - Message?: string; + DryRun?: boolean; } -export namespace ClientVpnEndpointAttributeStatus { +export namespace DeleteTransitGatewayPrefixListReferenceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnEndpointAttributeStatus): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceRequest): any => ({ ...obj, }); } -/** - *

        The options for managing connection authorization for new client connections.

        - */ -export interface ClientConnectResponseOptions { - /** - *

        Indicates whether client connect options are enabled.

        - */ - Enabled?: boolean; - - /** - *

        The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

        - */ - LambdaFunctionArn?: string; - +export interface DeleteTransitGatewayPrefixListReferenceResult { /** - *

        The status of any updates to the client connect options.

        + *

        Information about the deleted prefix list reference.

        */ - Status?: ClientVpnEndpointAttributeStatus; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace ClientConnectResponseOptions { +export namespace DeleteTransitGatewayPrefixListReferenceResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientConnectResponseOptions): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } -/** - *

        Information about the client connection logging options for a Client VPN endpoint.

        - */ -export interface ConnectionLogResponseOptions { +export interface DeleteTransitGatewayRouteRequest { /** - *

        Indicates whether client connection logging is enabled for the Client VPN endpoint.

        + *

        The ID of the transit gateway route table.

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

        The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

        + *

        The CIDR range for the route. This must match the CIDR for the route exactly.

        */ - CloudwatchLogGroup?: string; + DestinationCidrBlock: string | undefined; /** - *

        The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - CloudwatchLogStream?: string; + DryRun?: boolean; } -export namespace ConnectionLogResponseOptions { +export namespace DeleteTransitGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ConnectionLogResponseOptions): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteRequest): any => ({ ...obj, }); } -export type VpnProtocol = "openvpn"; +export interface DeleteTransitGatewayRouteResult { + /** + *

        Information about the route.

        + */ + Route?: TransitGatewayRoute; +} -/** - *

        Describes a Client VPN endpoint.

        - */ -export interface ClientVpnEndpoint { +export namespace DeleteTransitGatewayRouteResult { /** - *

        The ID of the Client VPN endpoint.

        + * @internal */ - ClientVpnEndpointId?: string; + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteResult): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayRouteTableRequest { /** - *

        A brief description of the endpoint.

        + *

        The ID of the transit gateway route table.

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

        The current state 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.

        */ - Status?: ClientVpnEndpointStatus; + DryRun?: boolean; +} +export namespace DeleteTransitGatewayRouteTableRequest { /** - *

        The date and time the Client VPN endpoint was created.

        + * @internal */ - CreationTime?: string; + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableRequest): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayRouteTableResult { /** - *

        The date and time the Client VPN endpoint was deleted, if applicable.

        + *

        Information about the deleted transit gateway route table.

        */ - DeletionTime?: string; + TransitGatewayRouteTable?: TransitGatewayRouteTable; +} +export namespace DeleteTransitGatewayRouteTableResult { /** - *

        The DNS name to be used by clients when connecting to the Client VPN endpoint.

        + * @internal */ - DnsName?: string; + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableResult): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayVpcAttachmentRequest { /** - *

        The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

        + *

        The ID of the attachment.

        */ - ClientCidrBlock?: string; + TransitGatewayAttachmentId: string | undefined; /** - *

        Information about the DNS servers to be used for DNS resolution.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - DnsServers?: string[]; + DryRun?: boolean; +} +export namespace DeleteTransitGatewayVpcAttachmentRequest { /** - *

        Indicates whether split-tunnel is enabled in the Client VPN endpoint.

        - *

        For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint - * in the Client VPN Administrator Guide.

        + * @internal */ - SplitTunnel?: boolean; + export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentRequest): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayVpcAttachmentResult { /** - *

        The protocol used by the VPN session.

        + *

        Information about the deleted VPC attachment.

        */ - VpnProtocol?: VpnProtocol | string; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +export namespace DeleteTransitGatewayVpcAttachmentResult { /** - *

        The transport protocol used by the Client VPN endpoint.

        + * @internal */ - TransportProtocol?: TransportProtocol | string; + export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} +export interface DeleteVolumeRequest { /** - *

        The port number for the Client VPN endpoint.

        + *

        The ID of the volume.

        */ - VpnPort?: number; + VolumeId: string | undefined; /** - * @deprecated - * - *

        Information about the associated target networks. A target network is a subnet in a 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.

        */ - AssociatedTargetNetworks?: AssociatedTargetNetwork[]; + DryRun?: boolean; +} +export namespace DeleteVolumeRequest { /** - *

        The ARN of the server certificate.

        + * @internal */ - ServerCertificateArn?: string; + export const filterSensitiveLog = (obj: DeleteVolumeRequest): any => ({ + ...obj, + }); +} +export interface DeleteVpcRequest { /** - *

        Information about the authentication method used by the Client VPN endpoint.

        + *

        The ID of the VPC.

        */ - AuthenticationOptions?: ClientVpnAuthentication[]; + VpcId: string | undefined; /** - *

        Information about the client connection logging options for 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.

        */ - ConnectionLogOptions?: ConnectionLogResponseOptions; + DryRun?: boolean; +} +export namespace DeleteVpcRequest { /** - *

        Any tags assigned to the Client VPN endpoint.

        + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: DeleteVpcRequest): any => ({ + ...obj, + }); +} +export interface DeleteVpcEndpointConnectionNotificationsRequest { /** - *

        The IDs of the security groups for 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; /** - *

        The ID of the VPC.

        + *

        One or more notification IDs.

        */ - VpcId?: string; + ConnectionNotificationIds: string[] | undefined; +} +export namespace DeleteVpcEndpointConnectionNotificationsRequest { /** - *

        The URL of the self-service portal.

        + * @internal */ - SelfServicePortalUrl?: string; + export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsRequest): any => ({ + ...obj, + }); +} +export interface DeleteVpcEndpointConnectionNotificationsResult { /** - *

        The options for managing connection authorization for new client connections.

        + *

        Information about the notifications that could not be deleted + * successfully.

        */ - ClientConnectOptions?: ClientConnectResponseOptions; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace ClientVpnEndpoint { +export namespace DeleteVpcEndpointConnectionNotificationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnEndpoint): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsResult): any => ({ ...obj, }); } -export interface DescribeClientVpnEndpointsResult { +/** + *

        Contains the parameters for DeleteVpcEndpoints.

        + */ +export interface DeleteVpcEndpointsRequest { /** - *

        Information about the Client VPN endpoints.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - ClientVpnEndpoints?: ClientVpnEndpoint[]; + 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.

        + *

        One or more VPC endpoint IDs.

        */ - NextToken?: string; + VpcEndpointIds: string[] | undefined; } -export namespace DescribeClientVpnEndpointsResult { +export namespace DeleteVpcEndpointsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsResult): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcEndpointsRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnRoutesRequest { +/** + *

        Contains the output of DeleteVpcEndpoints.

        + */ +export interface DeleteVpcEndpointsResult { /** - *

        The ID of the Client VPN endpoint.

        + *

        Information about the VPC endpoints that were not successfully deleted.

        */ - ClientVpnEndpointId: string | undefined; + Unsuccessful?: UnsuccessfulItem[]; +} +export namespace DeleteVpcEndpointsResult { /** - *

        One or more filters. Filter names and values are case-sensitive.

        - *
          - *
        • - *

          - * destination-cidr - The CIDR of the route destination.

          - *
        • - *
        • - *

          - * origin - How the route was associated with the Client VPN endpoint (associate | add-route).

          - *
        • - *
        • - *

          - * target-subnet - The ID of the subnet through which traffic is routed.

          - *
        • - *
        + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: DeleteVpcEndpointsResult): any => ({ + ...obj, + }); +} +export interface DeleteVpcEndpointServiceConfigurationsRequest { /** - *

        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.

        + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - MaxResults?: number; + DryRun?: boolean; /** - *

        The token to retrieve the next page of results.

        + *

        The IDs of one or more services.

        */ - NextToken?: string; + ServiceIds: string[] | undefined; +} +export namespace DeleteVpcEndpointServiceConfigurationsRequest { /** - *

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsRequest): any => ({ + ...obj, + }); } -export namespace DescribeClientVpnRoutesRequest { +export interface DeleteVpcEndpointServiceConfigurationsResult { + /** + *

        Information about the service configurations that were not deleted, if + * applicable.

        + */ + Unsuccessful?: UnsuccessfulItem[]; +} + +export namespace DeleteVpcEndpointServiceConfigurationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsResult): any => ({ ...obj, }); } -/** - *

        Information about a Client VPN endpoint route.

        - */ -export interface ClientVpnRoute { +export interface DeleteVpcPeeringConnectionRequest { /** - *

        The ID of the Client VPN endpoint with which the route is associated.

        + *

        Checks whether you have the required permissions for the action, without 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; + DryRun?: boolean; /** - *

        The IPv4 address range, in CIDR notation, of the route destination.

        + *

        The ID of the VPC peering connection.

        */ - DestinationCidr?: string; + VpcPeeringConnectionId: string | undefined; +} +export namespace DeleteVpcPeeringConnectionRequest { /** - *

        The ID of the subnet through which traffic is routed.

        + * @internal */ - TargetSubnet?: string; + export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionRequest): any => ({ + ...obj, + }); +} +export interface DeleteVpcPeeringConnectionResult { /** - *

        The route type.

        + *

        Returns true if the request succeeds; otherwise, it returns an error.

        */ - Type?: string; + Return?: boolean; +} +export namespace DeleteVpcPeeringConnectionResult { /** - *

        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.

        + * @internal */ - Origin?: string; + export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionResult): any => ({ + ...obj, + }); +} +/** + *

        Contains the parameters for DeleteVpnConnection.

        + */ +export interface DeleteVpnConnectionRequest { /** - *

        The current state of the route.

        + *

        The ID of the VPN connection.

        */ - Status?: ClientVpnRouteStatus; + VpnConnectionId: string | undefined; /** - *

        A brief description of the route.

        + *

        Checks whether you have the required permissions for the action, without 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 ClientVpnRoute { +export namespace DeleteVpnConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnRoute): any => ({ + export const filterSensitiveLog = (obj: DeleteVpnConnectionRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnRoutesResult { +/** + *

        Contains the parameters for DeleteVpnConnectionRoute.

        + */ +export interface DeleteVpnConnectionRouteRequest { /** - *

        Information about the Client VPN endpoint routes.

        + *

        The CIDR block associated with the local subnet of the customer network.

        */ - Routes?: ClientVpnRoute[]; + DestinationCidrBlock: string | undefined; /** - *

        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 VPN connection.

        */ - NextToken?: string; + VpnConnectionId: string | undefined; } -export namespace DescribeClientVpnRoutesResult { +export namespace DeleteVpnConnectionRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnRoutesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteVpnConnectionRouteRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnTargetNetworksRequest { - /** - *

        The ID of the Client VPN endpoint.

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

        Contains the parameters for DeleteVpnGateway.

        + */ +export interface DeleteVpnGatewayRequest { /** - *

        The IDs of the target network associations.

        + *

        The ID of the virtual private gateway.

        */ - AssociationIds?: string[]; + VpnGatewayId: 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 nextToken value.

        + *

        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

        */ - MaxResults?: number; + DryRun?: boolean; +} +export namespace DeleteVpnGatewayRequest { /** - *

        The token to retrieve the next page of results.

        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DeleteVpnGatewayRequest): any => ({ + ...obj, + }); +} +export interface DeprovisionByoipCidrRequest { /** - *

        One or more filters. Filter names and values are case-sensitive.

        - *
          - *
        • - *

          - * association-id - The ID of the association.

          - *
        • - *
        • - *

          - * target-network-id - The ID of the subnet specified as the target network.

          - *
        • - *
        • - *

          - * vpc-id - The ID of the VPC in which the target network is located.

          - *
        • - *
        + *

        The address range, in CIDR notation. The prefix must be the same prefix + * that you specified when you provisioned the address range.

        */ - Filters?: Filter[]; + 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.

        + *

        Checks whether you have the required permissions for the action, without 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 DescribeClientVpnTargetNetworksRequest { +export namespace DeprovisionByoipCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksRequest): any => ({ + export const filterSensitiveLog = (obj: DeprovisionByoipCidrRequest): any => ({ ...obj, }); } -/** - *

        Describes a target network associated with a Client VPN endpoint.

        - */ -export interface TargetNetwork { - /** - *

        The ID of the association.

        - */ - AssociationId?: string; - +export interface DeprovisionByoipCidrResult { /** - *

        The ID of the VPC in which the target network (subnet) is located.

        + *

        Information about the address range.

        */ - VpcId?: string; + ByoipCidr?: ByoipCidr; +} +export namespace DeprovisionByoipCidrResult { /** - *

        The ID of the subnet specified as the target network.

        + * @internal */ - TargetNetworkId?: string; + export const filterSensitiveLog = (obj: DeprovisionByoipCidrResult): any => ({ + ...obj, + }); +} +export interface DeprovisionIpamPoolCidrRequest { /** - *

        The ID of the Client VPN endpoint with which the target network is associated.

        + *

        A check for whether you have the required permissions for the action without 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; + DryRun?: boolean; /** - *

        The current state of the target network association.

        + *

        The ID of the pool that has the CIDR you want to deprovision.

        */ - Status?: AssociationStatus; + IpamPoolId: string | undefined; /** - *

        The IDs of the security groups applied to the target network association.

        + *

        The CIDR which you want to deprovision from the pool.

        */ - SecurityGroups?: string[]; + Cidr?: string; } -export namespace TargetNetwork { +export namespace DeprovisionIpamPoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetNetwork): any => ({ + export const filterSensitiveLog = (obj: DeprovisionIpamPoolCidrRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnTargetNetworksResult { +export enum IpamPoolCidrFailureCode { + cidr_not_available = "cidr-not-available", +} + +/** + *

        Details related to why an IPAM pool CIDR failed to be provisioned.

        + */ +export interface IpamPoolCidrFailureReason { /** - *

        Information about the associated target networks.

        + *

        An error code related to why an IPAM pool CIDR failed to be provisioned.

        */ - ClientVpnTargetNetworks?: TargetNetwork[]; + Code?: IpamPoolCidrFailureCode | 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 related to why an IPAM pool CIDR failed to be provisioned.

        */ - NextToken?: string; + Message?: string; } -export namespace DescribeClientVpnTargetNetworksResult { +export namespace IpamPoolCidrFailureReason { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksResult): any => ({ + export const filterSensitiveLog = (obj: IpamPoolCidrFailureReason): any => ({ ...obj, }); } -export interface DescribeCoipPoolsRequest { - /** - *

        The IDs of the address pools.

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

        The filters. The following are the possible values:

        - *
          - *
        • - *

          - * coip-pool.pool-id - *

          - *
        • - *
        - *
          - *
        • - *

          - * coip-pool.local-gateway-route-table-id - *

          - *
        • - *
        - */ - Filters?: Filter[]; +export enum IpamPoolCidrState { + deprovisioned = "deprovisioned", + failed_deprovision = "failed-deprovision", + failed_import = "failed-import", + failed_provision = "failed-provision", + pending_deprovision = "pending-deprovision", + pending_import = "pending-import", + pending_provision = "pending-provision", + provisioned = "provisioned", +} +/** + *

        A CIDR provisioned to an IPAM pool.

        + */ +export interface IpamPoolCidr { /** - *

        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 CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) + * and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

        */ - MaxResults?: number; + Cidr?: string; /** - *

        The token for the next page of results.

        + *

        The state of the CIDR.

        */ - NextToken?: string; + State?: IpamPoolCidrState | 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.

        + *

        Details related to why an IPAM pool CIDR failed to be provisioned.

        */ - DryRun?: boolean; + FailureReason?: IpamPoolCidrFailureReason; } -export namespace DescribeCoipPoolsRequest { +export namespace IpamPoolCidr { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCoipPoolsRequest): any => ({ + export const filterSensitiveLog = (obj: IpamPoolCidr): any => ({ ...obj, }); } -/** - *

        Describes a customer-owned address pool.

        - */ -export interface CoipPool { +export interface DeprovisionIpamPoolCidrResult { /** - *

        The ID of the address pool.

        + *

        The deprovisioned pool CIDR.

        */ - PoolId?: string; + IpamPoolCidr?: IpamPoolCidr; +} +export namespace DeprovisionIpamPoolCidrResult { /** - *

        The address ranges of the address pool.

        + * @internal */ - PoolCidrs?: string[]; + export const filterSensitiveLog = (obj: DeprovisionIpamPoolCidrResult): any => ({ + ...obj, + }); +} +export interface DeprovisionPublicIpv4PoolCidrRequest { /** - *

        The ID of the local gateway route table.

        + *

        A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - LocalGatewayRouteTableId?: string; + DryRun?: boolean; /** - *

        The tags.

        + *

        The ID of the pool that you want to deprovision the CIDR from.

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

        The ARN of the address pool.

        + *

        The CIDR you want to deprovision from the pool.

        */ - PoolArn?: string; + Cidr: string | undefined; } -export namespace CoipPool { +export namespace DeprovisionPublicIpv4PoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CoipPool): any => ({ + export const filterSensitiveLog = (obj: DeprovisionPublicIpv4PoolCidrRequest): any => ({ ...obj, }); } -export interface DescribeCoipPoolsResult { +export interface DeprovisionPublicIpv4PoolCidrResult { /** - *

        Information about the address pools.

        + *

        The ID of the pool that you deprovisioned the CIDR from.

        */ - CoipPools?: CoipPool[]; + PoolId?: 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 deprovisioned CIDRs.

        */ - NextToken?: string; + DeprovisionedAddresses?: string[]; } -export namespace DescribeCoipPoolsResult { +export namespace DeprovisionPublicIpv4PoolCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCoipPoolsResult): any => ({ + export const filterSensitiveLog = (obj: DeprovisionPublicIpv4PoolCidrResult): any => ({ ...obj, }); } -export interface DescribeConversionTasksRequest { +/** + *

        Contains the parameters for DeregisterImage.

        + */ +export interface DeregisterImageRequest { /** - *

        The conversion task IDs.

        + *

        The ID of the AMI.

        */ - ConversionTaskIds?: string[]; + 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. - * 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 DescribeConversionTasksRequest { +export namespace DeregisterImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeConversionTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DeregisterImageRequest): any => ({ ...obj, }); } /** - *

        Describes a disk image.

        + *

        Information about the tag keys to deregister for the current Region. You can either specify + * individual tag keys or deregister all tag keys in the current Region. You must specify either + * IncludeAllTagsOfInstance or InstanceTagKeys in the request

        */ -export interface DiskImageDescription { +export interface DeregisterInstanceTagAttributeRequest { /** - *

        The checksum computed for the disk image.

        + *

        Indicates whether to deregister all tag keys in the current Region. Specify false + * to deregister all tag keys.

        */ - Checksum?: string; + IncludeAllTagsOfInstance?: boolean; /** - *

        The disk image format.

        + *

        Information about the tag keys to deregister.

        */ - Format?: DiskImageFormat | string; + InstanceTagKeys?: string[]; +} +export namespace DeregisterInstanceTagAttributeRequest { /** - *

        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 - * the Amazon Simple Storage Service Developer Guide.

        - *

        For information about the import manifest referenced by this API action, see VM Import Manifest.

        + * @internal + */ + export const filterSensitiveLog = (obj: DeregisterInstanceTagAttributeRequest): any => ({ + ...obj, + }); +} + +export interface DeregisterInstanceEventNotificationAttributesRequest { + /** + *

        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

        */ - ImportManifestUrl?: string; + DryRun?: boolean; /** - *

        The size of the disk image, in GiB.

        + *

        Information about the tag keys to deregister.

        */ - Size?: number; + InstanceTagAttribute?: DeregisterInstanceTagAttributeRequest; } -export namespace DiskImageDescription { +export namespace DeregisterInstanceEventNotificationAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DiskImageDescription): any => ({ + export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesRequest): any => ({ ...obj, }); } /** - *

        Describes a disk image volume.

        + *

        Describes the registered tag keys for the current Region.

        */ -export interface DiskImageVolumeDescription { +export interface InstanceTagNotificationAttribute { /** - *

        The volume identifier.

        + *

        The registered tag keys.

        */ - Id?: string; + InstanceTagKeys?: string[]; /** - *

        The size of the volume, in GiB.

        + *

        Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. + * true indicates that all tag keys in the current Region are registered.

        */ - Size?: number; + IncludeAllTagsOfInstance?: boolean; } -export namespace DiskImageVolumeDescription { +export namespace InstanceTagNotificationAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: DiskImageVolumeDescription): any => ({ + export const filterSensitiveLog = (obj: InstanceTagNotificationAttribute): any => ({ ...obj, }); } -/** - *

        Describes an import volume task.

        - */ -export interface ImportInstanceVolumeDetailItem { - /** - *

        The Availability Zone where the resulting instance will reside.

        - */ - AvailabilityZone?: string; - +export interface DeregisterInstanceEventNotificationAttributesResult { /** - *

        The number of bytes converted so far.

        + *

        The resulting set of tag keys.

        */ - BytesConverted?: number; + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} +export namespace DeregisterInstanceEventNotificationAttributesResult { /** - *

        A description of the task.

        + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesResult): any => ({ + ...obj, + }); +} +export interface DeregisterTransitGatewayMulticastGroupMembersRequest { /** - *

        The image.

        + *

        The ID of the transit gateway multicast domain.

        */ - Image?: DiskImageDescription; + TransitGatewayMulticastDomainId?: string; /** - *

        The status of the import of this particular disk image.

        + *

        The IP address assigned to the transit gateway multicast group.

        */ - Status?: string; + GroupIpAddress?: string; /** - *

        The status information or errors related to the disk image.

        + *

        The IDs of the group members' network interfaces.

        */ - StatusMessage?: string; + NetworkInterfaceIds?: string[]; /** - *

        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.

        */ - Volume?: DiskImageVolumeDescription; + DryRun?: boolean; } -export namespace ImportInstanceVolumeDetailItem { +export namespace DeregisterTransitGatewayMulticastGroupMembersRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceVolumeDetailItem): any => ({ + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersRequest): any => ({ ...obj, }); } /** - *

        Describes an import instance task.

        + *

        Describes the deregistered transit gateway multicast group members.

        */ -export interface ImportInstanceTaskDetails { - /** - *

        A description of the task.

        - */ - Description?: string; - +export interface TransitGatewayMulticastDeregisteredGroupMembers { /** - *

        The ID of the instance.

        + *

        The ID of the transit gateway multicast domain.

        */ - InstanceId?: string; + TransitGatewayMulticastDomainId?: string; /** - *

        The instance operating system.

        + *

        The network interface IDs of the deregistered members.

        */ - Platform?: PlatformValues | string; + DeregisteredNetworkInterfaceIds?: string[]; /** - *

        The volumes.

        + *

        The IP address assigned to the transit gateway multicast group.

        */ - Volumes?: ImportInstanceVolumeDetailItem[]; + GroupIpAddress?: string; } -export namespace ImportInstanceTaskDetails { +export namespace TransitGatewayMulticastDeregisteredGroupMembers { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceTaskDetails): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupMembers): any => ({ ...obj, }); } -/** - *

        Describes an import volume task.

        - */ -export interface ImportVolumeTaskDetails { +export interface DeregisterTransitGatewayMulticastGroupMembersResult { /** - *

        The Availability Zone where the resulting volume will reside.

        + *

        Information about the deregistered members.

        */ - AvailabilityZone?: string; + DeregisteredMulticastGroupMembers?: TransitGatewayMulticastDeregisteredGroupMembers; +} +export namespace DeregisterTransitGatewayMulticastGroupMembersResult { /** - *

        The number of bytes converted so far.

        + * @internal */ - BytesConverted?: number; + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersResult): any => ({ + ...obj, + }); +} +export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { /** - *

        The description you provided when starting the import volume task.

        + *

        The ID of the transit gateway multicast domain.

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

        The image.

        + *

        The IP address assigned to the transit gateway multicast group.

        */ - Image?: DiskImageDescription; + GroupIpAddress?: string; /** - *

        The volume.

        + *

        The IDs of the group sources' network interfaces.

        */ - Volume?: DiskImageVolumeDescription; + 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; } -export namespace ImportVolumeTaskDetails { +export namespace DeregisterTransitGatewayMulticastGroupSourcesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeTaskDetails): any => ({ + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesRequest): any => ({ ...obj, }); } -export type ConversionTaskState = "active" | "cancelled" | "cancelling" | "completed"; - /** - *

        Describes a conversion task.

        + *

        Describes the deregistered transit gateway multicast group sources.

        */ -export interface ConversionTask { +export interface TransitGatewayMulticastDeregisteredGroupSources { + /** + *

        The ID of the transit gateway multicast domain.

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

        The ID of the conversion task.

        + *

        The network interface IDs of the non-registered members.

        */ - ConversionTaskId?: string; + DeregisteredNetworkInterfaceIds?: string[]; /** - *

        The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel - * the task.

        + *

        The IP address assigned to the transit gateway multicast group.

        */ - ExpirationTime?: string; + GroupIpAddress?: string; +} +export namespace TransitGatewayMulticastDeregisteredGroupSources { /** - *

        If the task is for importing an instance, this contains information about the import instance task.

        + * @internal */ - ImportInstance?: ImportInstanceTaskDetails; + export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupSources): any => ({ + ...obj, + }); +} +export interface DeregisterTransitGatewayMulticastGroupSourcesResult { /** - *

        If the task is for importing a volume, this contains information about the import volume task.

        + *

        Information about the deregistered group sources.

        */ - ImportVolume?: ImportVolumeTaskDetails; + DeregisteredMulticastGroupSources?: TransitGatewayMulticastDeregisteredGroupSources; +} +export namespace DeregisterTransitGatewayMulticastGroupSourcesResult { /** - *

        The state of the conversion task.

        + * @internal */ - State?: ConversionTaskState | string; + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesResult): any => ({ + ...obj, + }); +} +export interface DescribeAccountAttributesRequest { /** - *

        The status message related to the conversion task.

        + *

        The account attribute names.

        */ - StatusMessage?: string; + AttributeNames?: (AccountAttributeName | string)[]; /** - *

        Any tags assigned to the task.

        + *

        Checks whether you have the required permissions for the action, without 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; } -export namespace ConversionTask { +export namespace DescribeAccountAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ConversionTask): any => ({ + export const filterSensitiveLog = (obj: DescribeAccountAttributesRequest): any => ({ ...obj, }); } -export interface DescribeConversionTasksResult { +export interface DescribeAccountAttributesResult { /** - *

        Information about the conversion tasks.

        + *

        Information about the account attributes.

        */ - ConversionTasks?: ConversionTask[]; + AccountAttributes?: AccountAttribute[]; } -export namespace DescribeConversionTasksResult { +export namespace DescribeAccountAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeConversionTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAccountAttributesResult): any => ({ ...obj, }); } /** - *

        Contains the parameters for DescribeCustomerGateways.

        + *

        A filter name and value pair that is used to return a more specific list of results from a describe operation. + * Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

        */ -export interface DescribeCustomerGatewaysRequest { +export interface Filter { + /** + *

        The name of the filter. Filter names are case-sensitive.

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

        One or more customer gateway IDs.

        - *

        Default: Describes all your customer gateways.

        + *

        The filter values. Filter values are case-sensitive.

        */ - CustomerGatewayIds?: string[]; + Values?: string[]; +} +export namespace Filter { /** - *

        One or more filters.

        - *
          + * @internal + */ + export const filterSensitiveLog = (obj: Filter): any => ({ + ...obj, + }); +} + +export interface DescribeAddressesRequest { + /** + *

          One or more filters. Filter names and values are case-sensitive.

          + *
            *
          • - *

            - * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) - * Autonomous System Number (ASN).

            + *

            + * allocation-id - [EC2-VPC] The allocation ID for the address.

            *
          • *
          • - *

            - * customer-gateway-id - The ID of the customer gateway.

            + *

            + * association-id - [EC2-VPC] The association ID for the address.

            *
          • *
          • - *

            - * ip-address - The IP address of the customer gateway's - * Internet-routable external interface.

            + *

            + * domain - Indicates whether the address is for use in EC2-Classic (standard) + * or in a VPC (vpc).

            *
          • *
          • - *

            - * state - The state of the customer gateway (pending | - * available | deleting | - * deleted).

            + *

            + * instance-id - The ID of the instance the address is associated with, if any.

            *
          • *
          • - *

            - * type - The type of customer gateway. Currently, the only - * supported type is ipsec.1.

            + *

            + * network-border-group - A unique set of Availability Zones, Local Zones, + * or Wavelength Zones from where Amazon Web Services advertises IP addresses.

            + *
          • + *
          • + *

            + * network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

            + *
          • + *
          • + *

            + * network-interface-owner-id - The Amazon Web Services account ID of the owner.

            + *
          • + *
          • + *

            + * private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

            + *
          • + *
          • + *

            + * public-ip - The Elastic IP address, or the carrier IP address.

            *
          • *
          • *

            @@ -6875,87 +6204,59 @@ export interface DescribeCustomerGatewaysRequest { 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.

            + *

            One or more Elastic IP addresses.

            + *

            Default: Describes all your Elastic IP addresses.

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

            [EC2-VPC] Information about the allocation IDs.

            + */ + AllocationIds?: 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 DescribeCustomerGatewaysRequest { +export namespace DescribeAddressesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCustomerGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesRequest): any => ({ ...obj, }); } -/** - *

            Contains the output of DescribeCustomerGateways.

            - */ -export interface DescribeCustomerGatewaysResult { +export interface DescribeAddressesResult { /** - *

            Information about one or more customer gateways.

            + *

            Information about the Elastic IP addresses.

            */ - CustomerGateways?: CustomerGateway[]; + Addresses?: Address[]; } -export namespace DescribeCustomerGatewaysResult { +export namespace DescribeAddressesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCustomerGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesResult): any => ({ ...obj, }); } -export interface DescribeDhcpOptionsRequest { - /** - *

            The IDs of one or more DHCP options sets.

            - *

            Default: Describes all your DHCP options sets.

            - */ - DhcpOptionsIds?: string[]; - +export interface DescribeAddressesAttributeRequest { /** - *

            One or more filters.

            - *
              - *
            • - *

              - * dhcp-options-id - The ID of a DHCP options set.

              - *
            • - *
            • - *

              - * key - The key for one of the options (for example, domain-name).

              - *
            • - *
            • - *

              - * value - The value for one of the options.

              - *
            • - *
            • - *

              - * owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

              - *
            • - *
            • - *

              - * 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.

              - *
            • - *
            + *

            [EC2-VPC] The allocation IDs.

            */ - Filters?: Filter[]; + AllocationIds?: 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 attribute of the IP address.

            */ - DryRun?: boolean; + Attribute?: AddressAttributeName | string; /** *

            The token for the next page of results.

            @@ -6963,26 +6264,32 @@ export interface DescribeDhcpOptionsRequest { 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 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 DescribeDhcpOptionsRequest { +export namespace DescribeAddressesAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDhcpOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesAttributeRequest): any => ({ ...obj, }); } -export interface DescribeDhcpOptionsResult { +export interface DescribeAddressesAttributeResult { /** - *

            Information about one or more DHCP options sets.

            + *

            Information about the IP addresses.

            */ - DhcpOptions?: DhcpOptions[]; + Addresses?: AddressAttribute[]; /** *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            @@ -6990,581 +6297,650 @@ export interface DescribeDhcpOptionsResult { NextToken?: string; } -export namespace DescribeDhcpOptionsResult { +export namespace DescribeAddressesAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDhcpOptionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesAttributeResult): any => ({ ...obj, }); } -export interface DescribeEgressOnlyInternetGatewaysRequest { +export interface DescribeAggregateIdFormatRequest { /** *

            Checks whether you have the required permissions for the action, without 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 DescribeAggregateIdFormatRequest { /** - *

            One or more egress-only internet gateway IDs.

            + * @internal */ - EgressOnlyInternetGatewayIds?: string[]; + export const filterSensitiveLog = (obj: DescribeAggregateIdFormatRequest): any => ({ + ...obj, + }); +} +/** + *

            Describes the ID format for a resource.

            + */ +export interface IdFormat { /** - *

            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 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.

            */ - MaxResults?: number; + Deadline?: Date; /** - *

            The token for the next page of results.

            + *

            The type of resource.

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

            One or more filters.

            - *
              - *
            • - *

              - * 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.

              - *
            • - *
            + *

            Indicates whether longer IDs (17-character IDs) are enabled for the resource.

            */ - Filters?: Filter[]; + UseLongIds?: boolean; } -export namespace DescribeEgressOnlyInternetGatewaysRequest { +export namespace IdFormat { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: IdFormat): any => ({ ...obj, }); } -export interface DescribeEgressOnlyInternetGatewaysResult { +export interface DescribeAggregateIdFormatResult { /** - *

            Information about the egress-only internet gateways.

            + *

            Indicates whether all resource types in the Region are configured to use longer IDs. + * This value is only true if all users are configured to use longer IDs for + * all resources types in the Region.

            */ - EgressOnlyInternetGateways?: EgressOnlyInternetGateway[]; + UseLongIdsAggregated?: boolean; /** - *

            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 each resource's ID format.

            */ - NextToken?: string; + Statuses?: IdFormat[]; } -export namespace DescribeEgressOnlyInternetGatewaysResult { +export namespace DescribeAggregateIdFormatResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAggregateIdFormatResult): any => ({ ...obj, }); } -export interface DescribeElasticGpusRequest { - /** - *

            The Elastic Graphics accelerator IDs.

            - */ - ElasticGpuIds?: 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 interface DescribeAvailabilityZonesRequest { /** *

            The filters.

            - *
              + *
                *
              • - *

                - * availability-zone - The Availability Zone in which the - * Elastic Graphics accelerator resides.

                + *

                + * 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).

                *
              • *
              • - *

                - * elastic-gpu-health - The status of the Elastic Graphics accelerator - * (OK | IMPAIRED).

                + *

                + * message - The Zone message.

                *
              • *
              • - *

                - * elastic-gpu-state - The state of the Elastic Graphics accelerator - * (ATTACHED).

                + *

                + * opt-in-status - The opt-in status (opted-in, and + * not-opted-in | opt-in-not-required).

                *
              • *
              • - *

                - * elastic-gpu-type - The type of Elastic Graphics accelerator; for example, - * eg1.medium.

                + *

                + * parent-zoneID - The ID of the zone that handles some of the Local Zone + * and Wavelength Zone control plane operations, such as API calls.

                *
              • *
              • - *

                - * instance-id - The ID of the instance to which the - * Elastic Graphics accelerator is associated.

                + *

                + * 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).

                + *
              • + *
              • + *

                + * 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), the Local Zone (for example, usw2-lax1-az1), or the + * Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                + *
              • + *
              • + *

                + * zone-type - The type of zone, for example, local-zone.

                + *
              • + *
              • + *

                + * zone-name - The name of the Availability Zone (for example, + * 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).

                + *
              • + *
              • + *

                + * zone-type - The type of zone, for example, local-zone.

                *
              • *
              */ Filters?: Filter[]; /** - *

              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 names of the Availability Zones, Local Zones, and Wavelength Zones.

              */ - MaxResults?: number; + ZoneNames?: string[]; /** - *

              The token to request the next page of results.

              + *

              The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

              */ - NextToken?: string; -} + ZoneIds?: string[]; -export namespace DescribeElasticGpusRequest { /** - * @internal + *

              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.

              */ - export const filterSensitiveLog = (obj: DescribeElasticGpusRequest): any => ({ - ...obj, - }); -} - -export enum ElasticGpuStatus { - Impaired = "IMPAIRED", - Ok = "OK", -} + AllAvailabilityZones?: boolean; -/** - *

              Describes the status of an Elastic Graphics accelerator.

              - */ -export interface ElasticGpuHealth { /** - *

              The health 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.

              */ - Status?: ElasticGpuStatus | string; + DryRun?: boolean; } -export namespace ElasticGpuHealth { +export namespace DescribeAvailabilityZonesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticGpuHealth): any => ({ + export const filterSensitiveLog = (obj: DescribeAvailabilityZonesRequest): any => ({ ...obj, }); } -export enum ElasticGpuState { - Attached = "ATTACHED", -} - /** - *

              Describes an Elastic Graphics accelerator.

              + *

              Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

              */ -export interface ElasticGpus { - /** - *

              The ID of the Elastic Graphics accelerator.

              - */ - ElasticGpuId?: string; - - /** - *

              The Availability Zone in the which the Elastic Graphics accelerator resides.

              - */ - AvailabilityZone?: string; - - /** - *

              The type of Elastic Graphics accelerator.

              - */ - ElasticGpuType?: string; - - /** - *

              The status of the Elastic Graphics accelerator.

              - */ - ElasticGpuHealth?: ElasticGpuHealth; - - /** - *

              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 interface AvailabilityZoneMessage { /** - *

              The tags assigned to the Elastic Graphics accelerator.

              + *

              The message about the Availability Zone, Local Zone, or Wavelength Zone.

              */ - Tags?: Tag[]; + Message?: string; } -export namespace ElasticGpus { +export namespace AvailabilityZoneMessage { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticGpus): any => ({ + export const filterSensitiveLog = (obj: AvailabilityZoneMessage): any => ({ ...obj, }); } -export interface DescribeElasticGpusResult { - /** - *

              Information about the Elastic Graphics accelerators.

              - */ - ElasticGpuSet?: ElasticGpus[]; +export type AvailabilityZoneOptInStatus = "not-opted-in" | "opt-in-not-required" | "opted-in"; + +export type AvailabilityZoneState = "available" | "impaired" | "information" | "unavailable"; +/** + *

              Describes Availability Zones, Local Zones, and Wavelength Zones.

              + */ +export interface AvailabilityZone { /** - *

              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.

              + *

              The state of the Availability Zone, Local Zone, or Wavelength Zone.

              */ - MaxResults?: number; + State?: AvailabilityZoneState | string; /** - *

              The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

              + *

              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.

              */ - NextToken?: string; -} + OptInStatus?: AvailabilityZoneOptInStatus | string; -export namespace DescribeElasticGpusResult { /** - * @internal + *

              Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

              */ - export const filterSensitiveLog = (obj: DescribeElasticGpusResult): any => ({ - ...obj, - }); -} + Messages?: AvailabilityZoneMessage[]; -export interface DescribeExportImageTasksRequest { /** - *

              Checks whether you have the required permissions for the action, without 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 Region.

              */ - DryRun?: boolean; + RegionName?: string; /** - *

              Filter tasks using the task-state filter and one of the following values: active, - * completed, deleting, or deleted.

              + *

              The name of the Availability Zone, Local Zone, or Wavelength Zone.

              */ - Filters?: Filter[]; + ZoneName?: string; /** - *

              The IDs of the export image tasks.

              + *

              The ID of the Availability Zone, Local Zone, or Wavelength Zone.

              */ - ExportImageTaskIds?: string[]; + ZoneId?: string; /** - *

              The maximum number of results to return in a single call.

              + *

              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.

              */ - MaxResults?: number; + GroupName?: string; /** - *

              A token that indicates the next page of results.

              + *

              The name of the network border group.

              */ - NextToken?: string; -} + NetworkBorderGroup?: string; -export namespace DescribeExportImageTasksRequest { /** - * @internal + *

              The type of zone. The valid values are availability-zone, + * local-zone, and wavelength-zone.

              */ - export const filterSensitiveLog = (obj: DescribeExportImageTasksRequest): any => ({ - ...obj, - }); -} + ZoneType?: string; -/** - *

              Describes the destination for an export image task.

              - */ -export interface ExportTaskS3Location { /** - *

              The destination Amazon S3 bucket.

              + *

              The name of the zone that handles some of the Local Zone or Wavelength Zone control plane + * operations, such as API calls.

              */ - S3Bucket?: string; + ParentZoneName?: string; /** - *

              The prefix (logical hierarchy) in the bucket.

              + *

              The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane + * operations, such as API calls.

              */ - S3Prefix?: string; + ParentZoneId?: string; } -export namespace ExportTaskS3Location { +export namespace AvailabilityZone { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTaskS3Location): any => ({ + export const filterSensitiveLog = (obj: AvailabilityZone): any => ({ ...obj, }); } -/** - *

              Describes an export image task.

              - */ -export interface ExportImageTask { - /** - *

              A description of the image being exported.

              - */ - Description?: string; - +export interface DescribeAvailabilityZonesResult { /** - *

              The ID of the export image task.

              + *

              Information about the Availability Zones, Local Zones, and Wavelength Zones.

              */ - ExportImageTaskId?: string; + AvailabilityZones?: AvailabilityZone[]; +} +export namespace DescribeAvailabilityZonesResult { /** - *

              The ID of the image.

              + * @internal */ - ImageId?: string; + export const filterSensitiveLog = (obj: DescribeAvailabilityZonesResult): any => ({ + ...obj, + }); +} +export interface DescribeBundleTasksRequest { /** - *

              The percent complete of the export image task.

              + *

              The bundle task IDs.

              + *

              Default: Describes all your bundle tasks.

              */ - Progress?: string; + BundleIds?: string[]; /** - *

              Information about the destination Amazon S3 bucket.

              + *

              The filters.

              + *
                + *
              • + *

                + * bundle-id - The ID of the bundle task.

                + *
              • + *
              • + *

                + * error-code - If the task failed, the error code returned.

                + *
              • + *
              • + *

                + * error-message - If the task failed, the error message returned.

                + *
              • + *
              • + *

                + * instance-id - The ID of the instance.

                + *
              • + *
              • + *

                + * progress - The level of task completion, as a percentage (for example, 20%).

                + *
              • + *
              • + *

                + * s3-bucket - The Amazon S3 bucket to store the AMI.

                + *
              • + *
              • + *

                + * s3-prefix - The beginning of the AMI name.

                + *
              • + *
              • + *

                + * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

                + *
              • + *
              • + *

                + * state - The state of the task (pending | waiting-for-shutdown | bundling | + * storing | cancelling | complete | failed).

                + *
              • + *
              • + *

                + * update-time - The time of the most recent update for the task.

                + *
              • + *
              */ - S3ExportLocation?: ExportTaskS3Location; + Filters?: Filter[]; /** - *

              The status of the export image task. The possible values are active, completed, - * deleting, and 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.

              */ - Status?: string; + DryRun?: boolean; +} +export namespace DescribeBundleTasksRequest { /** - *

              The status message for the export image task.

              + * @internal */ - StatusMessage?: string; + export const filterSensitiveLog = (obj: DescribeBundleTasksRequest): any => ({ + ...obj, + }); +} +export interface DescribeBundleTasksResult { /** - *

              Any tags assigned to the export image task.

              + *

              Information about the bundle tasks.

              */ - Tags?: Tag[]; + BundleTasks?: BundleTask[]; } -export namespace ExportImageTask { +export namespace DescribeBundleTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportImageTask): any => ({ + export const filterSensitiveLog = (obj: DescribeBundleTasksResult): any => ({ ...obj, }); } -export interface DescribeExportImageTasksResult { +export interface DescribeByoipCidrsRequest { + /** + *

              Checks whether you have the required permissions for the action, without 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 export image tasks.

              + *

              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

              */ - ExportImageTasks?: ExportImageTask[]; + MaxResults: number | undefined; /** - *

              The token to use to get 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 DescribeExportImageTasksResult { +export namespace DescribeByoipCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeExportImageTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeByoipCidrsRequest): any => ({ ...obj, }); } -export interface DescribeExportTasksRequest { +export interface DescribeByoipCidrsResult { /** - *

              The export task IDs.

              + *

              Information about your address ranges.

              */ - ExportTaskIds?: string[]; + ByoipCidrs?: ByoipCidr[]; /** - *

              the filters for the export tasks.

              + *

              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

              */ - Filters?: Filter[]; + NextToken?: string; } -export namespace DescribeExportTasksRequest { +export namespace DescribeByoipCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeExportTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeByoipCidrsResult): any => ({ ...obj, }); } -export interface DescribeExportTasksResult { +export interface DescribeCapacityReservationFleetsRequest { /** - *

              Information about the export tasks.

              + *

              The IDs of the Capacity Reservation Fleets to describe.

              */ - ExportTasks?: ExportTask[]; -} + CapacityReservationFleetIds?: string[]; -export namespace DescribeExportTasksResult { /** - * @internal + *

              The token to use to retrieve the next page of results.

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

              The filters. The possible values are:

              - *
                + *

                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; + + /** + *

                One or more filters.

                + *
                  *
                • - *

                  - * availability-zone: The Availability Zone of the snapshot.

                  - *
                • + *

                  + * state - The state of the Fleet (submitted | modifying | active | + * partially_fulfilled | expiring | expired | cancelling | + * cancelled | failed).

                  + * *
                • - *

                  - * owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

                  - *
                • + *

                  + * instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

                  + * *
                • - *

                  - * snapshot-id: The ID of the snapshot.

                  - *
                • + *

                  + * tenancy - The tenancy of the Fleet (default | dedicated).

                  + * *
                • - *

                  - * state: The state of fast snapshot restores for the snapshot - * (enabling | - * optimizing | - * enabled | - * disabling | - * disabled).

                  - *
                • + *

                  + * allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

                  + * *
                */ 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; - - /** - *

                Checks whether you have the required permissions for the action, without 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; } -export namespace DescribeFastSnapshotRestoresRequest { +export namespace DescribeCapacityReservationFleetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsRequest): any => ({ ...obj, }); } -export type FastSnapshotRestoreStateCode = "disabled" | "disabling" | "enabled" | "enabling" | "optimizing"; - /** - *

                Describes fast snapshot restores for a snapshot.

                + *

                Information about a Capacity Reservation Fleet.

                */ -export interface DescribeFastSnapshotRestoreSuccessItem { +export interface CapacityReservationFleet { + /** + *

                The ID of the Capacity Reservation Fleet.

                + */ + CapacityReservationFleetId?: string; + + /** + *

                The ARN of the Capacity Reservation Fleet.

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

                The ID of the snapshot.

                + *

                The state of the Capacity Reservation Fleet. Possible states include:

                + *
                  + *
                • + *

                  + * submitted - The Capacity Reservation Fleet request has been submitted + * and Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

                  + *
                • + *
                • + *

                  + * modifying - The Capacity Reservation Fleet is being modified. The Fleet + * remains in this state until the modification is complete.

                  + *
                • + *
                • + *

                  + * active - The Capacity Reservation Fleet has fulfilled its total target + * capacity and it is attempting to maintain this capacity. The Fleet remains in this + * state until it is modified or deleted.

                  + *
                • + *
                • + *

                  + * partially_fulfilled - The Capacity Reservation Fleet has partially + * fulfilled its total target capacity. There is insufficient Amazon EC2 to + * fulfill the total target capacity. The Fleet is attempting to asynchronously fulfill + * its total target capacity.

                  + *
                • + *
                • + *

                  + * expiring - The Capacity Reservation Fleet has reach its end date and it + * is in the process of expiring. One or more of its Capacity reservations might still + * be active.

                  + *
                • + *
                • + *

                  + * expired - The Capacity Reservation Fleet has reach its end date. The Fleet + * and its Capacity Reservations are expired. The Fleet can't create new Capacity + * Reservations.

                  + *
                • + *
                • + *

                  + * cancelling - The Capacity Reservation Fleet is in the process of being + * cancelled. One or more of its Capacity reservations might still be active.

                  + *
                • + *
                • + *

                  + * cancelled - The Capacity Reservation Fleet has been manually cancelled. + * The Fleet and its Capacity Reservations are cancelled and the Fleet can't create new + * Capacity Reservations.

                  + *
                • + *
                • + *

                  + * failed - The Capacity Reservation Fleet failed to reserve capacity for + * the specified instance types.

                  + *
                • + *
                */ - SnapshotId?: string; + State?: CapacityReservationFleetState | string; /** - *

                The Availability Zone.

                + *

                The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. + * For more information, see Total target capacity + * in the Amazon EC2 User Guide.

                */ - AvailabilityZone?: string; + TotalTargetCapacity?: number; /** - *

                The state of fast snapshot restores.

                + *

                The capacity units that have been fulfilled.

                */ - State?: FastSnapshotRestoreStateCode | string; + TotalFulfilledCapacity?: number; /** - *

                The reason for the state transition. The possible values are as follows:

                - *
                  + *

                  The tenancy of the Capacity Reservation Fleet. Tenancies include:

                  + *
                    *
                  • - *

                    - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                    - *
                  • + *

                    + * default - The Capacity Reservation Fleet is created on hardware that is + * shared with other Amazon Web Services accounts.

                    + * *
                  • - *

                    - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                    - *
                  • + *

                    + * dedicated - The Capacity Reservation Fleet is created on single-tenant + * hardware that is dedicated to a single Amazon Web Services account.

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

                  The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                  - */ - OwnerId?: string; + Tenancy?: FleetCapacityReservationTenancy | string; /** - *

                  The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                  + *

                  The date and time at which the Capacity Reservation Fleet expires.

                  */ - OwnerAlias?: string; + EndDate?: Date; /** - *

                  The time at which fast snapshot restores entered the enabling state.

                  + *

                  The date and time at which the Capacity Reservation Fleet was created.

                  */ - EnablingTime?: Date; + CreateTime?: Date; /** - *

                  The time at which fast snapshot restores entered the optimizing state.

                  + *

                  Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All + * Capacity Reservations in the Fleet inherit this instance matching criteria.

                  + *

                  Currently, Capacity Reservation Fleets support open instance matching criteria + * only. This means that instances that have matching attributes (instance type, platform, and + * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to + * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

                  */ - OptimizingTime?: Date; + InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; /** - *

                  The time at which fast snapshot restores entered the enabled state.

                  + *

                  The strategy used by the Capacity Reservation Fleet to determine which of the specified + * instance types to use. For more information, see For more information, see + * + * Allocation strategy in the Amazon EC2 User Guide.

                  */ - EnabledTime?: Date; + AllocationStrategy?: string; /** - *

                  The time at which fast snapshot restores entered the disabling state.

                  + *

                  Information about the instance types for which to reserve the capacity.

                  */ - DisablingTime?: Date; + InstanceTypeSpecifications?: FleetCapacityReservation[]; /** - *

                  The time at which fast snapshot restores entered the disabled state.

                  + *

                  The tags assigned to the Capacity Reservation Fleet.

                  */ - DisabledTime?: Date; + Tags?: Tag[]; } -export namespace DescribeFastSnapshotRestoreSuccessItem { +export namespace CapacityReservationFleet { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoreSuccessItem): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationFleet): any => ({ ...obj, }); } -export interface DescribeFastSnapshotRestoresResult { +export interface DescribeCapacityReservationFleetsResult { /** - *

                  Information about the state of fast snapshot restores.

                  + *

                  Information about the Capacity Reservation Fleets.

                  */ - FastSnapshotRestores?: DescribeFastSnapshotRestoreSuccessItem[]; + CapacityReservationFleets?: CapacityReservationFleet[]; /** *

                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                  @@ -7572,1812 +6948,1652 @@ export interface DescribeFastSnapshotRestoresResult { NextToken?: string; } -export namespace DescribeFastSnapshotRestoresResult { +export namespace DescribeCapacityReservationFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresResult): any => ({ + export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsResult): any => ({ ...obj, }); } -export enum FleetEventType { - FLEET_CHANGE = "fleet-change", - INSTANCE_CHANGE = "instance-change", - SERVICE_ERROR = "service-error", -} - -export interface DescribeFleetHistoryRequest { - /** - *

                  Checks whether you have the required permissions for the action, without 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 type of events to describe. By default, all events are described.

                  - */ - EventType?: FleetEventType | string; - +export interface DescribeCapacityReservationsRequest { /** - *

                  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 ID of the Capacity Reservation.

                  */ - MaxResults?: number; + CapacityReservationIds?: string[]; /** - *

                  The token for the next set of results.

                  + *

                  The token to use to retrieve the next page of results.

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

                  The ID of the EC2 Fleet.

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

                  The start date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                  - */ - StartTime: Date | undefined; -} - -export namespace DescribeFleetHistoryRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeFleetHistoryRequest): any => ({ - ...obj, - }); -} - -/** - *

                  Describes an EC2 Fleet or Spot Fleet event.

                  - */ -export interface EventInformation { - /** - *

                  The description of the event.

                  + *

                  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.

                  */ - EventDescription?: string; + MaxResults?: number; /** - *

                  The event.

                  - * - *

                  - * error events:

                  - *
                    - *
                  • - *

                    - * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required - * permissions either to launch or terminate an instance.

                    - *
                  • + *

                    One or more filters.

                    + *
                      *
                    • - *

                      - * allLaunchSpecsTemporarilyBlacklisted - None of the configurations - * are valid, and several attempts to launch instances have failed. For more - * information, see the description of the event.

                      + *

                      + * instance-type - The type of instance for which the Capacity Reservation reserves capacity.

                      *
                    • *
                    • - *

                      - * spotInstanceCountLimitExceeded - You've reached the limit on the - * number of Spot Instances that you can launch.

                      + *

                      + * owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

                      *
                    • *
                    • - *

                      - * spotFleetRequestConfigurationInvalid - The configuration is not - * valid. For more information, see the description of the event.

                      + *

                      + * availability-zone-id - The Availability Zone ID of the Capacity Reservation.

                      *
                    • - *
                    - * - *

                    - * fleetRequestChange events:

                    - *
                      *
                    • - *

                      - * active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is - * attempting to maintain the target number of running instances.

                      + *

                      + * instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

                      *
                    • *
                    • - *

                      - * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has no running - * instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are - * terminated.

                      + *

                      + * availability-zone - The Availability Zone ID of the Capacity Reservation.

                      *
                    • *
                    • - *

                      - * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled and does - * not launch additional instances. Its existing instances continue to run until - * they are interrupted or terminated. The request remains in this state until all - * instances are interrupted or terminated.

                      - *
                    • + *

                      + * tenancy - 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 Amazon Web Services accounts.

                        + *
                      • + *
                      • + *

                        + * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

                        + *
                      • + *
                      + * *
                    • - *

                      - * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled and - * its instances are terminating. The request remains in this state until all - * instances are terminated.

                      + *

                      + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

                      *
                    • *
                    • - *

                      - * expired - The EC2 Fleet or Spot Fleet request has expired. If the request was - * created with TerminateInstancesWithExpiration set, a subsequent - * terminated event indicates that the instances are - * terminated.

                      - *
                    • + *

                      + * state - 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 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.

                        + *
                      • + *
                      + * *
                    • - *

                      - * modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. - * The request remains in this state until the modification is fully - * processed.

                      + *

                      + * start-date - The date and time at which the Capacity Reservation was started.

                      *
                    • *
                    • - *

                      - * modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

                      + *

                      + * end-date - 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.

                      *
                    • *
                    • - *

                      - * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 - * is preparing to launch the target number of instances.

                      - *
                    • + *

                      + * end-date-type - 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.

                        + *
                      • + *
                      + * *
                    • - *

                      - * progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

                      - *
                    • + *

                      + * instance-match-criteria - 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.

                        + *
                      • + *
                      + * *
                    - * - *

                    - * instanceChange events:

                    + */ + 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; +} + +export namespace DescribeCapacityReservationsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeCapacityReservationsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeCapacityReservationsResult { + /** + *

                    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 Capacity Reservations.

                    + */ + CapacityReservations?: CapacityReservation[]; +} + +export namespace DescribeCapacityReservationsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeCapacityReservationsResult): any => ({ + ...obj, + }); +} + +export interface DescribeCarrierGatewaysRequest { + /** + *

                    One or more carrier gateway IDs.

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

                    One or more filters.

                    *
                      *
                    • *

                      - * launched - A new instance was launched.

                      - *
                    • - *
                    • - *

                      - * terminated - An instance was terminated by the user.

                      + * carrier-gateway-id - The ID of the carrier gateway.

                      *
                    • *
                    • *

                      - * termination_notified - An instance termination notification was - * sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target - * capacity of the fleet was modified down, for example, from a target capacity of - * 4 to a target capacity of 3.

                      + * state - The state of the carrier gateway (pending | + * failed | available | deleting | deleted).

                      *
                    • - *
                    - * - *

                    - * Information events:

                    - *
                      *
                    • *

                      - * fleetProgressHalted - The price in every launch specification is - * not valid because it is below the Spot price (all the launch specifications have - * produced launchSpecUnusable events). A launch specification might - * become valid if the Spot price changes.

                      + * owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

                      *
                    • *
                    • *

                      - * launchSpecTemporarilyBlacklisted - The configuration is not valid - * and several attempts to launch instances have failed. For more information, see - * the description of the event.

                      + * 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.

                      *
                    • *
                    • *

                      - * launchSpecUnusable - The price in a launch specification is not - * valid because it is below the Spot price.

                      + * 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.

                      *
                    • *
                    • *

                      - * registerWithLoadBalancersFailed - An attempt to register - * instances with load balancers failed. For more information, see the description - * of the event.

                      + * vpc-id - The ID of the VPC associated with the carrier gateway.

                      *
                    • *
                    */ - EventSubType?: string; + Filters?: Filter[]; /** - *

                    The ID of the instance. This information is available only for - * instanceChange events.

                    + *

                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                    */ - InstanceId?: string; + 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 EventInformation { +export namespace DescribeCarrierGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EventInformation): any => ({ + export const filterSensitiveLog = (obj: DescribeCarrierGatewaysRequest): any => ({ ...obj, }); } -/** - *

                    Describes an event in the history of an EC2 Fleet.

                    - */ -export interface HistoryRecordEntry { - /** - *

                    Information about the event.

                    - */ - EventInformation?: EventInformation; - +export interface DescribeCarrierGatewaysResult { /** - *

                    The event type.

                    + *

                    Information about the carrier gateway.

                    */ - EventType?: FleetEventType | string; + CarrierGateways?: CarrierGateway[]; /** - *

                    The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                    + *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    */ - Timestamp?: Date; + NextToken?: string; } -export namespace HistoryRecordEntry { +export namespace DescribeCarrierGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: HistoryRecordEntry): any => ({ + export const filterSensitiveLog = (obj: DescribeCarrierGatewaysResult): any => ({ ...obj, }); } -export interface DescribeFleetHistoryResult { +export interface DescribeClassicLinkInstancesRequest { /** - *

                    Information about the events in the history of the EC2 Fleet.

                    + *

                    One or more filters.

                    + *
                      + *
                    • + *

                      + * group-id - The ID of a VPC security group that's associated with the instance.

                      + *
                    • + *
                    • + *

                      + * instance-id - The ID of the instance.

                      + *
                    • + *
                    • + *

                      + * 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 to which the instance is + * linked.

                      + * + *

                      + * vpc-id - The ID of the VPC that the instance is linked to.

                      + * + *
                    • + *
                    */ - HistoryRecords?: HistoryRecordEntry[]; + Filters?: Filter[]; /** - *

                    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.

                    + *

                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                    */ - LastEvaluatedTime?: Date; + DryRun?: boolean; /** - *

                    The token for the next set of results.

                    + *

                    One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

                    */ - NextToken?: string; + InstanceIds?: string[]; /** - *

                    The ID of the EC Fleet.

                    + *

                    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.

                    */ - FleetId?: string; + MaxResults?: number; /** - *

                    The start date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                    + *

                    The token for the next page of results.

                    */ - StartTime?: Date; + NextToken?: string; } -export namespace DescribeFleetHistoryResult { +export namespace DescribeClassicLinkInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetHistoryResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesRequest): any => ({ ...obj, }); } -export interface DescribeFleetInstancesRequest { - /** - *

                    Checks whether you have the required permissions for the action, without 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 a linked EC2-Classic instance.

                    + */ +export interface ClassicLinkInstance { /** - *

                    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.

                    + *

                    A list of security groups.

                    */ - MaxResults?: number; + Groups?: GroupIdentifier[]; /** - *

                    The token for the next set of results.

                    + *

                    The ID of the instance.

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

                    The ID of the EC2 Fleet.

                    + *

                    Any tags assigned to the instance.

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

                    The filters.

                    - *
                      - *
                    • - *

                      - * instance-type - The instance type.

                      - *
                    • - *
                    + *

                    The ID of the VPC.

                    */ - Filters?: Filter[]; + VpcId?: string; } -export namespace DescribeFleetInstancesRequest { +export namespace ClassicLinkInstance { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: ClassicLinkInstance): any => ({ ...obj, }); } -export interface DescribeFleetInstancesResult { +export interface DescribeClassicLinkInstancesResult { /** - *

                    The running instances. This list is refreshed periodically and might be out of - * date.

                    + *

                    Information about one or more linked EC2-Classic instances.

                    */ - ActiveInstances?: ActiveInstance[]; + Instances?: ClassicLinkInstance[]; /** - *

                    The token for the next set of results.

                    + *

                    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 ID of the EC2 Fleet.

                    - */ - FleetId?: string; } -export namespace DescribeFleetInstancesResult { +export namespace DescribeClassicLinkInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetInstancesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesResult): any => ({ ...obj, }); } -export interface DescribeFleetsRequest { +export interface DescribeClientVpnAuthorizationRulesRequest { /** - *

                    Checks whether you have the required permissions for the action, without 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 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.

                    + *

                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                    */ - MaxResults?: number; + DryRun?: boolean; /** - *

                    The token for the next set of results.

                    + *

                    The token to retrieve the next page of results.

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

                    The ID of the EC2 Fleets.

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

                    The filters.

                    - *
                      - *
                    • - *

                      - * activity-status - The progress of the EC2 Fleet ( error | - * pending-fulfillment | pending-termination | - * fulfilled).

                      - *
                    • - *
                    • - *

                      - * excess-capacity-termination-policy - Indicates whether to terminate - * running instances if the target capacity is decreased below the current EC2 Fleet size - * (true | false).

                      - *
                    • + *

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        *
                      • *

                        - * fleet-state - The state of the EC2 Fleet (submitted | - * active | deleted | failed | - * deleted-running | deleted-terminating | - * modifying).

                        + * description - The description of the authorization rule.

                        *
                      • *
                      • *

                        - * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace - * unhealthy instances (true | false).

                        + * destination-cidr - The CIDR of the network to which the authorization rule + * applies.

                        *
                      • *
                      • *

                        - * type - The type of request (instant | - * request | maintain).

                        + * group-id - The ID of the Active Directory group to which the authorization rule grants access.

                        *
                      • *
                      */ Filters?: Filter[]; -} - -export namespace DescribeFleetsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeFleetsRequest): any => ({ - ...obj, - }); -} - -export enum FleetActivityStatus { - ERROR = "error", - FULFILLED = "fulfilled", - PENDING_FULFILLMENT = "pending_fulfillment", - PENDING_TERMINATION = "pending_termination", -} - -/** - *

                      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; - - /** - *

                      Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                      - */ - Lifecycle?: InstanceLifecycle | string; - - /** - *

                      The error code that indicates why the instance could not be launched. For more - * information about error codes, see Error Codes.

                      - */ - ErrorCode?: string; /** - *

                      The error message that describes why the instance could not be launched. For more - * information about error messages, see Error Codes.

                      + *

                      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.

                      */ - ErrorMessage?: string; + MaxResults?: number; } -export namespace DescribeFleetError { +export namespace DescribeClientVpnAuthorizationRulesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetError): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesRequest): any => ({ ...obj, }); } /** - *

                      Describes the instances that were launched by the fleet.

                      + *

                      Information about an authorization rule.

                      */ -export interface DescribeFleetsInstances { - /** - *

                      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; - - /** - *

                      Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                      - */ - Lifecycle?: InstanceLifecycle | string; - +export interface AuthorizationRule { /** - *

                      The IDs of the instances.

                      + *

                      The ID of the Client VPN endpoint with which the authorization rule is associated.

                      */ - InstanceIds?: string[]; + ClientVpnEndpointId?: string; /** - *

                      The instance type.

                      + *

                      A brief description of the authorization rule.

                      */ - InstanceType?: _InstanceType | string; + Description?: string; /** - *

                      The value is Windows for Windows instances. Otherwise, the value is - * blank.

                      + *

                      The ID of the Active Directory group to which the authorization rule grants access.

                      */ - Platform?: PlatformValues | string; -} + GroupId?: string; -export namespace DescribeFleetsInstances { /** - * @internal + *

                      Indicates whether the authorization rule grants access to all clients.

                      */ - export const filterSensitiveLog = (obj: DescribeFleetsInstances): any => ({ - ...obj, - }); -} + AccessAll?: boolean; -/** - *

                      Describes a launch template and overrides.

                      - */ -export interface FleetLaunchTemplateConfig { /** - *

                      The launch template.

                      + *

                      The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

                      */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + DestinationCidr?: string; /** - *

                      Any parameters that you specify override the same parameters in the launch - * template.

                      + *

                      The current state of the authorization rule.

                      */ - Overrides?: FleetLaunchTemplateOverrides[]; + Status?: ClientVpnAuthorizationRuleStatus; } -export namespace FleetLaunchTemplateConfig { +export namespace AuthorizationRule { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateConfig): any => ({ + export const filterSensitiveLog = (obj: AuthorizationRule): any => ({ ...obj, }); } -/** - *

                      Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand - * capacity.

                      - * - *

                      This strategy can only be used if the EC2 Fleet is of type - * instant.

                      - *
                      - *

                      For more information about Capacity Reservations, see On-Demand Capacity - * Reservations in the Amazon EC2 User Guide. For examples of using - * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example - * configurations in the Amazon EC2 User Guide.

                      - */ -export interface CapacityReservationOptions { +export interface DescribeClientVpnAuthorizationRulesResult { + /** + *

                      Information about the authorization rules.

                      + */ + AuthorizationRules?: AuthorizationRule[]; + /** - *

                      Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

                      - *

                      If you specify use-capacity-reservations-first, the fleet uses unused - * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If - * multiple instance pools have unused Capacity Reservations, the On-Demand allocation - * strategy (lowest-price or prioritized) is applied. If the number - * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining - * On-Demand target capacity is launched according to the On-Demand allocation strategy - * (lowest-price or prioritized).

                      - *

                      If you do not specify a value, the fleet fulfils the On-Demand capacity according to the - * chosen On-Demand allocation strategy.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ - UsageStrategy?: FleetCapacityReservationUsageStrategy | string; + NextToken?: string; } -export namespace CapacityReservationOptions { +export namespace DescribeClientVpnAuthorizationRulesResult { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationOptions): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesResult): any => ({ ...obj, }); } -/** - *

                      Describes the configuration of On-Demand Instances in an EC2 Fleet.

                      - */ -export interface OnDemandOptions { - /** - *

                      The strategy that determines the order of the launch template overrides to use in - * fulfilling On-Demand capacity.

                      - *

                      - * lowest-price - EC2 Fleet uses price to determine the order, launching the lowest - * price first.

                      - *

                      - * prioritized - EC2 Fleet uses the priority that you assigned to each launch - * template override, launching the highest priority first.

                      - *

                      Default: lowest-price - *

                      - */ - AllocationStrategy?: FleetOnDemandAllocationStrategy | string; - +export interface DescribeClientVpnConnectionsRequest { /** - *

                      The strategy for using unused Capacity Reservations for fulfilling On-Demand - * capacity.

                      - *

                      Supported only for fleets of type instant.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - CapacityReservationOptions?: CapacityReservationOptions; + ClientVpnEndpointId: string | undefined; /** - *

                      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.

                      + *

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        + *
                      • + *

                        + * connection-id - The ID of the connection.

                        + *
                      • + *
                      • + *

                        + * username - For Active Directory client authentication, the user name of the + * client who established the client connection.

                        + *
                      • + *
                      */ - SingleInstanceType?: boolean; + Filters?: Filter[]; /** - *

                      Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

                      - *

                      Supported only for fleets of type instant.

                      + *

                      The token to retrieve the next page of results.

                      */ - SingleAvailabilityZone?: boolean; + NextToken?: 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.

                      - *

                      Supported only for fleets of type instant.

                      - *

                      At least one of the following must be specified: SingleAvailabilityZone | - * SingleInstanceType - *

                      + *

                      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.

                      */ - MinTargetCapacity?: number; + MaxResults?: number; /** - *

                      The maximum amount per hour for On-Demand Instances that you're willing to pay.

                      + *

                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                      */ - MaxTotalPrice?: string; + DryRun?: boolean; } -export namespace OnDemandOptions { +export namespace DescribeClientVpnConnectionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: OnDemandOptions): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsRequest): any => ({ ...obj, }); } +export type ClientVpnConnectionStatusCode = "active" | "failed-to-terminate" | "terminated" | "terminating"; + /** - *

                      The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

                      + *

                      Describes the status of a client connection.

                      */ -export interface FleetSpotCapacityRebalance { - /** - *

                      The replacement strategy to use. Only available for fleets of type - * maintain.

                      - *

                      - * launch - EC2 Fleet launches a new replacement Spot Instance when a - * rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet - * does not terminate the instances that receive a rebalance notification. You can terminate - * the old instances, or you can leave them running. You are charged for all instances while - * they are running.

                      - *

                      - * launch-before-terminate - EC2 Fleet launches a new replacement Spot - * Instance when a rebalance notification is emitted for an existing Spot Instance in the - * fleet, and then, after a delay that you specify (in TerminationDelay), - * terminates the instances that received a rebalance notification.

                      - */ - ReplacementStrategy?: FleetReplacementStrategy | string; - - /** - *

                      The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot - * Instance after launching a new replacement Spot Instance.

                      - *

                      Valid only when replacementStrategy is set to launch-before-terminate.

                      - *

                      Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

                      - */ - TerminationDelay?: number; -} - -export namespace FleetSpotCapacityRebalance { +export interface ClientVpnConnectionStatus { /** - * @internal + *

                      The state of the client connection.

                      */ - export const filterSensitiveLog = (obj: FleetSpotCapacityRebalance): any => ({ - ...obj, - }); -} + Code?: ClientVpnConnectionStatusCode | string; -/** - *

                      The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

                      - */ -export interface FleetSpotMaintenanceStrategies { /** - *

                      The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

                      + *

                      A message about the status of the client connection, if applicable.

                      */ - CapacityRebalance?: FleetSpotCapacityRebalance; + Message?: string; } -export namespace FleetSpotMaintenanceStrategies { +export namespace ClientVpnConnectionStatus { /** * @internal */ - export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategies): any => ({ + export const filterSensitiveLog = (obj: ClientVpnConnectionStatus): any => ({ ...obj, }); } /** - *

                      Describes the configuration of Spot Instances in an EC2 Fleet.

                      + *

                      Describes a client connection.

                      */ -export interface SpotOptions { +export interface ClientVpnConnection { /** - *

                      The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance - * pools specified by the EC2 Fleet.

                      - *

                      - * lowest-price - EC2 Fleet launches instances from the Spot Instance pools with the lowest - * price.

                      - *

                      - * diversified - EC2 Fleet launches instances from all of the Spot Instance pools that you - * specify.

                      - *

                      - * capacity-optimized (recommended) - EC2 Fleet launches instances from Spot Instance pools - * with optimal capacity for the number of instances that are launching. To give certain - * instance types a higher chance of launching first, use - * capacity-optimized-prioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You can - * assign the same priority to different LaunchTemplateOverrides. EC2 implements - * the priorities on a best-effort basis, but optimizes for capacity first. - * capacity-optimized-prioritized is supported only if your fleet uses a - * launch template. Note that if the On-Demand AllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

                      - *

                      Default: lowest-price - *

                      + *

                      The ID of the Client VPN endpoint to which the client is connected.

                      */ - AllocationStrategy?: SpotAllocationStrategy | string; + ClientVpnEndpointId?: string; /** - *

                      The strategies for managing your workloads on your Spot Instances that will be - * interrupted. Currently only the capacity rebalance strategy is available.

                      + *

                      The current date and time.

                      */ - MaintenanceStrategies?: FleetSpotMaintenanceStrategies; + Timestamp?: string; /** - *

                      The behavior when a Spot Instance is interrupted.

                      - *

                      Default: terminate - *

                      + *

                      The ID of the client connection.

                      */ - InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; + ConnectionId?: string; /** - *

                      The number of Spot pools across which to allocate your target Spot capacity. Supported - * 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.

                      - *

                      Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of pools - * that you specified.

                      + *

                      The username of the client who established the client connection. This information is only provided + * if Active Directory client authentication is used.

                      */ - InstancePoolsToUseCount?: number; + Username?: 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.

                      + *

                      The date and time the client connection was established.

                      */ - SingleInstanceType?: boolean; + ConnectionEstablishedTime?: string; /** - *

                      Indicates that the fleet launches all Spot Instances into a single Availability Zone.

                      - *

                      Supported only for fleets of type instant.

                      + *

                      The number of bytes sent by the client.

                      */ - SingleAvailabilityZone?: boolean; + IngressBytes?: string; /** - *

                      The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                      - *

                      Supported only for fleets of type instant.

                      - *

                      At least one of the following must be specified: SingleAvailabilityZone | - * SingleInstanceType - *

                      + *

                      The number of bytes received by the client.

                      */ - MinTargetCapacity?: number; + EgressBytes?: string; /** - *

                      The maximum amount per hour for Spot Instances that you're willing to pay.

                      + *

                      The number of packets sent by the client.

                      */ - MaxTotalPrice?: string; -} + IngressPackets?: string; -export namespace SpotOptions { /** - * @internal + *

                      The number of packets received by the client.

                      */ - export const filterSensitiveLog = (obj: SpotOptions): any => ({ - ...obj, - }); -} + EgressPackets?: string; -/** - *

                      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.

                      - *

                      You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance - * MaxTotalPrice, or both 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, EC2 Fleet - * will launch instances until it reaches the maximum amount that 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 MaxTotalPrice parameters are - * located in OnDemandOptions - * and SpotOptions.

                      - */ -export interface TargetCapacitySpecification { /** - *

                      The number of units to request, filled using - * DefaultTargetCapacityType.

                      + *

                      The IP address of the client.

                      */ - TotalTargetCapacity?: number; + ClientIp?: string; /** - *

                      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.

                      + *

                      The common name associated with the client. This is either the name of the client certificate, + * or the Active Directory user name.

                      */ - OnDemandTargetCapacity?: number; + CommonName?: string; /** - *

                      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.

                      + *

                      The current state of the client connection.

                      */ - SpotTargetCapacity?: number; + Status?: ClientVpnConnectionStatus; /** - *

                      The default TotalTargetCapacity, which is either Spot or - * On-Demand.

                      + *

                      The date and time the client connection was terminated.

                      */ - DefaultTargetCapacityType?: DefaultTargetCapacityType | string; + ConnectionEndTime?: string; /** - *

                      The unit for the target capacity.

                      - *

                      Default: units (translates to number of instances)

                      + *

                      The statuses returned by the client connect handler for posture compliance, if applicable.

                      */ - TargetCapacityUnitType?: TargetCapacityUnitType | string; + PostureComplianceStatuses?: string[]; } -export namespace TargetCapacitySpecification { +export namespace ClientVpnConnection { /** * @internal */ - export const filterSensitiveLog = (obj: TargetCapacitySpecification): any => ({ + export const filterSensitiveLog = (obj: ClientVpnConnection): any => ({ ...obj, }); } -/** - *

                      Describes an EC2 Fleet.

                      - */ -export interface FleetData { +export interface DescribeClientVpnConnectionsResult { /** - *

                      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.

                      + *

                      Information about the active and terminated client connections.

                      */ - ActivityStatus?: FleetActivityStatus | string; + Connections?: ClientVpnConnection[]; /** - *

                      The creation date and time of the EC2 Fleet.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ - CreateTime?: Date; + NextToken?: string; +} +export namespace DescribeClientVpnConnectionsResult { /** - *

                      The ID of the EC2 Fleet.

                      + * @internal */ - FleetId?: string; + export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsResult): any => ({ + ...obj, + }); +} +export interface DescribeClientVpnEndpointsRequest { /** - *

                      The state of the EC2 Fleet.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - FleetState?: FleetStateCode | string; + ClientVpnEndpointIds?: string[]; /** - *

                      Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                      - *

                      Constraints: Maximum 64 ASCII characters

                      + *

                      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.

                      */ - ClientToken?: string; + MaxResults?: number; /** - *

                      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 token to retrieve the next page of results.

                      */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + NextToken?: string; /** - *

                      The number of units fulfilled by this request compared to the set target - * capacity.

                      + *

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        + *
                      • + *

                        + * endpoint-id - The ID of the Client VPN endpoint.

                        + *
                      • + *
                      • + *

                        + * transport-protocol - The transport protocol (tcp | + * udp).

                        + *
                      • + *
                      */ - FulfilledCapacity?: number; + Filters?: Filter[]; /** - *

                      The number of units fulfilled by this request compared to the set target On-Demand - * 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.

                      */ - FulfilledOnDemandCapacity?: number; + DryRun?: boolean; +} +export namespace DescribeClientVpnEndpointsRequest { /** - *

                      The launch template and overrides.

                      + * @internal */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfig[]; + export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsRequest): any => ({ + ...obj, + }); +} - /** - *

                      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.

                      - */ - TargetCapacitySpecification?: TargetCapacitySpecification; +export type AssociatedNetworkType = "vpc"; +/** + *

                      Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

                      + */ +export interface AssociatedTargetNetwork { /** - *

                      Indicates whether running instances should be terminated when the EC2 Fleet expires.

                      + *

                      The ID of the subnet.

                      */ - TerminateInstancesWithExpiration?: boolean; + NetworkId?: 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 target network type.

                      */ - Type?: FleetType | string; + NetworkType?: AssociatedNetworkType | string; +} +export namespace AssociatedTargetNetwork { /** - *

                      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.

                      + * @internal */ - ValidFrom?: Date; + export const filterSensitiveLog = (obj: AssociatedTargetNetwork): any => ({ + ...obj, + }); +} +/** + *

                      Describes an Active Directory.

                      + */ +export interface DirectoryServiceAuthentication { /** - *

                      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 ID of the Active Directory used for authentication.

                      */ - ValidUntil?: Date; + DirectoryId?: string; +} +export namespace DirectoryServiceAuthentication { /** - *

                      Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for - * fleets of type maintain. For more information, see EC2 Fleet - * health checks in the Amazon EC2 User Guide.

                      + * @internal */ - ReplaceUnhealthyInstances?: boolean; + export const filterSensitiveLog = (obj: DirectoryServiceAuthentication): any => ({ + ...obj, + }); +} +/** + *

                      Describes the IAM SAML identity providers used for federated authentication.

                      + */ +export interface FederatedAuthentication { /** - *

                      The configuration of Spot Instances in an EC2 Fleet.

                      + *

                      The Amazon Resource Name (ARN) of the IAM SAML identity provider.

                      */ - SpotOptions?: SpotOptions; + SamlProviderArn?: string; /** - *

                      The allocation strategy of On-Demand Instances in an EC2 Fleet.

                      + *

                      The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

                      */ - OnDemandOptions?: OnDemandOptions; + SelfServiceSamlProviderArn?: string; +} +export namespace FederatedAuthentication { /** - *

                      The tags for an EC2 Fleet resource.

                      + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: FederatedAuthentication): any => ({ + ...obj, + }); +} +/** + *

                      Information about the client certificate used for authentication.

                      + */ +export interface CertificateAuthentication { /** - *

                      Information about the instances that could not be launched by the fleet. Valid only when - * Type is set to instant.

                      + *

                      The ARN of the client certificate.

                      */ - Errors?: DescribeFleetError[]; + ClientRootCertificateChain?: string; +} +export namespace CertificateAuthentication { /** - *

                      Information about the instances that were launched by the fleet. Valid only when - * Type is set to instant.

                      + * @internal */ - Instances?: DescribeFleetsInstances[]; + export const filterSensitiveLog = (obj: CertificateAuthentication): any => ({ + ...obj, + }); +} +/** + *

                      Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication + * in the Client VPN Administrator Guide.

                      + */ +export interface ClientVpnAuthentication { /** - *

                      Reserved.

                      + *

                      The authentication type used.

                      */ - Context?: string; -} + Type?: ClientVpnAuthenticationType | string; -export namespace FleetData { /** - * @internal + *

                      Information about the Active Directory, if applicable.

                      */ - export const filterSensitiveLog = (obj: FleetData): any => ({ - ...obj, - }); -} + ActiveDirectory?: DirectoryServiceAuthentication; -export interface DescribeFleetsResult { /** - *

                      The token for the next set of results.

                      + *

                      Information about the authentication certificates, if applicable.

                      */ - NextToken?: string; + MutualAuthentication?: CertificateAuthentication; /** - *

                      Information about the EC2 Fleets.

                      + *

                      Information about the IAM SAML identity provider, if applicable.

                      */ - Fleets?: FleetData[]; + FederatedAuthentication?: FederatedAuthentication; } -export namespace DescribeFleetsResult { +export namespace ClientVpnAuthentication { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetsResult): any => ({ + export const filterSensitiveLog = (obj: ClientVpnAuthentication): any => ({ ...obj, }); } -export interface DescribeFlowLogsRequest { +export type ClientVpnEndpointAttributeStatusCode = "applied" | "applying"; + +/** + *

                      Describes the status of the Client VPN endpoint attribute.

                      + */ +export interface ClientVpnEndpointAttributeStatus { /** - *

                      Checks whether you have the required permissions for the action, without 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 status code.

                      */ - DryRun?: boolean; + Code?: ClientVpnEndpointAttributeStatusCode | string; /** - *

                      One or more filters.

                      - *
                        - *
                      • - *

                        - * deliver-log-status - The status of the logs delivery (SUCCESS | - * FAILED).

                        - *
                      • - *
                      • - *

                        - * log-destination-type - The type of destination to which the flow - * log publishes data. Possible destination types include - * cloud-watch-logs and s3.

                        - *
                      • - *
                      • - *

                        - * flow-log-id - The ID of the flow log.

                        - *
                      • - *
                      • - *

                        - * log-group-name - The name of the log group.

                        - *
                      • - *
                      • - *

                        - * resource-id - The ID of the VPC, subnet, or network interface.

                        - *
                      • - *
                      • - *

                        - * traffic-type - The type of traffic (ACCEPT | - * REJECT | ALL).

                        - *
                      • - *
                      • - *

                        - * 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 status message.

                      */ - Filter?: Filter[]; + Message?: string; +} +export namespace ClientVpnEndpointAttributeStatus { /** - *

                      One or more flow log IDs.

                      - *

                      Constraint: Maximum of 1000 flow log IDs.

                      + * @internal */ - FlowLogIds?: string[]; + export const filterSensitiveLog = (obj: ClientVpnEndpointAttributeStatus): any => ({ + ...obj, + }); +} +/** + *

                      The options for managing connection authorization for new client connections.

                      + */ +export interface ClientConnectResponseOptions { /** - *

                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                      + *

                      Indicates whether client connect options are enabled.

                      */ - MaxResults?: number; + Enabled?: boolean; /** - *

                      The token for the next page of results.

                      + *

                      The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

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

                      The status of any updates to the client connect options.

                      + */ + Status?: ClientVpnEndpointAttributeStatus; } -export namespace DescribeFlowLogsRequest { +export namespace ClientConnectResponseOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFlowLogsRequest): any => ({ + export const filterSensitiveLog = (obj: ClientConnectResponseOptions): any => ({ ...obj, }); } /** - *

                      Describes the destination options for a flow log.

                      + *

                      Information about the client connection logging options for a Client VPN endpoint.

                      */ -export interface DestinationOptionsResponse { +export interface ConnectionLogResponseOptions { /** - *

                      The format for the flow log.

                      + *

                      Indicates whether client connection logging is enabled for the Client VPN endpoint.

                      */ - FileFormat?: DestinationFileFormat | string; + Enabled?: boolean; /** - *

                      Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

                      + *

                      The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

                      */ - HiveCompatiblePartitions?: boolean; + CloudwatchLogGroup?: string; /** - *

                      Indicates whether to partition the flow log per hour.

                      + *

                      The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

                      */ - PerHourPartition?: boolean; + CloudwatchLogStream?: string; } -export namespace DestinationOptionsResponse { +export namespace ConnectionLogResponseOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DestinationOptionsResponse): any => ({ + export const filterSensitiveLog = (obj: ConnectionLogResponseOptions): any => ({ ...obj, }); } +export type VpnProtocol = "openvpn"; + /** - *

                      Describes a flow log.

                      + *

                      Describes a Client VPN endpoint.

                      */ -export interface FlowLog { - /** - *

                      The date and time the flow log was created.

                      - */ - CreationTime?: Date; - +export interface ClientVpnEndpoint { /** - *

                      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.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - DeliverLogsErrorMessage?: string; + ClientVpnEndpointId?: string; /** - *

                      The ARN of the IAM role that posts logs to CloudWatch Logs.

                      + *

                      A brief description of the endpoint.

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

                      The status of the logs delivery (SUCCESS | FAILED).

                      + *

                      The current state of the Client VPN endpoint.

                      */ - DeliverLogsStatus?: string; + Status?: ClientVpnEndpointStatus; /** - *

                      The flow log ID.

                      + *

                      The date and time the Client VPN endpoint was created.

                      */ - FlowLogId?: string; + CreationTime?: string; /** - *

                      The status of the flow log (ACTIVE).

                      + *

                      The date and time the Client VPN endpoint was deleted, if applicable.

                      */ - FlowLogStatus?: string; + DeletionTime?: string; /** - *

                      The name of the flow log group.

                      + *

                      The DNS name to be used by clients when connecting to the Client VPN endpoint.

                      */ - LogGroupName?: string; + DnsName?: string; /** - *

                      The ID of the resource on which the flow log was created.

                      + *

                      The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

                      */ - ResourceId?: string; + ClientCidrBlock?: string; /** - *

                      The type of traffic captured for the flow log.

                      + *

                      Information about the DNS servers to be used for DNS resolution.

                      */ - TrafficType?: TrafficType | string; + DnsServers?: string[]; /** - *

                      The type of destination to which the flow log data is published. Flow log data can be - * published to CloudWatch Logs or Amazon S3.

                      + *

                      Indicates whether split-tunnel is enabled in the Client VPN endpoint.

                      + *

                      For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint + * in the Client VPN Administrator Guide.

                      */ - LogDestinationType?: LogDestinationType | string; + SplitTunnel?: boolean; /** - *

                      The destination to which the flow log data is published. Flow log data can be - * published to an CloudWatch Logs log group or an Amazon S3 bucket. If the flow log publishes to CloudWatch Logs, - * this element indicates the Amazon Resource Name (ARN) of the CloudWatch Logs log group to which - * the data is published. If the flow log publishes to Amazon S3, this element indicates the ARN - * of the Amazon S3 bucket to which the data is published.

                      + *

                      The protocol used by the VPN session.

                      */ - LogDestination?: string; + VpnProtocol?: VpnProtocol | string; /** - *

                      The format of the flow log record.

                      + *

                      The transport protocol used by the Client VPN endpoint.

                      */ - LogFormat?: string; + TransportProtocol?: TransportProtocol | string; /** - *

                      The tags for the flow log.

                      + *

                      The port number for the Client VPN endpoint.

                      */ - Tags?: Tag[]; + VpnPort?: number; /** - *

                      The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

                      - *

                      When a network interface is attached to a Nitro-based - * instance, the aggregation interval is always 60 seconds (1 minute) or less, - * regardless of the specified value.

                      - *

                      Valid Values: 60 | 600 - *

                      + * @deprecated + * + *

                      Information about the associated target networks. A target network is a subnet in a VPC.

                      */ - MaxAggregationInterval?: number; + AssociatedTargetNetworks?: AssociatedTargetNetwork[]; /** - *

                      The destination options.

                      + *

                      The ARN of the server certificate.

                      */ - DestinationOptions?: DestinationOptionsResponse; -} + ServerCertificateArn?: string; -export namespace FlowLog { /** - * @internal + *

                      Information about the authentication method used by the Client VPN endpoint.

                      */ - export const filterSensitiveLog = (obj: FlowLog): any => ({ - ...obj, - }); -} + AuthenticationOptions?: ClientVpnAuthentication[]; -export interface DescribeFlowLogsResult { /** - *

                      Information about the flow logs.

                      + *

                      Information about the client connection logging options for the Client VPN endpoint.

                      */ - FlowLogs?: FlowLog[]; + ConnectionLogOptions?: ConnectionLogResponseOptions; /** - *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      + *

                      Any tags assigned to the Client VPN endpoint.

                      */ - NextToken?: string; -} + Tags?: Tag[]; -export namespace DescribeFlowLogsResult { /** - * @internal + *

                      The IDs of the security groups for the target network.

                      */ - export const filterSensitiveLog = (obj: DescribeFlowLogsResult): any => ({ - ...obj, - }); -} - -export type FpgaImageAttributeName = "description" | "loadPermission" | "name" | "productCodes"; + SecurityGroupIds?: string[]; -export interface DescribeFpgaImageAttributeRequest { /** - *

                      Checks whether you have the required permissions for the action, without 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 VPC.

                      */ - DryRun?: boolean; + VpcId?: string; /** - *

                      The ID of the AFI.

                      + *

                      The URL of the self-service portal.

                      */ - FpgaImageId: string | undefined; + SelfServicePortalUrl?: string; /** - *

                      The AFI attribute.

                      + *

                      The options for managing connection authorization for new client connections.

                      */ - Attribute: FpgaImageAttributeName | string | undefined; + ClientConnectOptions?: ClientConnectResponseOptions; } -export namespace DescribeFpgaImageAttributeRequest { +export namespace ClientVpnEndpoint { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ClientVpnEndpoint): any => ({ ...obj, }); } -export type PermissionGroup = "all"; - -/** - *

                      Describes a load permission.

                      - */ -export interface LoadPermission { +export interface DescribeClientVpnEndpointsResult { /** - *

                      The Amazon Web Services account ID.

                      + *

                      Information about the Client VPN endpoints.

                      */ - UserId?: string; + ClientVpnEndpoints?: ClientVpnEndpoint[]; /** - *

                      The name of the group.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ - Group?: PermissionGroup | string; + NextToken?: string; } -export namespace LoadPermission { +export namespace DescribeClientVpnEndpointsResult { /** * @internal */ - export const filterSensitiveLog = (obj: LoadPermission): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsResult): any => ({ ...obj, }); } -export type ProductCodeValues = "devpay" | "marketplace"; +export interface DescribeClientVpnRoutesRequest { + /** + *

                      The ID of the Client VPN endpoint.

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

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        + *
                      • + *

                        + * destination-cidr - The CIDR of the route destination.

                        + *
                      • + *
                      • + *

                        + * origin - How the route was associated with the Client VPN endpoint (associate | add-route).

                        + *
                      • + *
                      • + *

                        + * target-subnet - The ID of the subnet through which traffic is routed.

                        + *
                      • + *
                      + */ + 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; -/** - *

                      Describes a product code.

                      - */ -export interface ProductCode { /** - *

                      The product code.

                      + *

                      The token to retrieve the next page of results.

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

                      The type of product code.

                      + *

                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                      */ - ProductCodeType?: ProductCodeValues | string; + DryRun?: boolean; } -export namespace ProductCode { +export namespace DescribeClientVpnRoutesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ProductCode): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnRoutesRequest): any => ({ ...obj, }); } /** - *

                      Describes an Amazon FPGA image (AFI) attribute.

                      + *

                      Information about a Client VPN endpoint route.

                      */ -export interface FpgaImageAttribute { +export interface ClientVpnRoute { /** - *

                      The ID of the AFI.

                      + *

                      The ID of the Client VPN endpoint with which the route is associated.

                      */ - FpgaImageId?: string; + ClientVpnEndpointId?: string; /** - *

                      The name of the AFI.

                      + *

                      The IPv4 address range, in CIDR notation, of the route destination.

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

                      The description of the AFI.

                      + *

                      The ID of the subnet through which traffic is routed.

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

                      The route type.

                      + */ + Type?: 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.

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

                      The load permissions.

                      + *

                      The current state of the route.

                      */ - LoadPermissions?: LoadPermission[]; + Status?: ClientVpnRouteStatus; /** - *

                      The product codes.

                      + *

                      A brief description of the route.

                      */ - ProductCodes?: ProductCode[]; + Description?: string; } -export namespace FpgaImageAttribute { +export namespace ClientVpnRoute { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaImageAttribute): any => ({ + export const filterSensitiveLog = (obj: ClientVpnRoute): any => ({ ...obj, }); } -export interface DescribeFpgaImageAttributeResult { +export interface DescribeClientVpnRoutesResult { + /** + *

                      Information about the Client VPN endpoint routes.

                      + */ + Routes?: ClientVpnRoute[]; + /** - *

                      Information about the attribute.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ - FpgaImageAttribute?: FpgaImageAttribute; + NextToken?: string; } -export namespace DescribeFpgaImageAttributeResult { +export namespace DescribeClientVpnRoutesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnRoutesResult): any => ({ ...obj, }); } -export interface DescribeFpgaImagesRequest { +export interface DescribeClientVpnTargetNetworksRequest { /** - *

                      Checks whether you have the required permissions for the action, without 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 AFI IDs.

                      + *

                      The IDs of the target network associations.

                      */ - FpgaImageIds?: string[]; + AssociationIds?: string[]; /** - *

                      Filters the AFI by owner. Specify an Amazon Web Services account ID, self - * (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are - * amazon | aws-marketplace).

                      + *

                      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.

                      */ - Owners?: string[]; + MaxResults?: number; /** - *

                      The filters.

                      - *
                        - *
                      • - *

                        - * create-time - The creation time of the AFI.

                        - *
                      • - *
                      • - *

                        - * fpga-image-id - The FPGA image identifier (AFI ID).

                        - *
                      • - *
                      • - *

                        - * fpga-image-global-id - The global FPGA image identifier (AGFI ID).

                        - *
                      • - *
                      • - *

                        - * name - The name of the AFI.

                        - *
                      • - *
                      • - *

                        - * owner-id - The Amazon Web Services account ID of the AFI owner.

                        - *
                      • - *
                      • - *

                        - * product-code - The product code.

                        - *
                      • - *
                      • - *

                        - * shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

                        - *
                      • - *
                      • - *

                        - * state - The state of the AFI (pending | failed | available | unavailable).

                        - *
                      • + *

                        The token to retrieve the next page of results.

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

                        One or more filters. Filter names and values are case-sensitive.

                        + *
                          *
                        • *

                          - * 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.

                          + * association-id - The ID of the association.

                          *
                        • *
                        • *

                          - * 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.

                          + * target-network-id - The ID of the subnet specified as the target network.

                          *
                        • *
                        • *

                          - * update-time - The time of the most recent update.

                          + * vpc-id - The ID of the VPC in which the target network is located.

                          *
                        • *
                        */ Filters?: Filter[]; /** - *

                        The token to retrieve the next page of results.

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

                        The maximum number of results to return in a single call.

                        + *

                        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                        */ - MaxResults?: number; + DryRun?: boolean; } -export namespace DescribeFpgaImagesRequest { +export namespace DescribeClientVpnTargetNetworksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImagesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksRequest): any => ({ ...obj, }); } /** - *

                        Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

                        + *

                        Describes a target network associated with a Client VPN endpoint.

                        */ -export interface PciId { +export interface TargetNetwork { + /** + *

                        The ID of the association.

                        + */ + AssociationId?: string; + + /** + *

                        The ID of the VPC in which the target network (subnet) is located.

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

                        The ID of the device.

                        + *

                        The ID of the subnet specified as the target network.

                        */ - DeviceId?: string; + TargetNetworkId?: string; /** - *

                        The ID of the vendor.

                        + *

                        The ID of the Client VPN endpoint with which the target network is associated.

                        */ - VendorId?: string; + ClientVpnEndpointId?: string; /** - *

                        The ID of the subsystem.

                        + *

                        The current state of the target network association.

                        */ - SubsystemId?: string; + Status?: AssociationStatus; /** - *

                        The ID of the vendor for the subsystem.

                        + *

                        The IDs of the security groups applied to the target network association.

                        */ - SubsystemVendorId?: string; + SecurityGroups?: string[]; } -export namespace PciId { +export namespace TargetNetwork { /** * @internal */ - export const filterSensitiveLog = (obj: PciId): any => ({ + export const filterSensitiveLog = (obj: TargetNetwork): any => ({ ...obj, }); } -export type FpgaImageStateCode = "available" | "failed" | "pending" | "unavailable"; +export interface DescribeClientVpnTargetNetworksResult { + /** + *

                        Information about the associated target networks.

                        + */ + ClientVpnTargetNetworks?: TargetNetwork[]; -/** - *

                        Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

                        - */ -export interface FpgaImageState { /** - *

                        The state. The following are the possible values:

                        - *
                          - *
                        • - *

                          - * pending - AFI bitstream generation is in progress.

                          - *
                        • - *
                        • - *

                          - * available - The AFI is available for use.

                          - *
                        • + *

                          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 DescribeClientVpnTargetNetworksResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksResult): any => ({ + ...obj, + }); +} + +export interface DescribeCoipPoolsRequest { + /** + *

                          The IDs of the address pools.

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

                          The filters. The following are the possible values:

                          + *
                            *
                          • *

                            - * failed - AFI bitstream generation failed.

                            + * coip-pool.pool-id + *

                            *
                          • + *
                          + *
                            *
                          • *

                            - * unavailable - The AFI is no longer available for use.

                            + * coip-pool.local-gateway-route-table-id + *

                            *
                          • *
                          */ - Code?: FpgaImageStateCode | string; + Filters?: Filter[]; /** - *

                          If the state is failed, this is the error message.

                          + *

                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                          */ - Message?: string; + 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 FpgaImageState { +export namespace DescribeCoipPoolsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaImageState): any => ({ + export const filterSensitiveLog = (obj: DescribeCoipPoolsRequest): any => ({ ...obj, }); } /** - *

                          Describes an Amazon FPGA image (AFI).

                          + *

                          Describes a customer-owned address pool.

                          */ -export interface FpgaImage { +export interface CoipPool { /** - *

                          The FPGA image identifier (AFI ID).

                          + *

                          The ID of the address pool.

                          */ - FpgaImageId?: string; + PoolId?: string; /** - *

                          The global FPGA image identifier (AGFI ID).

                          + *

                          The address ranges of the address pool.

                          */ - FpgaImageGlobalId?: string; + PoolCidrs?: string[]; /** - *

                          The name of the AFI.

                          + *

                          The ID of the local gateway route table.

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

                          The tags.

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

                          The description of the AFI.

                          + *

                          The ARN of the address pool.

                          */ - Description?: string; + PoolArn?: string; +} +export namespace CoipPool { /** - *

                          The version of the Amazon Web Services Shell that was used to create the bitstream.

                          + * @internal */ - ShellVersion?: string; + export const filterSensitiveLog = (obj: CoipPool): any => ({ + ...obj, + }); +} +export interface DescribeCoipPoolsResult { /** - *

                          Information about the PCI bus.

                          + *

                          Information about the address pools.

                          */ - PciId?: PciId; + CoipPools?: CoipPool[]; /** - *

                          Information about the state of the AFI.

                          + *

                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          */ - State?: FpgaImageState; + NextToken?: string; +} +export namespace DescribeCoipPoolsResult { /** - *

                          The date and time the AFI was created.

                          + * @internal */ - CreateTime?: Date; + export const filterSensitiveLog = (obj: DescribeCoipPoolsResult): any => ({ + ...obj, + }); +} +export interface DescribeConversionTasksRequest { /** - *

                          The time of the most recent update to the AFI.

                          + *

                          The conversion task IDs.

                          */ - UpdateTime?: Date; + ConversionTaskIds?: string[]; /** - *

                          The ID of the Amazon Web Services account that owns the AFI.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - OwnerId?: string; + DryRun?: boolean; +} +export namespace DescribeConversionTasksRequest { /** - *

                          The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

                          + * @internal */ - OwnerAlias?: string; + export const filterSensitiveLog = (obj: DescribeConversionTasksRequest): any => ({ + ...obj, + }); +} +/** + *

                          Describes a disk image.

                          + */ +export interface DiskImageDescription { /** - *

                          The product codes for the AFI.

                          + *

                          The checksum computed for the disk image.

                          */ - ProductCodes?: ProductCode[]; + Checksum?: string; /** - *

                          Any tags assigned to the AFI.

                          + *

                          The disk image format.

                          */ - Tags?: Tag[]; + Format?: DiskImageFormat | string; /** - *

                          Indicates whether the AFI is public.

                          + *

                          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 + * the Amazon Simple Storage Service Developer Guide.

                          + *

                          For information about the import manifest referenced by this API action, see VM Import Manifest.

                          */ - Public?: boolean; + ImportManifestUrl?: string; /** - *

                          Indicates whether data retention support is enabled for the AFI.

                          + *

                          The size of the disk image, in GiB.

                          */ - DataRetentionSupport?: boolean; + Size?: number; } -export namespace FpgaImage { +export namespace DiskImageDescription { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaImage): any => ({ + export const filterSensitiveLog = (obj: DiskImageDescription): any => ({ ...obj, }); } -export interface DescribeFpgaImagesResult { +/** + *

                          Describes a disk image volume.

                          + */ +export interface DiskImageVolumeDescription { /** - *

                          Information about the FPGA images.

                          + *

                          The volume identifier.

                          */ - FpgaImages?: FpgaImage[]; + Id?: 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 size of the volume, in GiB.

                          */ - NextToken?: string; + Size?: number; } -export namespace DescribeFpgaImagesResult { +export namespace DiskImageVolumeDescription { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImagesResult): any => ({ + export const filterSensitiveLog = (obj: DiskImageVolumeDescription): any => ({ ...obj, }); } -export interface DescribeHostReservationOfferingsRequest { +/** + *

                          Describes an import volume task.

                          + */ +export interface ImportInstanceVolumeDetailItem { /** - *

                          The filters.

                          - *
                            - *
                          • - *

                            - * instance-family - The instance family of the offering (for example, - * m4).

                            - *
                          • - *
                          • - *

                            - * payment-option - The payment option (NoUpfront | - * PartialUpfront | AllUpfront).

                            - *
                          • - *
                          + *

                          The Availability Zone where the resulting instance will reside.

                          + */ + AvailabilityZone?: string; + + /** + *

                          The number of bytes converted so far.

                          */ - Filter?: Filter[]; + BytesConverted?: number; /** - *

                          This is the maximum duration of the reservation to purchase, specified in seconds. - * Reservations are available in one-year and three-year terms. The number of seconds - * specified must be the number of seconds in a year (365x24x60x60) times one of the - * supported durations (1 or 3). For example, specify 94608000 for three years.

                          + *

                          A description of the task.

                          */ - MaxDuration?: number; + Description?: 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.

                          + *

                          The image.

                          */ - MaxResults?: number; + Image?: DiskImageDescription; /** - *

                          This is the minimum duration of the reservation you'd like to purchase, specified - * in seconds. Reservations are available in one-year and three-year terms. The number of - * seconds specified must be the number of seconds in a year (365x24x60x60) times one of - * the supported durations (1 or 3). For example, specify 31536000 for one year.

                          + *

                          The status of the import of this particular disk image.

                          */ - MinDuration?: number; + Status?: string; /** - *

                          The token to use to retrieve the next page of results.

                          + *

                          The status information or errors related to the disk image.

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

                          The ID of the reservation offering.

                          + *

                          The volume.

                          */ - OfferingId?: string; + Volume?: DiskImageVolumeDescription; } -export namespace DescribeHostReservationOfferingsRequest { +export namespace ImportInstanceVolumeDetailItem { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsRequest): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceVolumeDetailItem): any => ({ ...obj, }); } -export enum PaymentOption { - ALL_UPFRONT = "AllUpfront", - NO_UPFRONT = "NoUpfront", - PARTIAL_UPFRONT = "PartialUpfront", -} - /** - *

                          Details about the Dedicated Host Reservation offering.

                          + *

                          Describes an import instance task.

                          */ -export interface HostOffering { +export interface ImportInstanceTaskDetails { /** - *

                          The currency of the offering.

                          + *

                          A description of the task.

                          */ - CurrencyCode?: CurrencyCodeValues | string; + Description?: string; /** - *

                          The duration of the offering (in seconds).

                          + *

                          The ID of the instance.

                          */ - Duration?: number; + InstanceId?: string; /** - *

                          The hourly price of the offering.

                          + *

                          The instance operating system.

                          */ - HourlyPrice?: string; + Platform?: PlatformValues | string; /** - *

                          The instance family of the offering.

                          + *

                          The volumes.

                          */ - InstanceFamily?: string; + Volumes?: ImportInstanceVolumeDetailItem[]; +} +export namespace ImportInstanceTaskDetails { /** - *

                          The ID of the offering.

                          + * @internal */ - OfferingId?: string; + export const filterSensitiveLog = (obj: ImportInstanceTaskDetails): any => ({ + ...obj, + }); +} +/** + *

                          Describes an import volume task.

                          + */ +export interface ImportVolumeTaskDetails { /** - *

                          The available payment option.

                          + *

                          The Availability Zone where the resulting volume will reside.

                          */ - PaymentOption?: PaymentOption | string; + AvailabilityZone?: string; /** - *

                          The upfront price of the offering. Does not apply to No Upfront - * offerings.

                          + *

                          The number of bytes converted so far.

                          */ - UpfrontPrice?: string; -} + BytesConverted?: number; -export namespace HostOffering { /** - * @internal + *

                          The description you provided when starting the import volume task.

                          */ - export const filterSensitiveLog = (obj: HostOffering): any => ({ - ...obj, - }); -} + Description?: string; -export interface DescribeHostReservationOfferingsResult { /** - *

                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          + *

                          The image.

                          */ - NextToken?: string; + Image?: DiskImageDescription; /** - *

                          Information about the offerings.

                          + *

                          The volume.

                          */ - OfferingSet?: HostOffering[]; + Volume?: DiskImageVolumeDescription; } -export namespace DescribeHostReservationOfferingsResult { +export namespace ImportVolumeTaskDetails { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsResult): any => ({ + export const filterSensitiveLog = (obj: ImportVolumeTaskDetails): any => ({ ...obj, }); } + +export type ConversionTaskState = "active" | "cancelled" | "cancelling" | "completed"; diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 2397a6c4fd5d..8c4b0f0d502d 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -1,241 +1,383 @@ import { _InstanceType, ActiveInstance, - ActivityStatus, AllocationState, - AllocationStrategy, AllowsMultipleInstanceTypes, AlternatePathHint, + AnalysisAclRule, + AnalysisComponent, + AnalysisRouteTableRoute, + AnalysisSecurityGroupRule, AttachmentStatus, AttributeValue, AutoPlacement, - BatchState, CurrencyCodeValues, - FleetLaunchTemplateSpecification, - FleetType, + CustomerGateway, + DhcpOptions, + EgressOnlyInternetGateway, + FleetExcessCapacityTerminationPolicy, HostnameType, HostRecovery, IamInstanceProfile, IamInstanceProfileAssociation, - IamInstanceProfileSpecification, InstanceEventWindow, - IpPermission, - Placement, + PathComponent, + PortRange, ReservedInstancesListing, - ResourceType, - SecurityGroupRule, Tag, - TagSpecification, - TargetCapacityUnitType, Tenancy, } from "./models_0"; import { BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, + DefaultTargetCapacityType, + DestinationFileFormat, + ExportTask, + FleetCapacityReservationUsageStrategy, + FleetLaunchTemplateOverrides, + FleetLaunchTemplateSpecification, + FleetOnDemandAllocationStrategy, + FleetReplacementStrategy, + FleetType, GroupIdentifier, - InstanceInterruptionBehavior, InstanceIpv6Address, - InstanceRequirements, + InstanceLifecycle, InternetGateway, - Ipv4PrefixSpecificationRequest, - Ipv6PrefixSpecificationRequest, + Ipam, + IpamPool, + IpamScope, KeyType, LaunchTemplate, + LaunchTemplateAndOverridesResponse, LaunchTemplateVersion, LocalGatewayRouteTableVpcAssociation, + LogDestinationType, ManagedPrefixList, NatGateway, NetworkAcl, + NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, NetworkInterfaceStatus, + Placement, PlacementGroup, PlatformValues, - PortRange, - PrivateIpAddressSpecification, ReplaceRootVolumeTask, - RouteTable, - Snapshot, - SnapshotState, - SpotDatafeedSubscription, - SpotInstanceStateFault, - SpotInstanceType, - StorageTier, + SpotAllocationStrategy, + SpotInstanceInterruptionBehavior, + TargetCapacityUnitType, + TrafficType, } from "./models_1"; import { - EventInformation, + ConversionTaskState, Filter, + FleetStateCode, IdFormat, + ImportInstanceTaskDetails, + ImportVolumeTaskDetails, InstanceTagNotificationAttribute, - PaymentOption, - PermissionGroup, - ProductCode, } from "./models_2"; -export interface DescribeHostReservationsRequest { +/** + *

                          Describes a conversion task.

                          + */ +export interface ConversionTask { /** - *

                          The filters.

                          + *

                          The ID of the conversion task.

                          + */ + ConversionTaskId?: string; + + /** + *

                          The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel + * the task.

                          + */ + ExpirationTime?: string; + + /** + *

                          If the task is for importing an instance, this contains information about the import instance task.

                          + */ + ImportInstance?: ImportInstanceTaskDetails; + + /** + *

                          If the task is for importing a volume, this contains information about the import volume task.

                          + */ + ImportVolume?: ImportVolumeTaskDetails; + + /** + *

                          The state of the conversion task.

                          + */ + State?: ConversionTaskState | string; + + /** + *

                          The status message related to the conversion task.

                          + */ + StatusMessage?: string; + + /** + *

                          Any tags assigned to the task.

                          + */ + Tags?: Tag[]; +} + +export namespace ConversionTask { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConversionTask): any => ({ + ...obj, + }); +} + +export interface DescribeConversionTasksResult { + /** + *

                          Information about the conversion tasks.

                          + */ + ConversionTasks?: ConversionTask[]; +} + +export namespace DescribeConversionTasksResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeConversionTasksResult): any => ({ + ...obj, + }); +} + +/** + *

                          Contains the parameters for DescribeCustomerGateways.

                          + */ +export interface DescribeCustomerGatewaysRequest { + /** + *

                          One or more customer gateway IDs.

                          + *

                          Default: Describes all your customer gateways.

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

                          One or more filters.

                          *
                            *
                          • *

                            - * instance-family - The instance family (for example, - * m4).

                            + * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) + * Autonomous System Number (ASN).

                            *
                          • *
                          • *

                            - * payment-option - The payment option (NoUpfront | - * PartialUpfront | AllUpfront).

                            + * customer-gateway-id - The ID of the customer gateway.

                            *
                          • *
                          • *

                            - * state - The state of the reservation (payment-pending - * | payment-failed | active | - * retired).

                            + * ip-address - The IP address of the customer gateway's + * Internet-routable external 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. + *

                            + * state - The state of the customer gateway (pending | + * available | deleting | + * deleted).

                            + *
                          • + *
                          • + *

                            + * type - The type of customer 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.

                            - *
                          • + * *
                          • - *

                            + *

                            * 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.

                            - *
                          • + * *
                          */ - Filter?: Filter[]; + Filters?: Filter[]; /** - *

                          The host reservation 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.

                          */ - HostReservationIdSet?: string[]; + DryRun?: boolean; +} +export namespace DescribeCustomerGatewaysRequest { /** - *

                          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.

                          + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DescribeCustomerGatewaysRequest): any => ({ + ...obj, + }); +} +/** + *

                          Contains the output of DescribeCustomerGateways.

                          + */ +export interface DescribeCustomerGatewaysResult { /** - *

                          The token to use to retrieve the next page of results.

                          + *

                          Information about one or more customer gateways.

                          */ - NextToken?: string; + CustomerGateways?: CustomerGateway[]; } -export namespace DescribeHostReservationsRequest { +export namespace DescribeCustomerGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostReservationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeCustomerGatewaysResult): any => ({ ...obj, }); } -export enum ReservationState { - ACTIVE = "active", - PAYMENT_FAILED = "payment-failed", - PAYMENT_PENDING = "payment-pending", - RETIRED = "retired", -} - -/** - *

                          Details about the Dedicated Host Reservation and associated Dedicated - * Hosts.

                          - */ -export interface HostReservation { +export interface DescribeDhcpOptionsRequest { /** - *

                          The number of Dedicated Hosts the reservation is associated with.

                          + *

                          The IDs of one or more DHCP options sets.

                          + *

                          Default: Describes all your DHCP options sets.

                          */ - Count?: number; + DhcpOptionsIds?: string[]; /** - *

                          The currency in which the upfrontPrice and hourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

                          + *

                          One or more filters.

                          + *
                            + *
                          • + *

                            + * dhcp-options-id - The ID of a DHCP options set.

                            + *
                          • + *
                          • + *

                            + * key - The key for one of the options (for example, domain-name).

                            + *
                          • + *
                          • + *

                            + * value - The value for one of the options.

                            + *
                          • + *
                          • + *

                            + * owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

                            + *
                          • + *
                          • + *

                            + * 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.

                            + *
                          • + *
                          */ - CurrencyCode?: CurrencyCodeValues | string; + Filters?: Filter[]; /** - *

                          The length of the reservation's term, specified in seconds. Can be 31536000 - * (1 year) | 94608000 (3 years).

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - Duration?: number; + DryRun?: boolean; /** - *

                          The date and time that the reservation ends.

                          + *

                          The token for the next page of results.

                          */ - End?: Date; + NextToken?: string; /** - *

                          The IDs of the Dedicated Hosts associated with the reservation.

                          + *

                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                          */ - HostIdSet?: string[]; + MaxResults?: number; +} +export namespace DescribeDhcpOptionsRequest { /** - *

                          The ID of the reservation that specifies the associated Dedicated Hosts.

                          + * @internal */ - HostReservationId?: string; + export const filterSensitiveLog = (obj: DescribeDhcpOptionsRequest): any => ({ + ...obj, + }); +} +export interface DescribeDhcpOptionsResult { /** - *

                          The hourly price of the reservation.

                          + *

                          Information about one or more DHCP options sets.

                          */ - HourlyPrice?: string; + DhcpOptions?: DhcpOptions[]; /** - *

                          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 token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          */ - InstanceFamily?: string; + NextToken?: string; +} +export namespace DescribeDhcpOptionsResult { /** - *

                          The ID of the reservation. This remains the same regardless of which Dedicated - * Hosts are associated with it.

                          + * @internal */ - OfferingId?: string; + export const filterSensitiveLog = (obj: DescribeDhcpOptionsResult): any => ({ + ...obj, + }); +} +export interface DescribeEgressOnlyInternetGatewaysRequest { /** - *

                          The payment option selected for this 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.

                          */ - PaymentOption?: PaymentOption | string; + DryRun?: boolean; /** - *

                          The date and time that the reservation started.

                          + *

                          One or more egress-only internet gateway IDs.

                          */ - Start?: Date; + EgressOnlyInternetGatewayIds?: string[]; /** - *

                          The state of the reservation.

                          + *

                          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?: ReservationState | string; + MaxResults?: number; /** - *

                          The upfront price of the reservation.

                          + *

                          The token for the next page of results.

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

                          Any tags assigned to the Dedicated Host Reservation.

                          + *

                          One or more filters.

                          + *
                            + *
                          • + *

                            + * 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.

                            + *
                          • + *
                          */ - Tags?: Tag[]; + Filters?: Filter[]; } -export namespace HostReservation { +export namespace DescribeEgressOnlyInternetGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: HostReservation): any => ({ + export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysRequest): any => ({ ...obj, }); } -export interface DescribeHostReservationsResult { +export interface DescribeEgressOnlyInternetGatewaysResult { /** - *

                          Details about the reservation's configuration.

                          + *

                          Information about the egress-only internet gateways.

                          */ - HostReservationSet?: HostReservation[]; + EgressOnlyInternetGateways?: EgressOnlyInternetGateway[]; /** *

                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          @@ -243,1418 +385,1542 @@ export interface DescribeHostReservationsResult { NextToken?: string; } -export namespace DescribeHostReservationsResult { +export namespace DescribeEgressOnlyInternetGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostReservationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysResult): any => ({ ...obj, }); } -export interface DescribeHostsRequest { +export interface DescribeElasticGpusRequest { + /** + *

                          The Elastic Graphics accelerator IDs.

                          + */ + ElasticGpuIds?: 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.

                          *
                            *
                          • *

                            - * auto-placement - Whether auto-placement is enabled or disabled - * (on | off).

                            - *
                          • - *
                          • - *

                            - * availability-zone - The Availability Zone of the - * host.

                            + * availability-zone - The Availability Zone in which the + * Elastic Graphics accelerator resides.

                            *
                          • *
                          • *

                            - * client-token - The idempotency token that you provided when you - * allocated the host.

                            + * elastic-gpu-health - The status of the Elastic Graphics accelerator + * (OK | IMPAIRED).

                            *
                          • *
                          • *

                            - * host-reservation-id - The ID of the reservation assigned to - * this host.

                            + * elastic-gpu-state - The state of the Elastic Graphics accelerator + * (ATTACHED).

                            *
                          • *
                          • *

                            - * instance-type - The instance type size that the Dedicated Host - * is configured to support.

                            + * elastic-gpu-type - The type of Elastic Graphics accelerator; for example, + * eg1.medium.

                            *
                          • *
                          • *

                            - * state - The allocation state of the Dedicated Host - * (available | under-assessment | - * permanent-failure | released | - * released-permanent-failure).

                            + * instance-id - The ID of the instance to which the + * Elastic Graphics accelerator is associated.

                            *
                          • - *
                          • - *

                            - * 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.

                            - *
                          • *
                          */ - Filter?: Filter[]; - - /** - *

                          The IDs of the Dedicated Hosts. The IDs are used for targeted instance - * launches.

                          - */ - HostIds?: string[]; + 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 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.

                          + *

                          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 token to use to retrieve the next page of results.

                          + *

                          The token to request the next page of results.

                          */ NextToken?: string; } -export namespace DescribeHostsRequest { +export namespace DescribeElasticGpusRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeElasticGpusRequest): any => ({ ...obj, }); } +export enum ElasticGpuStatus { + Impaired = "IMPAIRED", + Ok = "OK", +} + /** - *

                          Information about the number of instances that can be launched onto the Dedicated - * Host.

                          + *

                          Describes the status of an Elastic Graphics accelerator.

                          */ -export interface InstanceCapacity { - /** - *

                          The number of instances that can be launched onto the Dedicated Host based on the - * host's available capacity.

                          - */ - AvailableCapacity?: number; - - /** - *

                          The instance type supported by the Dedicated Host.

                          - */ - InstanceType?: string; - +export interface ElasticGpuHealth { /** - *

                          The total number of instances that can be launched onto the Dedicated Host if there - * are no instances running on it.

                          + *

                          The health status.

                          */ - TotalCapacity?: number; + Status?: ElasticGpuStatus | string; } -export namespace InstanceCapacity { +export namespace ElasticGpuHealth { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceCapacity): any => ({ + export const filterSensitiveLog = (obj: ElasticGpuHealth): any => ({ ...obj, }); } +export enum ElasticGpuState { + Attached = "ATTACHED", +} + /** - *

                          The capacity information for instances that can be launched onto the Dedicated Host.

                          + *

                          Describes an Elastic Graphics accelerator.

                          */ -export interface AvailableCapacity { - /** - *

                          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, - * this parameter represents the number of instances for each instance size that is - * supported on the host.

                          - */ - AvailableInstanceCapacity?: InstanceCapacity[]; - +export interface ElasticGpus { /** - *

                          The number of vCPUs available for launching instances onto the Dedicated Host.

                          + *

                          The ID of the Elastic Graphics accelerator.

                          */ - AvailableVCpus?: number; -} + ElasticGpuId?: string; -export namespace AvailableCapacity { /** - * @internal + *

                          The Availability Zone in the which the Elastic Graphics accelerator resides.

                          */ - export const filterSensitiveLog = (obj: AvailableCapacity): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -/** - *

                          Describes the properties of a Dedicated Host.

                          - */ -export interface HostProperties { /** - *

                          The number of cores on the Dedicated Host.

                          + *

                          The type of Elastic Graphics accelerator.

                          */ - Cores?: number; + ElasticGpuType?: string; /** - *

                          The instance type supported by the Dedicated Host. For example, m5.large. - * If the host supports multiple instance types, no instanceType - * is returned.

                          + *

                          The status of the Elastic Graphics accelerator.

                          */ - InstanceType?: string; + ElasticGpuHealth?: ElasticGpuHealth; /** - *

                          The instance family supported by the Dedicated Host. For example, m5.

                          + *

                          The state of the Elastic Graphics accelerator.

                          */ - InstanceFamily?: string; + ElasticGpuState?: ElasticGpuState | string; /** - *

                          The number of sockets on the Dedicated Host.

                          + *

                          The ID of the instance to which the Elastic Graphics accelerator is attached.

                          */ - Sockets?: number; + InstanceId?: string; /** - *

                          The total number of vCPUs on the Dedicated Host.

                          + *

                          The tags assigned to the Elastic Graphics accelerator.

                          */ - TotalVCpus?: number; + Tags?: Tag[]; } -export namespace HostProperties { +export namespace ElasticGpus { /** * @internal */ - export const filterSensitiveLog = (obj: HostProperties): any => ({ + export const filterSensitiveLog = (obj: ElasticGpus): any => ({ ...obj, }); } -/** - *

                          Describes an instance running on a Dedicated Host.

                          - */ -export interface HostInstance { +export interface DescribeElasticGpusResult { /** - *

                          The ID of instance that is running on the Dedicated Host.

                          + *

                          Information about the Elastic Graphics accelerators.

                          */ - InstanceId?: string; + ElasticGpuSet?: ElasticGpus[]; /** - *

                          The instance type (for example, m3.medium) of the running instance.

                          + *

                          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.

                          */ - InstanceType?: string; + MaxResults?: number; /** - *

                          The ID of the Amazon Web Services account that owns the instance.

                          + *

                          The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                          */ - OwnerId?: string; + NextToken?: string; } -export namespace HostInstance { +export namespace DescribeElasticGpusResult { /** * @internal */ - export const filterSensitiveLog = (obj: HostInstance): any => ({ + export const filterSensitiveLog = (obj: DescribeElasticGpusResult): any => ({ ...obj, }); } -/** - *

                          Describes the properties of the Dedicated Host.

                          - */ -export interface Host { +export interface DescribeExportImageTasksRequest { /** - *

                          Whether auto-placement is on or off.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - AutoPlacement?: AutoPlacement | string; + DryRun?: boolean; /** - *

                          The Availability Zone of the Dedicated Host.

                          + *

                          Filter tasks using the task-state filter and one of the following values: active, + * completed, deleting, or deleted.

                          */ - AvailabilityZone?: string; + Filters?: Filter[]; /** - *

                          Information about the instances running on the Dedicated Host.

                          + *

                          The IDs of the export image tasks.

                          */ - AvailableCapacity?: AvailableCapacity; + ExportImageTaskIds?: string[]; /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                          + *

                          The maximum number of results to return in a single call.

                          */ - ClientToken?: string; + MaxResults?: number; /** - *

                          The ID of the Dedicated Host.

                          + *

                          A token that indicates the next page of results.

                          */ - HostId?: string; + NextToken?: string; +} +export namespace DescribeExportImageTasksRequest { /** - *

                          The hardware specifications of the Dedicated Host.

                          + * @internal */ - HostProperties?: HostProperties; + export const filterSensitiveLog = (obj: DescribeExportImageTasksRequest): any => ({ + ...obj, + }); +} +/** + *

                          Describes the destination for an export image task.

                          + */ +export interface ExportTaskS3Location { /** - *

                          The reservation ID of the Dedicated Host. This returns a null response - * if the Dedicated Host doesn't have an associated reservation.

                          + *

                          The destination Amazon S3 bucket.

                          */ - HostReservationId?: string; + S3Bucket?: string; /** - *

                          The IDs and instance type that are currently running on the Dedicated - * Host.

                          + *

                          The prefix (logical hierarchy) in the bucket.

                          */ - Instances?: HostInstance[]; + S3Prefix?: string; +} +export namespace ExportTaskS3Location { /** - *

                          The Dedicated Host's state.

                          + * @internal */ - State?: AllocationState | string; + export const filterSensitiveLog = (obj: ExportTaskS3Location): any => ({ + ...obj, + }); +} +/** + *

                          Describes an export image task.

                          + */ +export interface ExportImageTask { /** - *

                          The time that the Dedicated Host was allocated.

                          + *

                          A description of the image being exported.

                          */ - AllocationTime?: Date; + Description?: string; /** - *

                          The time that the Dedicated Host was released.

                          + *

                          The ID of the export image task.

                          */ - ReleaseTime?: Date; + ExportImageTaskId?: string; /** - *

                          Any tags assigned to the Dedicated Host.

                          + *

                          The ID of the image.

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

                          Indicates whether host recovery is enabled or disabled for the Dedicated Host.

                          + *

                          The percent complete of the export image task.

                          */ - HostRecovery?: HostRecovery | string; + Progress?: string; /** - *

                          Indicates whether the Dedicated Host supports multiple instance types of the same instance family. - * If the value is on, the Dedicated Host supports multiple instance types in the instance family. - * If the value is off, the Dedicated Host supports a single instance type only.

                          + *

                          Information about the destination Amazon S3 bucket.

                          */ - AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | string; + S3ExportLocation?: ExportTaskS3Location; /** - *

                          The ID of the Amazon Web Services account that owns the Dedicated Host.

                          + *

                          The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

                          */ - OwnerId?: string; + Status?: string; /** - *

                          The ID of the Availability Zone in which the Dedicated Host is allocated.

                          + *

                          The status message for the export image task.

                          */ - AvailabilityZoneId?: string; + StatusMessage?: 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.

                          + *

                          Any tags assigned to the export image task.

                          */ - MemberOfServiceLinkedResourceGroup?: boolean; + Tags?: Tag[]; } -export namespace Host { +export namespace ExportImageTask { /** * @internal */ - export const filterSensitiveLog = (obj: Host): any => ({ + export const filterSensitiveLog = (obj: ExportImageTask): any => ({ ...obj, }); } -export interface DescribeHostsResult { +export interface DescribeExportImageTasksResult { /** - *

                          Information about the Dedicated Hosts.

                          + *

                          Information about the export image tasks.

                          */ - Hosts?: Host[]; + ExportImageTasks?: ExportImageTask[]; /** - *

                          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 get the next page of results. This value is null when there are no more results + * to return.

                          */ NextToken?: string; } -export namespace DescribeHostsResult { +export namespace DescribeExportImageTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeExportImageTasksResult): any => ({ ...obj, }); } -export interface DescribeIamInstanceProfileAssociationsRequest { +export interface DescribeExportTasksRequest { /** - *

                          The IAM instance profile associations.

                          + *

                          The export task IDs.

                          */ - AssociationIds?: string[]; + ExportTaskIds?: string[]; /** - *

                          The filters.

                          - *
                            - *
                          • - *

                            - * instance-id - The ID of the instance.

                            - *
                          • - *
                          • - *

                            - * state - The state of the association (associating | - * associated | disassociating).

                            - *
                          • - *
                          + *

                          the filters for the export tasks.

                          */ Filters?: Filter[]; +} +export namespace DescribeExportTasksRequest { /** - *

                          The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

                          + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DescribeExportTasksRequest): any => ({ + ...obj, + }); +} +export interface DescribeExportTasksResult { /** - *

                          The token to request the next page of results.

                          + *

                          Information about the export tasks.

                          */ - NextToken?: string; + ExportTasks?: ExportTask[]; } -export namespace DescribeIamInstanceProfileAssociationsRequest { +export namespace DescribeExportTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeExportTasksResult): any => ({ ...obj, }); } -export interface DescribeIamInstanceProfileAssociationsResult { +export interface DescribeFastSnapshotRestoresRequest { /** - *

                          Information about the IAM instance profile associations.

                          + *

                          The filters. The possible values are:

                          + *
                            + *
                          • + *

                            + * availability-zone: The Availability Zone of the snapshot.

                            + *
                          • + *
                          • + *

                            + * owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

                            + *
                          • + *
                          • + *

                            + * snapshot-id: The ID of the snapshot.

                            + *
                          • + *
                          • + *

                            + * state: The state of fast snapshot restores for the snapshot + * (enabling | + * optimizing | + * enabled | + * disabling | + * disabled).

                            + *
                          • + *
                          */ - IamInstanceProfileAssociations?: IamInstanceProfileAssociation[]; + 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.

                          + *

                          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; } -export namespace DescribeIamInstanceProfileAssociationsResult { +export namespace DescribeFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface DescribeIdentityIdFormatRequest { +export type FastSnapshotRestoreStateCode = "disabled" | "disabling" | "enabled" | "enabling" | "optimizing"; + +/** + *

                          Describes fast snapshot restores for a snapshot.

                          + */ +export interface DescribeFastSnapshotRestoreSuccessItem { /** - *

                          The ARN of the principal, which can be an IAM role, IAM user, or the root user.

                          + *

                          The ID of the snapshot.

                          */ - PrincipalArn: string | undefined; + SnapshotId?: 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 - *

                          - */ - Resource?: string; -} - -export namespace DescribeIdentityIdFormatRequest { - /** - * @internal + *

                          The Availability Zone.

                          */ - export const filterSensitiveLog = (obj: DescribeIdentityIdFormatRequest): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -export interface DescribeIdentityIdFormatResult { /** - *

                          Information about the ID format for the resources.

                          + *

                          The state of fast snapshot restores.

                          */ - Statuses?: IdFormat[]; -} + State?: FastSnapshotRestoreStateCode | string; -export namespace DescribeIdentityIdFormatResult { /** - * @internal + *

                          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.

                            + *
                          • + *
                          */ - export const filterSensitiveLog = (obj: DescribeIdentityIdFormatResult): any => ({ - ...obj, - }); -} + StateTransitionReason?: string; -export interface DescribeIdFormatRequest { /** - *

                          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 - *

                          + *

                          The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                          */ - Resource?: string; -} + OwnerId?: string; -export namespace DescribeIdFormatRequest { /** - * @internal + *

                          The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                          */ - export const filterSensitiveLog = (obj: DescribeIdFormatRequest): any => ({ - ...obj, - }); -} + OwnerAlias?: string; -export interface DescribeIdFormatResult { /** - *

                          Information about the ID format for the resource.

                          + *

                          The time at which fast snapshot restores entered the enabling state.

                          */ - Statuses?: IdFormat[]; -} + EnablingTime?: Date; -export namespace DescribeIdFormatResult { /** - * @internal + *

                          The time at which fast snapshot restores entered the optimizing state.

                          */ - export const filterSensitiveLog = (obj: DescribeIdFormatResult): any => ({ - ...obj, - }); -} - -export type ImageAttributeName = - | "blockDeviceMapping" - | "bootMode" - | "description" - | "kernel" - | "launchPermission" - | "productCodes" - | "ramdisk" - | "sriovNetSupport"; + OptimizingTime?: Date; -/** - *

                          Contains the parameters for DescribeImageAttribute.

                          - */ -export interface DescribeImageAttributeRequest { /** - *

                          The AMI attribute.

                          - *

                          - * Note: The blockDeviceMapping attribute is deprecated. - * Using this attribute returns the Client.AuthFailure error. To get information about - * the block device mappings for an AMI, use the DescribeImages action.

                          + *

                          The time at which fast snapshot restores entered the enabled state.

                          */ - Attribute: ImageAttributeName | string | undefined; + EnabledTime?: Date; /** - *

                          The ID of the AMI.

                          + *

                          The time at which fast snapshot restores entered the disabling state.

                          */ - ImageId: string | undefined; + DisablingTime?: 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 time at which fast snapshot restores entered the disabled state.

                          */ - DryRun?: boolean; + DisabledTime?: Date; } -export namespace DescribeImageAttributeRequest { +export namespace DescribeFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -/** - *

                          Describes a launch permission.

                          - */ -export interface LaunchPermission { - /** - *

                          The name of the group.

                          - */ - Group?: PermissionGroup | string; - - /** - *

                          The Amazon Web Services account ID.

                          - *

                          Constraints: Up to 10 000 account IDs can be specified in a single request.

                          - */ - UserId?: string; - +export interface DescribeFastSnapshotRestoresResult { /** - *

                          The Amazon Resource Name (ARN) of an organization.

                          + *

                          Information about the state of fast snapshot restores.

                          */ - OrganizationArn?: string; + FastSnapshotRestores?: DescribeFastSnapshotRestoreSuccessItem[]; /** - *

                          The Amazon Resource Name (ARN) of an organizational unit (OU).

                          + *

                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          */ - OrganizationalUnitArn?: string; + NextToken?: string; } -export namespace LaunchPermission { +export namespace DescribeFastSnapshotRestoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchPermission): any => ({ + export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresResult): any => ({ ...obj, }); } -/** - *

                          Describes an image attribute.

                          - */ -export interface ImageAttribute { - /** - *

                          The block device mapping entries.

                          - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

                          The ID of the AMI.

                          - */ - ImageId?: string; - - /** - *

                          The launch permissions.

                          - */ - LaunchPermissions?: LaunchPermission[]; +export enum FleetEventType { + FLEET_CHANGE = "fleet-change", + INSTANCE_CHANGE = "instance-change", + SERVICE_ERROR = "service-error", +} +export interface DescribeFleetHistoryRequest { /** - *

                          The product codes.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - ProductCodes?: ProductCode[]; + DryRun?: boolean; /** - *

                          A description for the AMI.

                          + *

                          The type of events to describe. By default, all events are described.

                          */ - Description?: AttributeValue; + EventType?: FleetEventType | string; /** - *

                          The kernel ID.

                          + *

                          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.

                          */ - KernelId?: AttributeValue; + MaxResults?: number; /** - *

                          The RAM disk ID.

                          + *

                          The token for the next set of results.

                          */ - RamdiskId?: AttributeValue; + NextToken?: string; /** - *

                          Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                          + *

                          The ID of the EC2 Fleet.

                          */ - SriovNetSupport?: AttributeValue; + FleetId: string | undefined; /** - *

                          Describes a value for a resource attribute that is a String.

                          + *

                          The start date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                          */ - BootMode?: AttributeValue; + StartTime: Date | undefined; } -export namespace ImageAttribute { +export namespace DescribeFleetHistoryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImageAttribute): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetHistoryRequest): any => ({ ...obj, }); } -export interface DescribeImagesRequest { +/** + *

                          Describes an EC2 Fleet or Spot Fleet event.

                          + */ +export interface EventInformation { /** - *

                          Scopes the images by users with explicit launch permissions. - * Specify an Amazon Web Services account ID, self (the sender of the request), - * or all (public AMIs).

                          - *
                            - *
                          • - *

                            If you specify an Amazon Web Services account ID that is not your own, only AMIs - * shared with that specific Amazon Web Services account ID are returned. However, AMIs that - * are shared with the account’s organization or organizational unit (OU) are not - * returned.

                            - *
                          • - *
                          • - *

                            If you specify self or your own Amazon Web Services account ID, AMIs - * shared with your account are returned. In addition, AMIs that are shared with the - * organization or OU of which you are member are also returned.

                            - *
                          • - *
                          • - *

                            If you specify all, all public AMIs are returned.

                            - *
                          • - *
                          + *

                          The description of the event.

                          */ - ExecutableUsers?: string[]; + EventDescription?: string; /** - *

                          The filters.

                          - *
                            + *

                            The event.

                            + * + *

                            + * error events:

                            + *
                              *
                            • - *

                              - * architecture - The image architecture (i386 | - * x86_64 | arm64).

                              + *

                              + * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required + * permissions either to launch or terminate an instance.

                              *
                            • *
                            • - *

                              - * block-device-mapping.delete-on-termination - A Boolean value that indicates - * whether the Amazon EBS volume is deleted on instance termination.

                              + *

                              + * allLaunchSpecsTemporarilyBlacklisted - None of the configurations + * are valid, and several attempts to launch instances have failed. For more + * information, see the description of the event.

                              *
                            • *
                            • - *

                              - * block-device-mapping.device-name - The device name specified in the block device mapping (for - * example, /dev/sdh or xvdh).

                              + *

                              + * spotInstanceCountLimitExceeded - You've reached the limit on the + * number of Spot Instances that you can launch.

                              *
                            • *
                            • - *

                              - * block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS - * volume.

                              + *

                              + * spotFleetRequestConfigurationInvalid - The configuration is not + * valid. For more information, see the description of the event.

                              *
                            • + *
                            + * + *

                            + * fleetRequestChange events:

                            + *
                              *
                            • - *

                              - * block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

                              + *

                              + * active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is + * attempting to maintain the target number of running instances.

                              *
                            • *
                            • - *

                              - * block-device-mapping.volume-type - The volume type of the Amazon EBS volume - * (io1 | io2 | gp2 | gp3 | sc1 - * | st1 | standard).

                              + *

                              + * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has no running + * instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are + * terminated.

                              *
                            • *
                            • - *

                              - * block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

                              - *
                            • - *
                            • - *

                              - * description - The description of the image (provided during image - * creation).

                              + *

                              + * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled and does + * not launch additional instances. Its existing instances continue to run until + * they are interrupted or terminated. The request remains in this state until all + * instances are interrupted or terminated.

                              *
                            • *
                            • - *

                              - * ena-support - A Boolean that indicates whether enhanced networking - * with ENA is enabled.

                              + *

                              + * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled and + * its instances are terminating. The request remains in this state until all + * instances are terminated.

                              *
                            • *
                            • - *

                              - * hypervisor - The hypervisor type (ovm | - * xen).

                              + *

                              + * expired - The EC2 Fleet or Spot Fleet request has expired. If the request was + * created with TerminateInstancesWithExpiration set, a subsequent + * terminated event indicates that the instances are + * terminated.

                              *
                            • *
                            • - *

                              - * image-id - The ID of the image.

                              + *

                              + * modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. + * The request remains in this state until the modification is fully + * processed.

                              *
                            • *
                            • - *

                              - * image-type - The image type (machine | kernel | - * ramdisk).

                              + *

                              + * modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

                              *
                            • *
                            • - *

                              - * is-public - A Boolean that indicates whether the image is public.

                              + *

                              + * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 + * is preparing to launch the target number of instances.

                              *
                            • *
                            • - *

                              - * kernel-id - The kernel ID.

                              - *
                            • - *
                            • - *

                              - * manifest-location - The location of the image manifest.

                              - *
                            • - *
                            • - *

                              - * name - The name of the AMI (provided during image creation).

                              - *
                            • - *
                            • - *

                              - * owner-alias - The owner alias (amazon | aws-marketplace). - * The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be - * set using the IAM console. We recommend that you use the Owner - * request parameter instead of this filter.

                              - *
                            • - *
                            • - *

                              - * owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the - * Owner request parameter instead of this filter.

                              - *
                            • - *
                            • - *

                              - * platform - The platform. To only list Windows-based AMIs, use - * windows.

                              - *
                            • - *
                            • - *

                              - * product-code - The product code.

                              - *
                            • - *
                            • - *

                              - * product-code.type - The type of the product code (marketplace).

                              - *
                            • - *
                            • - *

                              - * ramdisk-id - The RAM disk ID.

                              - *
                            • - *
                            • - *

                              - * root-device-name - The device name of the root device volume (for example, /dev/sda1).

                              - *
                            • - *
                            • - *

                              - * root-device-type - The type of the root device volume (ebs | - * instance-store).

                              + *

                              + * progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

                              *
                            • + *
                            + * + *

                            + * instanceChange events:

                            + *
                              *
                            • - *

                              - * state - The state of the image (available | pending - * | failed).

                              + *

                              + * launched - A new instance was launched.

                              *
                            • *
                            • - *

                              - * state-reason-code - The reason code for the state change.

                              + *

                              + * terminated - An instance was terminated by the user.

                              *
                            • *
                            • - *

                              - * state-reason-message - The message for the state change.

                              + *

                              + * termination_notified - An instance termination notification was + * sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target + * capacity of the fleet was modified down, for example, from a target capacity of + * 4 to a target capacity of 3.

                              *
                            • + *
                            + * + *

                            + * Information events:

                            + *
                              *
                            • *

                              - * sriov-net-support - A value of simple indicates - * that enhanced networking with the Intel 82599 VF interface is enabled.

                              + * fleetProgressHalted - The price in every launch specification is + * not valid because it is below the Spot price (all the launch specifications have + * produced launchSpecUnusable events). A launch specification might + * become valid if the Spot price changes.

                              *
                            • *
                            • - *

                              - * 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.

                              + *

                              + * launchSpecTemporarilyBlacklisted - The configuration is not valid + * and several attempts to launch instances have failed. For more information, see + * the description of the event.

                              *
                            • *
                            • - *

                              - * 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.

                              + *

                              + * launchSpecUnusable - The price in a launch specification is not + * valid because it is below the Spot price.

                              *
                            • *
                            • - *

                              - * virtualization-type - The virtualization type (paravirtual | - * hvm).

                              + *

                              + * registerWithLoadBalancersFailed - An attempt to register + * instances with load balancers failed. For more information, see the description + * of the event.

                              *
                            • *
                            */ - Filters?: Filter[]; + EventSubType?: string; /** - *

                            The image IDs.

                            - *

                            Default: Describes all images available to you.

                            + *

                            The ID of the instance. This information is available only for + * instanceChange events.

                            */ - ImageIds?: string[]; + InstanceId?: string; +} +export namespace EventInformation { /** - *

                            Scopes the results to images with the specified owners. You can specify a combination of - * Amazon Web Services 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.

                            + * @internal */ - Owners?: string[]; + export const filterSensitiveLog = (obj: EventInformation): any => ({ + ...obj, + }); +} +/** + *

                            Describes an event in the history of an EC2 Fleet.

                            + */ +export interface HistoryRecordEntry { /** - *

                            If true, all deprecated AMIs are included in the response. If - * false, no deprecated AMIs are included in the response. If no value is - * specified, the default value is false.

                            - * - *

                            If you are the AMI owner, all deprecated AMIs appear in the response regardless of the value (true or false) that you set for this parameter.

                            - *
                            + *

                            Information about the event.

                            */ - IncludeDeprecated?: boolean; + EventInformation?: EventInformation; /** - *

                            Checks whether you have the required permissions for the action, without 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 event type.

                            */ - DryRun?: boolean; + EventType?: FleetEventType | string; + + /** + *

                            The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                            + */ + Timestamp?: Date; } -export namespace DescribeImagesRequest { +export namespace HistoryRecordEntry { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImagesRequest): any => ({ + export const filterSensitiveLog = (obj: HistoryRecordEntry): any => ({ ...obj, }); } -export type ArchitectureValues = "arm64" | "i386" | "x86_64" | "x86_64_mac"; - -export type BootModeValues = "legacy-bios" | "uefi"; - -export type HypervisorType = "ovm" | "xen"; - -export type ImageTypeValues = "kernel" | "machine" | "ramdisk"; +export interface DescribeFleetHistoryResult { + /** + *

                            Information about the events in the history of the EC2 Fleet.

                            + */ + HistoryRecords?: HistoryRecordEntry[]; -export type DeviceType = "ebs" | "instance-store"; + /** + *

                            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.

                            + */ + LastEvaluatedTime?: Date; -export type ImageState = "available" | "deregistered" | "error" | "failed" | "invalid" | "pending" | "transient"; + /** + *

                            The token for the next set of results.

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

                            Describes a state change.

                            - */ -export interface StateReason { /** - *

                            The reason code for the state change.

                            + *

                            The ID of the EC Fleet.

                            */ - Code?: string; + FleetId?: string; /** - *

                            The message for the state change.

                            - *
                              - *
                            • - *

                              - * Server.InsufficientInstanceCapacity: There was insufficient - * capacity available to satisfy the launch request.

                              - *
                            • - *
                            • - *

                              - * Server.InternalError: An internal error caused the instance to - * terminate during launch.

                              - *
                            • - *
                            • - *

                              - * Server.ScheduledStop: The instance was stopped due to a scheduled - * retirement.

                              - *
                            • - *
                            • - *

                              - * Server.SpotInstanceShutdown: The instance was stopped because the - * number of Spot requests with a maximum price equal to or higher than the Spot - * price exceeded available capacity or because of an increase in the Spot - * price.

                              - *
                            • - *
                            • - *

                              - * Server.SpotInstanceTermination: The instance was terminated - * because the number of Spot requests with a maximum price equal to or higher than - * the Spot price exceeded available capacity or because of an increase in the Spot - * price.

                              - *
                            • - *
                            • - *

                              - * Client.InstanceInitiatedShutdown: The instance was shut down - * using the shutdown -h command from the instance.

                              - *
                            • - *
                            • - *

                              - * Client.InstanceTerminated: The instance was terminated or - * rebooted during AMI creation.

                              - *
                            • - *
                            • - *

                              - * Client.InternalError: A client error caused the instance to - * terminate during launch.

                              - *
                            • - *
                            • - *

                              - * Client.InvalidSnapshot.NotFound: The specified snapshot was not - * found.

                              - *
                            • - *
                            • - *

                              - * Client.UserInitiatedHibernate: Hibernation was initiated on the - * instance.

                              - *
                            • - *
                            • - *

                              - * Client.UserInitiatedShutdown: The instance was shut down using - * the Amazon EC2 API.

                              - *
                            • - *
                            • - *

                              - * Client.VolumeLimitExceeded: The limit on the number of EBS - * volumes or total storage was exceeded. Decrease usage or request an increase in - * your account limits.

                              - *
                            • - *
                            + *

                            The start date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                            */ - Message?: string; + StartTime?: Date; } -export namespace StateReason { +export namespace DescribeFleetHistoryResult { /** * @internal */ - export const filterSensitiveLog = (obj: StateReason): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetHistoryResult): any => ({ ...obj, }); } -export type VirtualizationType = "hvm" | "paravirtual"; - -/** - *

                            Describes an image.

                            - */ -export interface Image { +export interface DescribeFleetInstancesRequest { /** - *

                            The architecture of the image.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Architecture?: ArchitectureValues | string; + DryRun?: boolean; /** - *

                            The date and time the image was created.

                            + *

                            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.

                            */ - CreationDate?: string; + MaxResults?: number; /** - *

                            The ID of the AMI.

                            + *

                            The token for the next set of results.

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

                            The location of the AMI.

                            + *

                            The ID of the EC2 Fleet.

                            */ - ImageLocation?: string; + FleetId: string | undefined; /** - *

                            The type of image.

                            + *

                            The filters.

                            + *
                              + *
                            • + *

                              + * instance-type - The instance type.

                              + *
                            • + *
                            */ - ImageType?: ImageTypeValues | string; + Filters?: Filter[]; +} +export namespace DescribeFleetInstancesRequest { /** - *

                            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.

                            + * @internal */ - Public?: boolean; + export const filterSensitiveLog = (obj: DescribeFleetInstancesRequest): any => ({ + ...obj, + }); +} +export interface DescribeFleetInstancesResult { /** - *

                            The kernel associated with the image, if any. Only applicable for machine images.

                            + *

                            The running instances. This list is refreshed periodically and might be out of + * date.

                            */ - KernelId?: string; + ActiveInstances?: ActiveInstance[]; /** - *

                            The ID of the Amazon Web Services account that owns the image.

                            + *

                            The token for the next set of results.

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

                            This value is set to windows for Windows AMIs; otherwise, it is blank.

                            + *

                            The ID of the EC2 Fleet.

                            */ - Platform?: PlatformValues | string; + FleetId?: string; +} +export namespace DescribeFleetInstancesResult { /** - *

                            The platform details associated with the billing code of the AMI. For more information, - * see Understanding - * AMI billing in the Amazon Elastic Compute Cloud User Guide.

                            + * @internal */ - PlatformDetails?: string; + export const filterSensitiveLog = (obj: DescribeFleetInstancesResult): any => ({ + ...obj, + }); +} +export interface DescribeFleetsRequest { /** - *

                            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 Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price - * List API. You can view these fields on the Instances or - * AMIs pages in the Amazon EC2 console, or in the responses that are - * returned by the DescribeImages - * command in the Amazon EC2 API, or the describe-images - * command in the CLI.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - UsageOperation?: string; + DryRun?: boolean; /** - *

                            Any product codes associated with the AMI.

                            + *

                            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.

                            */ - ProductCodes?: ProductCode[]; + MaxResults?: number; /** - *

                            The RAM disk associated with the image, if any. Only applicable for machine images.

                            + *

                            The token for the next set of results.

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

                            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 ID of the EC2 Fleets.

                            */ - State?: ImageState | string; + FleetIds?: string[]; /** - *

                            Any block device mapping entries.

                            + *

                            The filters.

                            + *
                              + *
                            • + *

                              + * activity-status - The progress of the EC2 Fleet ( error | + * pending-fulfillment | pending-termination | + * fulfilled).

                              + *
                            • + *
                            • + *

                              + * excess-capacity-termination-policy - Indicates whether to terminate + * running instances if the target capacity is decreased below the current EC2 Fleet size + * (true | false).

                              + *
                            • + *
                            • + *

                              + * fleet-state - The state of the EC2 Fleet (submitted | + * active | deleted | failed | + * deleted-running | deleted-terminating | + * modifying).

                              + *
                            • + *
                            • + *

                              + * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace + * unhealthy instances (true | false).

                              + *
                            • + *
                            • + *

                              + * type - The type of request (instant | + * request | maintain).

                              + *
                            • + *
                            */ - BlockDeviceMappings?: BlockDeviceMapping[]; + Filters?: Filter[]; +} +export namespace DescribeFleetsRequest { /** - *

                            The description of the AMI that was provided during image creation.

                            + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: DescribeFleetsRequest): any => ({ + ...obj, + }); +} +export enum FleetActivityStatus { + ERROR = "error", + FULFILLED = "fulfilled", + PENDING_FULFILLMENT = "pending_fulfillment", + PENDING_TERMINATION = "pending_termination", +} + +/** + *

                            Describes the instances that could not be launched by the fleet.

                            + */ +export interface DescribeFleetError { /** - *

                            Specifies whether enhanced networking with ENA is enabled.

                            + *

                            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.

                            */ - EnaSupport?: boolean; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                            The hypervisor type of the image.

                            + *

                            Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                            */ - Hypervisor?: HypervisorType | string; + Lifecycle?: InstanceLifecycle | string; /** - *

                            The Amazon Web Services account alias (for example, amazon, self) or - * the Amazon Web Services account ID of the AMI owner.

                            + *

                            The error code that indicates why the instance could not be launched. For more + * information about error codes, see Error Codes.

                            */ - ImageOwnerAlias?: string; + ErrorCode?: string; /** - *

                            The name of the AMI that was provided during image creation.

                            + *

                            The error message that describes why the instance could not be launched. For more + * information about error messages, see Error Codes.

                            */ - Name?: string; + ErrorMessage?: string; +} +export namespace DescribeFleetError { /** - *

                            The device name of the root device volume (for example, /dev/sda1).

                            + * @internal */ - RootDeviceName?: string; + export const filterSensitiveLog = (obj: DescribeFleetError): any => ({ + ...obj, + }); +} +/** + *

                            Describes the instances that were launched by the fleet.

                            + */ +export interface DescribeFleetsInstances { /** - *

                            The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

                            + *

                            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.

                            */ - RootDeviceType?: DeviceType | string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                            Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                            + *

                            Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                            */ - SriovNetSupport?: string; + Lifecycle?: InstanceLifecycle | string; /** - *

                            The reason for the state change.

                            + *

                            The IDs of the instances.

                            */ - StateReason?: StateReason; + InstanceIds?: string[]; /** - *

                            Any tags assigned to the image.

                            + *

                            The instance type.

                            */ - Tags?: Tag[]; + InstanceType?: _InstanceType | string; /** - *

                            The type of virtualization of the AMI.

                            + *

                            The value is Windows for Windows instances. Otherwise, the value is + * blank.

                            */ - VirtualizationType?: VirtualizationType | string; + Platform?: PlatformValues | string; +} +export namespace DescribeFleetsInstances { /** - *

                            The boot mode of the image. For more information, see Boot modes in the - * Amazon Elastic Compute Cloud User Guide.

                            + * @internal */ - BootMode?: BootModeValues | string; + export const filterSensitiveLog = (obj: DescribeFleetsInstances): any => ({ + ...obj, + }); +} + +/** + *

                            Describes a launch template and overrides.

                            + */ +export interface FleetLaunchTemplateConfig { + /** + *

                            The launch template.

                            + */ + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; /** - *

                            The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specified a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

                            + *

                            Any parameters that you specify override the same parameters in the launch + * template.

                            */ - DeprecationTime?: string; + Overrides?: FleetLaunchTemplateOverrides[]; } -export namespace Image { +export namespace FleetLaunchTemplateConfig { /** * @internal */ - export const filterSensitiveLog = (obj: Image): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateConfig): any => ({ ...obj, }); } -export interface DescribeImagesResult { +/** + *

                            Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand + * capacity.

                            + * + *

                            This strategy can only be used if the EC2 Fleet is of type + * instant.

                            + *
                            + *

                            For more information about Capacity Reservations, see On-Demand Capacity + * Reservations in the Amazon EC2 User Guide. For examples of using + * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example + * configurations in the Amazon EC2 User Guide.

                            + */ +export interface CapacityReservationOptions { /** - *

                            Information about the images.

                            + *

                            Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

                            + *

                            If you specify use-capacity-reservations-first, the fleet uses unused + * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If + * multiple instance pools have unused Capacity Reservations, the On-Demand allocation + * strategy (lowest-price or prioritized) is applied. If the number + * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining + * On-Demand target capacity is launched according to the On-Demand allocation strategy + * (lowest-price or prioritized).

                            + *

                            If you do not specify a value, the fleet fulfils the On-Demand capacity according to the + * chosen On-Demand allocation strategy.

                            */ - Images?: Image[]; + UsageStrategy?: FleetCapacityReservationUsageStrategy | string; } -export namespace DescribeImagesResult { +export namespace CapacityReservationOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImagesResult): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationOptions): any => ({ ...obj, }); } -export interface DescribeImportImageTasksRequest { +/** + *

                            Describes the configuration of On-Demand Instances in an EC2 Fleet.

                            + */ +export interface OnDemandOptions { /** - *

                            Checks whether you have the required permissions for the action, without 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 strategy that determines the order of the launch template overrides to use in + * fulfilling On-Demand capacity.

                            + *

                            + * lowest-price - EC2 Fleet uses price to determine the order, launching the lowest + * price first.

                            + *

                            + * prioritized - EC2 Fleet uses the priority that you assigned to each launch + * template override, launching the highest priority first.

                            + *

                            Default: lowest-price + *

                            */ - DryRun?: boolean; + AllocationStrategy?: FleetOnDemandAllocationStrategy | string; /** - *

                            Filter tasks using the task-state filter and one of the following values: active, - * completed, deleting, or deleted.

                            + *

                            The strategy for using unused Capacity Reservations for fulfilling On-Demand + * capacity.

                            + *

                            Supported only for fleets of type instant.

                            */ - Filters?: Filter[]; + CapacityReservationOptions?: CapacityReservationOptions; /** - *

                            The IDs of the import image tasks.

                            + *

                            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.

                            */ - ImportTaskIds?: string[]; + SingleInstanceType?: boolean; /** - *

                            The maximum number of results to return in a single call.

                            + *

                            Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

                            + *

                            Supported only for fleets of type instant.

                            */ - MaxResults?: number; + SingleAvailabilityZone?: boolean; /** - *

                            A token that indicates the next page of results.

                            + *

                            The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                            + *

                            Supported only for fleets of type instant.

                            + *

                            At least one of the following must be specified: SingleAvailabilityZone | + * SingleInstanceType + *

                            */ - NextToken?: string; + MinTargetCapacity?: number; + + /** + *

                            The maximum amount per hour for On-Demand Instances that you're willing to pay.

                            + */ + MaxTotalPrice?: string; } -export namespace DescribeImportImageTasksRequest { +export namespace OnDemandOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportImageTasksRequest): any => ({ + export const filterSensitiveLog = (obj: OnDemandOptions): any => ({ ...obj, }); } /** - *

                            The response information for license configurations.

                            + *

                            The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

                            */ -export interface ImportImageLicenseConfigurationResponse { +export interface FleetSpotCapacityRebalance { /** - *

                            The ARN of a license configuration.

                            + *

                            The replacement strategy to use. Only available for fleets of type + * maintain.

                            + *

                            + * launch - EC2 Fleet launches a new replacement Spot Instance when a + * rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet + * does not terminate the instances that receive a rebalance notification. You can terminate + * the old instances, or you can leave them running. You are charged for all instances while + * they are running.

                            + *

                            + * launch-before-terminate - EC2 Fleet launches a new replacement Spot + * Instance when a rebalance notification is emitted for an existing Spot Instance in the + * fleet, and then, after a delay that you specify (in TerminationDelay), + * terminates the instances that received a rebalance notification.

                            */ - LicenseConfigurationArn?: string; + ReplacementStrategy?: FleetReplacementStrategy | string; + + /** + *

                            The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot + * Instance after launching a new replacement Spot Instance.

                            + *

                            Valid only when replacementStrategy is set to launch-before-terminate.

                            + *

                            Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

                            + */ + TerminationDelay?: number; } -export namespace ImportImageLicenseConfigurationResponse { +export namespace FleetSpotCapacityRebalance { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationResponse): any => ({ + export const filterSensitiveLog = (obj: FleetSpotCapacityRebalance): any => ({ ...obj, }); } /** - *

                            Describes the Amazon S3 bucket for the disk image.

                            + *

                            The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

                            */ -export interface UserBucketDetails { - /** - *

                            The Amazon S3 bucket from which the disk image was created.

                            - */ - S3Bucket?: string; - +export interface FleetSpotMaintenanceStrategies { /** - *

                            The file name of the disk image.

                            + *

                            The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

                            */ - S3Key?: string; + CapacityRebalance?: FleetSpotCapacityRebalance; } -export namespace UserBucketDetails { +export namespace FleetSpotMaintenanceStrategies { /** * @internal */ - export const filterSensitiveLog = (obj: UserBucketDetails): any => ({ + export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategies): any => ({ ...obj, }); } /** - *

                            Describes the snapshot created from the imported disk.

                            + *

                            Describes the configuration of Spot Instances in an EC2 Fleet.

                            */ -export interface SnapshotDetail { - /** - *

                            A description for the snapshot.

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

                            The block device mapping for the snapshot.

                            - */ - DeviceName?: string; - +export interface SpotOptions { /** - *

                            The size of the disk in the snapshot, in GiB.

                            + *

                            The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance + * pools specified by the EC2 Fleet.

                            + *

                            + * lowest-price - EC2 Fleet launches instances from the Spot Instance pools with the lowest + * price.

                            + *

                            + * diversified - EC2 Fleet launches instances from all of the Spot Instance pools that you + * specify.

                            + *

                            + * capacity-optimized (recommended) - EC2 Fleet launches instances from Spot Instance pools + * with optimal capacity for the number of instances that are launching. To give certain + * instance types a higher chance of launching first, use + * capacity-optimized-prioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You can + * assign the same priority to different LaunchTemplateOverrides. EC2 implements + * the priorities on a best-effort basis, but optimizes for capacity first. + * capacity-optimized-prioritized is supported only if your fleet uses a + * launch template. Note that if the On-Demand AllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

                            + *

                            Default: lowest-price + *

                            */ - DiskImageSize?: number; + AllocationStrategy?: SpotAllocationStrategy | string; /** - *

                            The format of the disk image from which the snapshot is created.

                            + *

                            The strategies for managing your workloads on your Spot Instances that will be + * interrupted. Currently only the capacity rebalance strategy is available.

                            */ - Format?: string; + MaintenanceStrategies?: FleetSpotMaintenanceStrategies; /** - *

                            The percentage of progress for the task.

                            + *

                            The behavior when a Spot Instance is interrupted.

                            + *

                            Default: terminate + *

                            */ - Progress?: string; + InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; /** - *

                            The snapshot ID of the disk being imported.

                            + *

                            The number of Spot pools across which to allocate your target Spot capacity. Supported + * 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.

                            + *

                            Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of pools + * that you specified.

                            */ - SnapshotId?: string; + InstancePoolsToUseCount?: number; /** - *

                            A brief status of the snapshot creation.

                            + *

                            Indicates that the fleet uses a single instance type to launch all Spot Instances in the + * fleet.

                            + *

                            Supported only for fleets of type instant.

                            */ - Status?: string; + SingleInstanceType?: boolean; /** - *

                            A detailed status message for the snapshot creation.

                            + *

                            Indicates that the fleet launches all Spot Instances into a single Availability Zone.

                            + *

                            Supported only for fleets of type instant.

                            */ - StatusMessage?: string; + SingleAvailabilityZone?: boolean; /** - *

                            The URL used to access the disk image.

                            + *

                            The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                            + *

                            Supported only for fleets of type instant.

                            + *

                            At least one of the following must be specified: SingleAvailabilityZone | + * SingleInstanceType + *

                            */ - Url?: string; + MinTargetCapacity?: number; /** - *

                            The Amazon S3 bucket for the disk image.

                            + *

                            The maximum amount per hour for Spot Instances that you're willing to pay.

                            */ - UserBucket?: UserBucketDetails; + MaxTotalPrice?: string; } -export namespace SnapshotDetail { +export namespace SpotOptions { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotDetail): any => ({ + export const filterSensitiveLog = (obj: SpotOptions): any => ({ ...obj, }); } /** - *

                            Describes an import image task.

                            + *

                            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.

                            + *

                            You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance + * MaxTotalPrice, or both 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, EC2 Fleet + * will launch instances until it reaches the maximum amount that 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 MaxTotalPrice parameters are + * located in OnDemandOptions + * and SpotOptions.

                            */ -export interface ImportImageTask { +export interface TargetCapacitySpecification { /** - *

                            The architecture of the virtual machine.

                            - *

                            Valid values: i386 | x86_64 | arm64 - *

                            + *

                            The number of units to request, filled using + * DefaultTargetCapacityType.

                            */ - Architecture?: string; + TotalTargetCapacity?: number; /** - *

                            A description of the import task.

                            + *

                            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.

                            */ - Description?: string; + OnDemandTargetCapacity?: number; /** - *

                            Indicates whether the image is encrypted.

                            + *

                            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.

                            */ - Encrypted?: boolean; + SpotTargetCapacity?: number; /** - *

                            The target hypervisor for the import task.

                            - *

                            Valid values: xen - *

                            + *

                            The default TotalTargetCapacity, which is either Spot or + * On-Demand.

                            */ - Hypervisor?: string; + DefaultTargetCapacityType?: DefaultTargetCapacityType | string; /** - *

                            The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

                            + *

                            The unit for the target capacity.

                            + *

                            Default: units (translates to number of instances)

                            */ - ImageId?: string; + TargetCapacityUnitType?: TargetCapacityUnitType | string; +} +export namespace TargetCapacitySpecification { /** - *

                            The ID of the import image task.

                            + * @internal */ - ImportTaskId?: string; + export const filterSensitiveLog = (obj: TargetCapacitySpecification): any => ({ + ...obj, + }); +} +/** + *

                            Describes an EC2 Fleet.

                            + */ +export interface FleetData { /** - *

                            The identifier for the KMS key that was used to create the encrypted image.

                            + *

                            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.

                            */ - KmsKeyId?: string; + ActivityStatus?: FleetActivityStatus | string; /** - *

                            The license type of the virtual machine.

                            + *

                            The creation date and time of the EC2 Fleet.

                            */ - LicenseType?: string; + CreateTime?: Date; /** - *

                            The description string for the import image task.

                            + *

                            The ID of the EC2 Fleet.

                            */ - Platform?: string; + FleetId?: string; /** - *

                            The percentage of progress of the import image task.

                            + *

                            The state of the EC2 Fleet.

                            */ - Progress?: string; + FleetState?: FleetStateCode | string; /** - *

                            Information about the snapshots.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                            + *

                            Constraints: Maximum 64 ASCII characters

                            */ - SnapshotDetails?: SnapshotDetail[]; + ClientToken?: string; /** - *

                            A brief status for the import image task.

                            + *

                            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.

                            */ - Status?: string; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; /** - *

                            A descriptive status message for the import image task.

                            + *

                            The number of units fulfilled by this request compared to the set target + * capacity.

                            */ - StatusMessage?: string; + FulfilledCapacity?: number; /** - *

                            The tags for the import image task.

                            + *

                            The number of units fulfilled by this request compared to the set target On-Demand + * capacity.

                            + */ + FulfilledOnDemandCapacity?: number; + + /** + *

                            The launch template and overrides.

                            + */ + 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.

                            + */ + TargetCapacitySpecification?: TargetCapacitySpecification; + + /** + *

                            Indicates whether running instances should be terminated when the EC2 Fleet expires.

                            + */ + TerminateInstancesWithExpiration?: boolean; + + /** + *

                            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.

                            + */ + Type?: FleetType | 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.

                            + */ + ValidFrom?: Date; + + /** + *

                            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.

                            + */ + ValidUntil?: Date; + + /** + *

                            Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for + * fleets of type maintain. For more information, see EC2 Fleet + * health checks in the Amazon EC2 User Guide.

                            + */ + ReplaceUnhealthyInstances?: boolean; + + /** + *

                            The configuration of Spot Instances in an EC2 Fleet.

                            + */ + SpotOptions?: SpotOptions; + + /** + *

                            The allocation strategy of On-Demand Instances in an EC2 Fleet.

                            + */ + OnDemandOptions?: OnDemandOptions; + + /** + *

                            The tags for an EC2 Fleet resource.

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

                            The ARNs of the license configurations that are associated with the import image task.

                            + *

                            Information about the instances that could not be launched by the fleet. Valid only when + * Type is set to instant.

                            */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + Errors?: DescribeFleetError[]; /** - *

                            The usage operation value.

                            + *

                            Information about the instances that were launched by the fleet. Valid only when + * Type is set to instant.

                            */ - UsageOperation?: string; + Instances?: DescribeFleetsInstances[]; /** - *

                            The boot mode of the virtual machine.

                            + *

                            Reserved.

                            */ - BootMode?: BootModeValues | string; + Context?: string; } -export namespace ImportImageTask { +export namespace FleetData { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageTask): any => ({ + export const filterSensitiveLog = (obj: FleetData): any => ({ ...obj, }); } -export interface DescribeImportImageTasksResult { +export interface DescribeFleetsResult { /** - *

                            A list of zero or more import image tasks that are currently active or were completed or canceled in the - * previous 7 days.

                            + *

                            The token for the next set of results.

                            */ - ImportImageTasks?: ImportImageTask[]; + NextToken?: string; /** - *

                            The token to use to get the next page of results. This value is null when there are no more results - * to return.

                            + *

                            Information about the EC2 Fleets.

                            */ - NextToken?: string; + Fleets?: FleetData[]; } -export namespace DescribeImportImageTasksResult { +export namespace DescribeFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportImageTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetsResult): any => ({ ...obj, }); } -export interface DescribeImportSnapshotTasksRequest { +export interface DescribeFlowLogsRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1663,186 +1929,233 @@ export interface DescribeImportSnapshotTasksRequest { DryRun?: boolean; /** - *

                            The filters.

                            + *

                            One or more filters.

                            + *
                              + *
                            • + *

                              + * deliver-log-status - The status of the logs delivery (SUCCESS | + * FAILED).

                              + *
                            • + *
                            • + *

                              + * log-destination-type - The type of destination to which the flow + * log publishes data. Possible destination types include + * cloud-watch-logs and s3.

                              + *
                            • + *
                            • + *

                              + * flow-log-id - The ID of the flow log.

                              + *
                            • + *
                            • + *

                              + * log-group-name - The name of the log group.

                              + *
                            • + *
                            • + *

                              + * resource-id - The ID of the VPC, subnet, or network interface.

                              + *
                            • + *
                            • + *

                              + * traffic-type - The type of traffic (ACCEPT | + * REJECT | ALL).

                              + *
                            • + *
                            • + *

                              + * 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[]; + Filter?: Filter[]; /** - *

                            A list of import snapshot task IDs.

                            + *

                            One or more flow log IDs.

                            + *

                            Constraint: Maximum of 1000 flow log IDs.

                            */ - ImportTaskIds?: string[]; + FlowLogIds?: 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.

                            + *

                            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; /** - *

                            A token that indicates the next page of results.

                            + *

                            The token for the next page of results.

                            */ NextToken?: string; } -export namespace DescribeImportSnapshotTasksRequest { +export namespace DescribeFlowLogsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFlowLogsRequest): any => ({ ...obj, }); } /** - *

                            Details about the import snapshot task.

                            + *

                            Describes the destination options for a flow log.

                            */ -export interface SnapshotTaskDetail { +export interface DestinationOptionsResponse { /** - *

                            The description of the snapshot.

                            + *

                            The format for the flow log.

                            */ - Description?: string; + FileFormat?: DestinationFileFormat | string; /** - *

                            The size of the disk in the snapshot, in GiB.

                            + *

                            Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

                            */ - DiskImageSize?: number; + HiveCompatiblePartitions?: boolean; /** - *

                            Indicates whether the snapshot is encrypted.

                            + *

                            Indicates whether to partition the flow log per hour.

                            */ - Encrypted?: boolean; + PerHourPartition?: boolean; +} +export namespace DestinationOptionsResponse { /** - *

                            The format of the disk image from which the snapshot is created.

                            + * @internal */ - Format?: string; + export const filterSensitiveLog = (obj: DestinationOptionsResponse): any => ({ + ...obj, + }); +} +/** + *

                            Describes a flow log.

                            + */ +export interface FlowLog { /** - *

                            The identifier for the KMS key that was used to create the encrypted snapshot.

                            + *

                            The date and time the flow log was created.

                            */ - KmsKeyId?: string; + CreationTime?: Date; /** - *

                            The percentage of completion for the import snapshot task.

                            + *

                            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.

                            */ - Progress?: string; + DeliverLogsErrorMessage?: string; /** - *

                            The snapshot ID of the disk being imported.

                            + *

                            The ARN of the IAM role that posts logs to CloudWatch Logs.

                            */ - SnapshotId?: string; + DeliverLogsPermissionArn?: string; /** - *

                            A brief status for the import snapshot task.

                            + *

                            The status of the logs delivery (SUCCESS | FAILED).

                            */ - Status?: string; + DeliverLogsStatus?: string; /** - *

                            A detailed status message for the import snapshot task.

                            + *

                            The flow log ID.

                            */ - StatusMessage?: string; + FlowLogId?: string; /** - *

                            The URL of the disk image from which the snapshot is created.

                            + *

                            The status of the flow log (ACTIVE).

                            */ - Url?: string; + FlowLogStatus?: string; /** - *

                            The Amazon S3 bucket for the disk image.

                            + *

                            The name of the flow log group.

                            */ - UserBucket?: UserBucketDetails; -} + LogGroupName?: string; -export namespace SnapshotTaskDetail { /** - * @internal + *

                            The ID of the resource on which the flow log was created.

                            */ - export const filterSensitiveLog = (obj: SnapshotTaskDetail): any => ({ - ...obj, - }); -} + ResourceId?: string; -/** - *

                            Describes an import snapshot task.

                            - */ -export interface ImportSnapshotTask { /** - *

                            A description of the import snapshot task.

                            + *

                            The type of traffic captured for the flow log.

                            */ - Description?: string; + TrafficType?: TrafficType | string; /** - *

                            The ID of the import snapshot task.

                            + *

                            The type of destination to which the flow log data is published. Flow log data can be + * published to CloudWatch Logs or Amazon S3.

                            */ - ImportTaskId?: string; + LogDestinationType?: LogDestinationType | string; /** - *

                            Describes an import snapshot task.

                            + *

                            The destination to which the flow log data is published. Flow log data can be + * published to an CloudWatch Logs log group or an Amazon S3 bucket. If the flow log publishes to CloudWatch Logs, + * this element indicates the Amazon Resource Name (ARN) of the CloudWatch Logs log group to which + * the data is published. If the flow log publishes to Amazon S3, this element indicates the ARN + * of the Amazon S3 bucket to which the data is published.

                            */ - SnapshotTaskDetail?: SnapshotTaskDetail; + LogDestination?: string; /** - *

                            The tags for the import snapshot task.

                            + *

                            The format of the flow log record.

                            + */ + LogFormat?: string; + + /** + *

                            The tags for the flow log.

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

                            The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

                            + *

                            When a network interface is attached to a Nitro-based + * instance, the aggregation interval is always 60 seconds (1 minute) or less, + * regardless of the specified value.

                            + *

                            Valid Values: 60 | 600 + *

                            + */ + MaxAggregationInterval?: number; + + /** + *

                            The destination options.

                            + */ + DestinationOptions?: DestinationOptionsResponse; } -export namespace ImportSnapshotTask { +export namespace FlowLog { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotTask): any => ({ + export const filterSensitiveLog = (obj: FlowLog): any => ({ ...obj, }); } -export interface DescribeImportSnapshotTasksResult { +export interface DescribeFlowLogsResult { /** - *

                            A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the - * previous 7 days.

                            + *

                            Information about the flow logs.

                            */ - ImportSnapshotTasks?: ImportSnapshotTask[]; + FlowLogs?: FlowLog[]; /** - *

                            The token to use to get 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 DescribeImportSnapshotTasksResult { +export namespace DescribeFlowLogsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFlowLogsResult): any => ({ ...obj, }); } -export type InstanceAttributeName = - | "blockDeviceMapping" - | "disableApiTermination" - | "ebsOptimized" - | "enaSupport" - | "enclaveOptions" - | "groupSet" - | "instanceInitiatedShutdownBehavior" - | "instanceType" - | "kernel" - | "productCodes" - | "ramdisk" - | "rootDeviceName" - | "sourceDestCheck" - | "sriovNetSupport" - | "userData"; - -export interface DescribeInstanceAttributeRequest { - /** - *

                            The instance attribute.

                            - *

                            Note: The enaSupport attribute is not supported at this time.

                            - */ - Attribute: InstanceAttributeName | string | undefined; +export type FpgaImageAttributeName = "description" | "loadPermission" | "name" | "productCodes"; +export interface DescribeFpgaImageAttributeRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1851,4299 +2164,3257 @@ export interface DescribeInstanceAttributeRequest { DryRun?: boolean; /** - *

                            The ID of the instance.

                            + *

                            The ID of the AFI.

                            */ - InstanceId: string | undefined; + FpgaImageId: string | undefined; + + /** + *

                            The AFI attribute.

                            + */ + Attribute: FpgaImageAttributeName | string | undefined; } -export namespace DescribeInstanceAttributeRequest { +export namespace DescribeFpgaImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeRequest): any => ({ ...obj, }); } +export type PermissionGroup = "all"; + /** - *

                            Describes a parameter used to set up an EBS volume in a block device mapping.

                            + *

                            Describes a load permission.

                            */ -export interface EbsInstanceBlockDevice { - /** - *

                            The time stamp when the attachment initiated.

                            - */ - AttachTime?: Date; - - /** - *

                            Indicates whether the volume is deleted on instance termination.

                            - */ - DeleteOnTermination?: boolean; - +export interface LoadPermission { /** - *

                            The attachment state.

                            + *

                            The Amazon Web Services account ID.

                            */ - Status?: AttachmentStatus | string; + UserId?: string; /** - *

                            The ID of the EBS volume.

                            + *

                            The name of the group.

                            */ - VolumeId?: string; + Group?: PermissionGroup | string; } -export namespace EbsInstanceBlockDevice { +export namespace LoadPermission { /** * @internal */ - export const filterSensitiveLog = (obj: EbsInstanceBlockDevice): any => ({ + export const filterSensitiveLog = (obj: LoadPermission): any => ({ ...obj, }); } +export type ProductCodeValues = "devpay" | "marketplace"; + /** - *

                            Describes a block device mapping.

                            + *

                            Describes a product code.

                            */ -export interface InstanceBlockDeviceMapping { +export interface ProductCode { /** - *

                            The device name (for example, /dev/sdh or xvdh).

                            + *

                            The product code.

                            */ - DeviceName?: string; + ProductCodeId?: string; /** - *

                            Parameters used to automatically set up EBS volumes when the instance is - * launched.

                            + *

                            The type of product code.

                            */ - Ebs?: EbsInstanceBlockDevice; + ProductCodeType?: ProductCodeValues | string; } -export namespace InstanceBlockDeviceMapping { +export namespace ProductCode { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceBlockDeviceMapping): any => ({ + export const filterSensitiveLog = (obj: ProductCode): any => ({ ...obj, }); } /** - *

                            Describes a value for a resource attribute that is a Boolean value.

                            + *

                            Describes an Amazon FPGA image (AFI) attribute.

                            */ -export interface AttributeBooleanValue { +export interface FpgaImageAttribute { /** - *

                            The attribute value. The valid values are true or false.

                            + *

                            The ID of the AFI.

                            */ - Value?: boolean; -} + FpgaImageId?: string; -export namespace AttributeBooleanValue { /** - * @internal + *

                            The name of the AFI.

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

                            Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                            - */ -export interface EnclaveOptions { /** - *

                            If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; - * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

                            + *

                            The description of the AFI.

                            */ - Enabled?: boolean; + Description?: string; + + /** + *

                            The load permissions.

                            + */ + LoadPermissions?: LoadPermission[]; + + /** + *

                            The product codes.

                            + */ + ProductCodes?: ProductCode[]; } -export namespace EnclaveOptions { +export namespace FpgaImageAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: EnclaveOptions): any => ({ + export const filterSensitiveLog = (obj: FpgaImageAttribute): any => ({ ...obj, }); } -/** - *

                            Describes an instance attribute.

                            - */ -export interface InstanceAttribute { +export interface DescribeFpgaImageAttributeResult { /** - *

                            The security groups associated with the instance.

                            + *

                            Information about the attribute.

                            */ - Groups?: GroupIdentifier[]; + FpgaImageAttribute?: FpgaImageAttribute; +} +export namespace DescribeFpgaImageAttributeResult { /** - *

                            The block device mapping of the instance.

                            + * @internal */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeResult): any => ({ + ...obj, + }); +} +export interface DescribeFpgaImagesRequest { /** - *

                            If the value is true, you can't terminate the instance through the Amazon - * EC2 console, CLI, or API; otherwise, you can.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - DisableApiTermination?: AttributeBooleanValue; + DryRun?: boolean; /** - *

                            Indicates whether enhanced networking with ENA is enabled.

                            + *

                            The AFI IDs.

                            */ - EnaSupport?: AttributeBooleanValue; + FpgaImageIds?: string[]; /** - *

                            To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true; otherwise, - * set it to false.

                            + *

                            Filters the AFI by owner. Specify an Amazon Web Services account ID, self + * (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are + * amazon | aws-marketplace).

                            */ - EnclaveOptions?: EnclaveOptions; + Owners?: string[]; /** - *

                            Indicates whether the instance is optimized for Amazon EBS I/O.

                            + *

                            The filters.

                            + *
                              + *
                            • + *

                              + * create-time - The creation time of the AFI.

                              + *
                            • + *
                            • + *

                              + * fpga-image-id - The FPGA image identifier (AFI ID).

                              + *
                            • + *
                            • + *

                              + * fpga-image-global-id - The global FPGA image identifier (AGFI ID).

                              + *
                            • + *
                            • + *

                              + * name - The name of the AFI.

                              + *
                            • + *
                            • + *

                              + * owner-id - The Amazon Web Services account ID of the AFI owner.

                              + *
                            • + *
                            • + *

                              + * product-code - The product code.

                              + *
                            • + *
                            • + *

                              + * shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

                              + *
                            • + *
                            • + *

                              + * state - The state of the AFI (pending | failed | available | unavailable).

                              + *
                            • + *
                            • + *

                              + * 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.

                              + *
                            • + *
                            • + *

                              + * update-time - The time of the most recent update.

                              + *
                            • + *
                            */ - EbsOptimized?: AttributeBooleanValue; + Filters?: Filter[]; /** - *

                            The ID of the instance.

                            + *

                            The token to retrieve the next page of results.

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

                            Indicates whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                            + *

                            The maximum number of results to return in a single call.

                            */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + MaxResults?: number; +} +export namespace DescribeFpgaImagesRequest { /** - *

                            The instance type.

                            + * @internal */ - InstanceType?: AttributeValue; + export const filterSensitiveLog = (obj: DescribeFpgaImagesRequest): any => ({ + ...obj, + }); +} +/** + *

                            Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

                            + */ +export interface PciId { /** - *

                            The kernel ID.

                            + *

                            The ID of the device.

                            */ - KernelId?: AttributeValue; + DeviceId?: string; /** - *

                            A list of product codes.

                            + *

                            The ID of the vendor.

                            */ - ProductCodes?: ProductCode[]; + VendorId?: string; /** - *

                            The RAM disk ID.

                            + *

                            The ID of the subsystem.

                            */ - RamdiskId?: AttributeValue; + SubsystemId?: string; /** - *

                            The device name of the root device volume (for example, - * /dev/sda1).

                            + *

                            The ID of the vendor for the subsystem.

                            */ - RootDeviceName?: AttributeValue; + SubsystemVendorId?: string; +} +export namespace PciId { /** - *

                            Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

                            + * @internal */ - SourceDestCheck?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: PciId): any => ({ + ...obj, + }); +} +export type FpgaImageStateCode = "available" | "failed" | "pending" | "unavailable"; + +/** + *

                            Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

                            + */ +export interface FpgaImageState { /** - *

                            Indicates whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

                            + *

                            The state. The following are the possible values:

                            + *
                              + *
                            • + *

                              + * pending - AFI bitstream generation is in progress.

                              + *
                            • + *
                            • + *

                              + * available - The AFI is available for use.

                              + *
                            • + *
                            • + *

                              + * failed - AFI bitstream generation failed.

                              + *
                            • + *
                            • + *

                              + * unavailable - The AFI is no longer available for use.

                              + *
                            • + *
                            */ - SriovNetSupport?: AttributeValue; + Code?: FpgaImageStateCode | string; /** - *

                            The user data.

                            + *

                            If the state is failed, this is the error message.

                            */ - UserData?: AttributeValue; + Message?: string; } -export namespace InstanceAttribute { +export namespace FpgaImageState { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceAttribute): any => ({ + export const filterSensitiveLog = (obj: FpgaImageState): any => ({ ...obj, }); } -export interface DescribeInstanceCreditSpecificationsRequest { +/** + *

                            Describes an Amazon FPGA image (AFI).

                            + */ +export interface FpgaImage { /** - *

                            Checks whether you have the required permissions for the action, without 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 FPGA image identifier (AFI ID).

                            */ - DryRun?: boolean; + FpgaImageId?: string; /** - *

                            The filters.

                            - *
                              - *
                            • - *

                              - * instance-id - The ID of the instance.

                              - *
                            • - *
                            + *

                            The global FPGA image identifier (AGFI ID).

                            */ - Filters?: Filter[]; + FpgaImageGlobalId?: string; /** - *

                            The instance IDs.

                            - *

                            Default: Describes all your instances.

                            - *

                            Constraints: Maximum 1000 explicitly specified instance IDs.

                            + *

                            The name of the AFI.

                            */ - InstanceIds?: string[]; + Name?: 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.

                            + *

                            The description of the AFI.

                            */ - MaxResults?: number; + Description?: string; /** - *

                            The token to retrieve the next page of results.

                            + *

                            The version of the Amazon Web Services Shell that was used to create the bitstream.

                            */ - NextToken?: string; -} + ShellVersion?: string; -export namespace DescribeInstanceCreditSpecificationsRequest { /** - * @internal + *

                            Information about the PCI bus.

                            */ - export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsRequest): any => ({ - ...obj, - }); -} + PciId?: PciId; -/** - *

                            Describes the credit option for CPU usage of a burstable performance instance.

                            - */ -export interface InstanceCreditSpecification { /** - *

                            The ID of the instance.

                            + *

                            Information about the state of the AFI.

                            */ - InstanceId?: string; + State?: FpgaImageState; /** - *

                            The credit option for CPU usage of the instance. Valid values are - * standard and unlimited.

                            + *

                            The date and time the AFI was created.

                            */ - CpuCredits?: string; -} + CreateTime?: Date; -export namespace InstanceCreditSpecification { /** - * @internal + *

                            The time of the most recent update to the AFI.

                            */ - export const filterSensitiveLog = (obj: InstanceCreditSpecification): any => ({ - ...obj, - }); -} + UpdateTime?: Date; -export interface DescribeInstanceCreditSpecificationsResult { /** - *

                            Information about the credit option for CPU usage of an instance.

                            + *

                            The ID of the Amazon Web Services account that owns the AFI.

                            */ - InstanceCreditSpecifications?: InstanceCreditSpecification[]; + OwnerId?: 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 alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

                            */ - NextToken?: string; -} + OwnerAlias?: string; -export namespace DescribeInstanceCreditSpecificationsResult { /** - * @internal + *

                            The product codes for the AFI.

                            */ - export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsResult): any => ({ - ...obj, - }); -} + ProductCodes?: ProductCode[]; -export interface DescribeInstanceEventNotificationAttributesRequest { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            Any tags assigned to the AFI.

                            */ - DryRun?: boolean; -} + Tags?: Tag[]; -export namespace DescribeInstanceEventNotificationAttributesRequest { /** - * @internal + *

                            Indicates whether the AFI is public.

                            */ - export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesRequest): any => ({ - ...obj, - }); -} + Public?: boolean; -export interface DescribeInstanceEventNotificationAttributesResult { /** - *

                            Information about the registered tag keys.

                            + *

                            Indicates whether data retention support is enabled for the AFI.

                            */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + DataRetentionSupport?: boolean; } -export namespace DescribeInstanceEventNotificationAttributesResult { +export namespace FpgaImage { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: FpgaImage): any => ({ ...obj, }); } -/** - * Describe instance event windows by InstanceEventWindow. - */ -export interface DescribeInstanceEventWindowsRequest { +export interface DescribeFpgaImagesResult { /** - *

                            Checks whether you have the required permissions for the action, without 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 FPGA images.

                            */ - DryRun?: boolean; + FpgaImages?: FpgaImage[]; /** - *

                            The IDs of the event windows.

                            + *

                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                            */ - InstanceEventWindowIds?: string[]; + NextToken?: string; +} +export namespace DescribeFpgaImagesResult { /** - *

                            One or more filters.

                            - *
                              - *
                            • - *

                              - * dedicated-host-id - The event windows associated with the specified - * Dedicated Host ID.

                              - *
                            • - *
                            • - *

                              - * event-window-name - The event windows associated with the specified - * names.

                              - *
                            • - *
                            • - *

                              - * instance-id - The event windows associated with the specified instance - * ID.

                              - *
                            • - *
                            • - *

                              - * instance-tag - The event windows associated with the specified tag and - * value.

                              - *
                            • - *
                            • - *

                              - * instance-tag-key - The event windows associated with the specified tag - * key, regardless of the value.

                              - *
                            • - *
                            • - *

                              - * instance-tag-value - The event windows associated with the specified tag - * value, regardless of the key.

                              - *
                            • - *
                            • - *

                              - * tag: - The key/value combination of a tag assigned to the - * event window. 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 CMX, specify tag:Owner - * for the filter name and CMX for the filter value.

                              - *
                            • + * @internal + */ + export const filterSensitiveLog = (obj: DescribeFpgaImagesResult): any => ({ + ...obj, + }); +} + +export interface DescribeHostReservationOfferingsRequest { + /** + *

                              The filters.

                              + *
                                *
                              • - *

                                - * tag-key - The key of a tag assigned to the event window. Use this filter - * to find all event windows that have a tag with a specific key, regardless of the tag - * value.

                                + *

                                + * instance-family - The instance family of the offering (for example, + * m4).

                                *
                              • *
                              • - *

                                - * tag-value - The value of a tag assigned to the event window. Use this - * filter to find all event windows that have a tag with a specific value, regardless of - * the tag key.

                                + *

                                + * payment-option - The payment option (NoUpfront | + * PartialUpfront | AllUpfront).

                                *
                              • *
                              */ - Filters?: Filter[]; + Filter?: Filter[]; /** - *

                              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 20 and 500. You cannot specify this parameter and the event window IDs parameter - * in the same call.

                              + *

                              This is the maximum duration of the reservation to purchase, specified in seconds. + * Reservations are available in one-year and three-year terms. The number of seconds + * specified must be the number of seconds in a year (365x24x60x60) times one of the + * supported durations (1 or 3). For example, specify 94608000 for three years.

                              + */ + MaxDuration?: 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.

                              */ MaxResults?: number; /** - *

                              The token to request the next page of results.

                              + *

                              This is the minimum duration of the reservation you'd like to purchase, specified + * in seconds. Reservations are available in one-year and three-year terms. The number of + * seconds specified must be the number of seconds in a year (365x24x60x60) times one of + * the supported durations (1 or 3). For example, specify 31536000 for one year.

                              + */ + MinDuration?: number; + + /** + *

                              The token to use to retrieve the next page of results.

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

                              The ID of the reservation offering.

                              + */ + OfferingId?: string; } -export namespace DescribeInstanceEventWindowsRequest { +export namespace DescribeHostReservationOfferingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsRequest): any => ({ ...obj, }); } -export interface DescribeInstanceEventWindowsResult { +export enum PaymentOption { + ALL_UPFRONT = "AllUpfront", + NO_UPFRONT = "NoUpfront", + PARTIAL_UPFRONT = "PartialUpfront", +} + +/** + *

                              Details about the Dedicated Host Reservation offering.

                              + */ +export interface HostOffering { /** - *

                              Information about the event windows.

                              + *

                              The currency of the offering.

                              */ - InstanceEventWindows?: InstanceEventWindow[]; + CurrencyCode?: CurrencyCodeValues | 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 duration of the offering (in seconds).

                              + */ + Duration?: number; + + /** + *

                              The hourly price of the offering.

                              + */ + HourlyPrice?: string; + + /** + *

                              The instance family of the offering.

                              + */ + InstanceFamily?: string; + + /** + *

                              The ID of the offering.

                              + */ + OfferingId?: string; + + /** + *

                              The available payment option.

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

                              The upfront price of the offering. Does not apply to No Upfront + * offerings.

                              + */ + UpfrontPrice?: string; +} + +export namespace HostOffering { + /** + * @internal + */ + export const filterSensitiveLog = (obj: HostOffering): any => ({ + ...obj, + }); +} + +export interface DescribeHostReservationOfferingsResult { + /** + *

                              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 offerings.

                              + */ + OfferingSet?: HostOffering[]; } -export namespace DescribeInstanceEventWindowsResult { +export namespace DescribeHostReservationOfferingsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsResult): any => ({ ...obj, }); } -export interface DescribeInstancesRequest { +export interface DescribeHostReservationsRequest { /** *

                              The filters.

                              *
                                *
                              • *

                                - * affinity - The affinity setting for an instance running on a - * Dedicated Host (default | host).

                                - *
                              • - *
                              • - *

                                - * architecture - The instance architecture (i386 | - * x86_64 | arm64).

                                - *
                              • - *
                              • - *

                                - * availability-zone - The Availability Zone of the instance.

                                - *
                              • - *
                              • - *

                                - * block-device-mapping.attach-time - The attach time for an EBS - * volume mapped to the instance, for example, - * 2010-09-15T17:15:20.000Z.

                                - *
                              • - *
                              • - *

                                - * block-device-mapping.delete-on-termination - A Boolean that - * indicates whether the EBS volume is deleted on instance termination.

                                - *
                              • - *
                              • - *

                                - * block-device-mapping.device-name - The device name specified in the - * block device mapping (for example, /dev/sdh or - * xvdh).

                                - *
                              • - *
                              • - *

                                - * block-device-mapping.status - The status for the EBS volume - * (attaching | attached | detaching | - * detached).

                                - *
                              • - *
                              • - *

                                - * block-device-mapping.volume-id - The volume ID of the EBS - * volume.

                                - *
                              • - *
                              • - *

                                - * client-token - The idempotency token you provided when you launched - * the instance.

                                - *
                              • - *
                              • - *

                                - * dns-name - The public DNS name of the instance.

                                - *
                              • - *
                              • - *

                                - * group-id - The ID of the security group for the instance. - * EC2-Classic only.

                                - *
                              • - *
                              • - *

                                - * group-name - The name of the security group for the instance. - * EC2-Classic only.

                                - *
                              • - *
                              • - *

                                - * hibernation-options.configured - A Boolean that indicates whether - * the instance is enabled for hibernation. A value of true means that - * the instance is enabled for hibernation.

                                - *
                              • - *
                              • - *

                                - * host-id - The ID of the Dedicated Host on which the instance is - * running, if applicable.

                                - *
                              • - *
                              • - *

                                - * hypervisor - The hypervisor type of the instance - * (ovm | xen). The value xen - * is used for both Xen and Nitro hypervisors.

                                - *
                              • - *
                              • - *

                                - * iam-instance-profile.arn - The instance profile associated with - * the instance. Specified as an ARN.

                                - *
                              • - *
                              • - *

                                - * image-id - The ID of the image used to launch the - * instance.

                                - *
                              • - *
                              • - *

                                - * instance-id - The ID of the instance.

                                - *
                              • - *
                              • - *

                                - * instance-lifecycle - Indicates whether this is a Spot Instance or - * a Scheduled Instance (spot | scheduled).

                                - *
                              • - *
                              • - *

                                - * instance-state-code - The state of the instance, as a 16-bit - * unsigned integer. The high byte is used for internal purposes and should be - * ignored. The low byte is set based on the state represented. The valid values - * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 - * (stopping), and 80 (stopped).

                                + * instance-family - The instance family (for example, + * m4).

                                *
                              • *
                              • *

                                - * instance-state-name - The state of the instance - * (pending | running | shutting-down | - * terminated | stopping | - * stopped).

                                + * payment-option - The payment option (NoUpfront | + * PartialUpfront | AllUpfront).

                                *
                              • *
                              • *

                                - * instance-type - The type of instance (for example, - * t2.micro).

                                + * state - The state of the reservation (payment-pending + * | payment-failed | active | + * retired).

                                *
                              • *
                              • - *

                                - * instance.group-id - The ID of the security group for the - * instance.

                                - *
                              • + *

                                + * 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.

                                + * *
                              • - *

                                - * instance.group-name - The name of the security group for the - * instance.

                                - *
                              • - *
                              • - *

                                - * ip-address - The public IPv4 address of the instance.

                                - *
                              • - *
                              • - *

                                - * kernel-id - The kernel ID.

                                - *
                              • - *
                              • - *

                                - * key-name - The name of the key pair used when the instance was - * launched.

                                - *
                              • - *
                              • - *

                                - * launch-index - When launching multiple instances, this is the - * index for the instance in the launch group (for example, 0, 1, 2, and so on).

                                - *
                              • - *
                              • - *

                                - * launch-time - The time when the instance was launched, in the ISO - * 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, - * 2021-09-29T11:04:43.305Z. You can use a wildcard - * (*), for example, 2021-09-29T*, which matches an - * entire day.

                                - *
                              • - *
                              • - *

                                - * metadata-options.http-tokens - The metadata request authorization - * state (optional | required)

                                - *
                              • - *
                              • - *

                                - * metadata-options.http-put-response-hop-limit - The http metadata - * request put response hop limit (integer, possible values 1 to - * 64)

                                - *
                              • - *
                              • - *

                                - * metadata-options.http-endpoint - Enable or disable metadata - * access on http endpoint (enabled | disabled)

                                - *
                              • - *
                              • - *

                                - * monitoring-state - Indicates whether detailed monitoring is - * enabled (disabled | enabled).

                                - *
                              • - *
                              • - *

                                - * network-interface.addresses.private-ip-address - The private IPv4 - * address associated with the network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.addresses.primary - Specifies whether the IPv4 - * address of the network interface is the primary private IPv4 address.

                                - *
                              • - *
                              • - *

                                - * network-interface.addresses.association.public-ip - The ID of the - * association of an Elastic IP address (IPv4) with a network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.addresses.association.ip-owner-id - The owner - * ID of the private IPv4 address associated with the network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.association.public-ip - The address of the - * Elastic IP address (IPv4) bound to the network interface.

                                - *
                              • + *

                                + * 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.

                                + * + *
                              + */ + 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 { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeHostReservationsRequest): any => ({ + ...obj, + }); +} + +export enum ReservationState { + ACTIVE = "active", + PAYMENT_FAILED = "payment-failed", + PAYMENT_PENDING = "payment-pending", + RETIRED = "retired", +} + +/** + *

                              Details about the Dedicated Host Reservation and associated Dedicated + * Hosts.

                              + */ +export interface HostReservation { + /** + *

                              The number of Dedicated Hosts the reservation is associated with.

                              + */ + Count?: number; + + /** + *

                              The currency in which the upfrontPrice and hourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

                              + */ + CurrencyCode?: CurrencyCodeValues | string; + + /** + *

                              The length of the reservation's term, specified in seconds. Can be 31536000 + * (1 year) | 94608000 (3 years).

                              + */ + Duration?: number; + + /** + *

                              The date and time that the reservation ends.

                              + */ + End?: Date; + + /** + *

                              The IDs of the Dedicated Hosts associated with the reservation.

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

                              The ID of the reservation that specifies the associated Dedicated Hosts.

                              + */ + HostReservationId?: string; + + /** + *

                              The hourly price of the reservation.

                              + */ + HourlyPrice?: string; + + /** + *

                              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.

                              + */ + InstanceFamily?: string; + + /** + *

                              The ID of the reservation. This remains the same regardless of which Dedicated + * Hosts are associated with it.

                              + */ + OfferingId?: string; + + /** + *

                              The payment option selected for this reservation.

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

                              The date and time that the reservation started.

                              + */ + Start?: Date; + + /** + *

                              The state of the reservation.

                              + */ + State?: ReservationState | string; + + /** + *

                              The upfront price of the reservation.

                              + */ + UpfrontPrice?: string; + + /** + *

                              Any tags assigned to the Dedicated Host Reservation.

                              + */ + Tags?: Tag[]; +} + +export namespace HostReservation { + /** + * @internal + */ + export const filterSensitiveLog = (obj: HostReservation): any => ({ + ...obj, + }); +} + +export interface DescribeHostReservationsResult { + /** + *

                              Details about the reservation's configuration.

                              + */ + HostReservationSet?: HostReservation[]; + + /** + *

                              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 DescribeHostReservationsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeHostReservationsResult): any => ({ + ...obj, + }); +} + +export interface DescribeHostsRequest { + /** + *

                              The filters.

                              + *
                                *
                              • *

                                - * network-interface.association.ip-owner-id - The owner of the - * Elastic IP address (IPv4) associated with the network interface.

                                + * auto-placement - Whether auto-placement is enabled or disabled + * (on | off).

                                *
                              • *
                              • *

                                - * network-interface.association.allocation-id - The allocation ID - * returned when you allocated the Elastic IP address (IPv4) for your network - * interface.

                                + * availability-zone - The Availability Zone of the + * host.

                                *
                              • *
                              • *

                                - * network-interface.association.association-id - The association ID - * returned when the network interface was associated with an IPv4 address.

                                + * client-token - The idempotency token that you provided when you + * allocated the host.

                                *
                              • *
                              • *

                                - * network-interface.attachment.attachment-id - The ID of the - * interface attachment.

                                + * host-reservation-id - The ID of the reservation assigned to + * this host.

                                *
                              • *
                              • *

                                - * network-interface.attachment.instance-id - The ID of the instance - * to which the network interface is attached.

                                + * instance-type - The instance type size that the Dedicated Host + * is configured to support.

                                *
                              • *
                              • *

                                - * network-interface.attachment.instance-owner-id - The owner ID of - * the instance to which the network interface is attached.

                                + * state - The allocation state of the Dedicated Host + * (available | under-assessment | + * permanent-failure | released | + * released-permanent-failure).

                                *
                              • *
                              • - *

                                - * network-interface.attachment.device-index - The device index to - * which the network interface is attached.

                                - *
                              • - *
                              • - *

                                - * network-interface.attachment.status - The status of the - * attachment (attaching | attached | - * detaching | detached).

                                - *
                              • - *
                              • - *

                                - * network-interface.attachment.attach-time - The time that the - * network interface was attached to an instance.

                                - *
                              • - *
                              • - *

                                - * network-interface.attachment.delete-on-termination - Specifies - * whether the attachment is deleted when an instance is terminated.

                                - *
                              • - *
                              • - *

                                - * network-interface.availability-zone - The Availability Zone for - * the network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.description - The description of the network - * interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.group-id - The ID of a security group - * associated with the network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.group-name - The name of a security group - * associated with the network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.ipv6-addresses.ipv6-address - The IPv6 address - * associated with the network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.mac-address - The MAC address of the network - * interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.network-interface-id - The ID of the network - * interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.owner-id - The ID of the owner of the network - * interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.private-dns-name - The private DNS name of the - * network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.requester-id - The requester ID for the network - * interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.requester-managed - Indicates whether the - * network interface is being managed by Amazon Web Services.

                                - *
                              • - *
                              • - *

                                - * network-interface.status - The status of the network interface - * (available) | in-use).

                                - *
                              • - *
                              • - *

                                - * network-interface.source-dest-check - Whether the network - * interface performs source/destination checking. A value of true - * means that checking is enabled, and false means that checking is - * disabled. The value must be false for the network interface to - * perform network address translation (NAT) in your VPC.

                                - *
                              • - *
                              • - *

                                - * network-interface.subnet-id - The ID of the subnet for the - * network interface.

                                - *
                              • - *
                              • - *

                                - * network-interface.vpc-id - The ID of the VPC for the network - * interface.

                                - *
                              • - *
                              • - *

                                - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                - *
                              • - *
                              • - *

                                - * owner-id - The Amazon Web Services account ID of the instance owner.

                                - *
                              • - *
                              • - *

                                - * placement-group-name - The name of the placement group for the - * instance.

                                - *
                              • - *
                              • - *

                                - * placement-partition-number - The partition in which the instance is - * located.

                                - *
                              • - *
                              • - *

                                - * platform - The platform. To list only Windows instances, use - * windows.

                                - *
                              • - *
                              • - *

                                - * private-dns-name - The private IPv4 DNS name of the - * instance.

                                - *
                              • - *
                              • - *

                                - * private-ip-address - The private IPv4 address of the - * instance.

                                - *
                              • - *
                              • - *

                                - * product-code - The product code associated with the AMI used to - * launch the instance.

                                - *
                              • - *
                              • - *

                                - * product-code.type - The type of product code (devpay | - * marketplace).

                                - *
                              • - *
                              • - *

                                - * ramdisk-id - The RAM disk ID.

                                - *
                              • - *
                              • - *

                                - * reason - The reason for the current state of the instance (for - * example, shows "User Initiated [date]" when you stop or terminate the instance). - * Similar to the state-reason-code filter.

                                - *
                              • - *
                              • - *

                                - * requester-id - The ID of the entity that launched the instance on - * your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so - * on).

                                - *
                              • - *
                              • - *

                                - * reservation-id - The ID of the instance's reservation. A - * reservation ID is created any time you launch an instance. A reservation ID has - * a one-to-one relationship with an instance launch request, but can be associated - * with more than one instance if you launch multiple instances using the same - * launch request. For example, if you launch one instance, you get one reservation - * ID. If you launch ten instances using the same launch request, you also get one - * reservation ID.

                                - *
                              • - *
                              • - *

                                - * root-device-name - The device name of the root device volume (for - * example, /dev/sda1).

                                - *
                              • - *
                              • - *

                                - * root-device-type - The type of the root device volume - * (ebs | instance-store).

                                - *
                              • - *
                              • - *

                                - * source-dest-check - Indicates whether the instance performs - * source/destination checking. 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 network address translation - * (NAT) in your VPC.

                                - *
                              • - *
                              • - *

                                - * spot-instance-request-id - The ID of the Spot Instance - * request.

                                - *
                              • - *
                              • - *

                                - * state-reason-code - The reason code for the state change.

                                - *
                              • - *
                              • - *

                                - * state-reason-message - A message that describes the state - * change.

                                - *
                              • - *
                              • - *

                                - * subnet-id - The ID of the subnet for the instance.

                                - *
                              • - *
                              • - *

                                - * 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.

                                - *
                              • - *
                              • - *

                                - * tenancy - The tenancy of an instance (dedicated | - * default | host).

                                - *
                              • - *
                              • - *

                                - * virtualization-type - The virtualization type of the instance - * (paravirtual | hvm).

                                - *
                              • - *
                              • - *

                                - * vpc-id - The ID of the VPC that the instance is running in.

                                - *
                              • + *

                                + * 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[]; - - /** - *

                              The instance IDs.

                              - *

                              Default: Describes all your instances.

                              - */ - InstanceIds?: string[]; + 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.

                              + *

                              The IDs of the Dedicated Hosts. The IDs are used for targeted instance + * launches.

                              */ - DryRun?: boolean; + HostIds?: 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.

                              + *

                              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 token to request the next page of results.

                              + *

                              The token to use to retrieve the next page of results.

                              */ NextToken?: string; } -export namespace DescribeInstancesRequest { +export namespace DescribeHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeHostsRequest): any => ({ ...obj, }); } /** - *

                              Describes the instance's Capacity Reservation targeting preferences. The action returns the - * capacityReservationPreference response element if the instance is - * configured to run in On-Demand capacity, or if it is configured in run in any - * open Capacity Reservation that has matching attributes (instance type, platform, - * Availability Zone). The action returns the capacityReservationTarget - * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

                              + *

                              Information about the number of instances that can be launched onto the Dedicated + * Host.

                              */ -export interface CapacityReservationSpecificationResponse { +export interface InstanceCapacity { /** - *

                              Describes the instance's Capacity Reservation preferences. Possible preferences include:

                              - *
                                - *
                              • - *

                                - * open - The instance can run in any open Capacity Reservation that - * has matching attributes (instance type, platform, Availability Zone).

                                - *
                              • - *
                              • - *

                                - * none - The instance avoids running in a Capacity Reservation even if one is - * available. The instance runs in On-Demand capacity.

                                - *
                              • - *
                              + *

                              The number of instances that can be launched onto the Dedicated Host based on the + * host's available capacity.

                              */ - CapacityReservationPreference?: CapacityReservationPreference | string; + AvailableCapacity?: number; /** - *

                              Information about the targeted Capacity Reservation or Capacity Reservation group.

                              + *

                              The instance type supported by the Dedicated Host.

                              */ - CapacityReservationTarget?: CapacityReservationTargetResponse; + InstanceType?: string; + + /** + *

                              The total number of instances that can be launched onto the Dedicated Host if there + * are no instances running on it.

                              + */ + TotalCapacity?: number; } -export namespace CapacityReservationSpecificationResponse { +export namespace InstanceCapacity { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: InstanceCapacity): any => ({ ...obj, }); } /** - *

                              The CPU options for the instance.

                              + *

                              The capacity information for instances that can be launched onto the Dedicated Host.

                              */ -export interface CpuOptions { +export interface AvailableCapacity { /** - *

                              The number of CPU cores for the instance.

                              + *

                              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, + * this parameter represents the number of instances for each instance size that is + * supported on the host.

                              */ - CoreCount?: number; + AvailableInstanceCapacity?: InstanceCapacity[]; /** - *

                              The number of threads per CPU core.

                              + *

                              The number of vCPUs available for launching instances onto the Dedicated Host.

                              */ - ThreadsPerCore?: number; + AvailableVCpus?: number; } -export namespace CpuOptions { +export namespace AvailableCapacity { /** * @internal */ - export const filterSensitiveLog = (obj: CpuOptions): any => ({ + export const filterSensitiveLog = (obj: AvailableCapacity): any => ({ ...obj, }); } /** - *

                              Describes the association between an instance and an Elastic Graphics accelerator.

                              + *

                              Describes the properties of a Dedicated Host.

                              */ -export interface ElasticGpuAssociation { +export interface HostProperties { /** - *

                              The ID of the Elastic Graphics accelerator.

                              + *

                              The number of cores on the Dedicated Host.

                              */ - ElasticGpuId?: string; + Cores?: number; /** - *

                              The ID of the association.

                              + *

                              The instance type supported by the Dedicated Host. For example, m5.large. + * If the host supports multiple instance types, no instanceType + * is returned.

                              */ - ElasticGpuAssociationId?: string; + InstanceType?: string; /** - *

                              The state of the association between the instance and the - * Elastic Graphics accelerator.

                              + *

                              The instance family supported by the Dedicated Host. For example, m5.

                              */ - ElasticGpuAssociationState?: string; + InstanceFamily?: string; /** - *

                              The time the Elastic Graphics accelerator was associated with the instance.

                              + *

                              The number of sockets on the Dedicated Host.

                              */ - ElasticGpuAssociationTime?: string; + Sockets?: number; + + /** + *

                              The total number of vCPUs on the Dedicated Host.

                              + */ + TotalVCpus?: number; } -export namespace ElasticGpuAssociation { +export namespace HostProperties { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticGpuAssociation): any => ({ + export const filterSensitiveLog = (obj: HostProperties): any => ({ ...obj, }); } /** - *

                              - * Describes the association between an instance and an elastic inference accelerator. - *

                              + *

                              Describes an instance running on a Dedicated Host.

                              */ -export interface ElasticInferenceAcceleratorAssociation { - /** - *

                              - * The Amazon Resource Name (ARN) of the elastic inference accelerator. - *

                              - */ - ElasticInferenceAcceleratorArn?: string; - +export interface HostInstance { /** - *

                              - * The ID of the association. - *

                              + *

                              The ID of instance that is running on the Dedicated Host.

                              */ - ElasticInferenceAcceleratorAssociationId?: string; + InstanceId?: string; /** - *

                              - * The state of the elastic inference accelerator. - *

                              + *

                              The instance type (for example, m3.medium) of the running instance.

                              */ - ElasticInferenceAcceleratorAssociationState?: string; + InstanceType?: string; /** - *

                              - * The time at which the elastic inference accelerator is associated with an instance. - *

                              + *

                              The ID of the Amazon Web Services account that owns the instance.

                              */ - ElasticInferenceAcceleratorAssociationTime?: Date; + OwnerId?: string; } -export namespace ElasticInferenceAcceleratorAssociation { +export namespace HostInstance { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticInferenceAcceleratorAssociation): any => ({ + export const filterSensitiveLog = (obj: HostInstance): any => ({ ...obj, }); } /** - *

                              Indicates whether your instance is configured for hibernation. This parameter is valid - * only if the instance meets the hibernation - * prerequisites. For - * more information, see Hibernate your instance in the - * Amazon EC2 User Guide.

                              + *

                              Describes the properties of the Dedicated Host.

                              */ -export interface HibernationOptions { +export interface Host { /** - *

                              If this parameter is set to true, your instance is enabled for - * hibernation; otherwise, it is not enabled for hibernation.

                              + *

                              Whether auto-placement is on or off.

                              */ - Configured?: boolean; -} + AutoPlacement?: AutoPlacement | string; -export namespace HibernationOptions { /** - * @internal + *

                              The Availability Zone of the Dedicated Host.

                              */ - export const filterSensitiveLog = (obj: HibernationOptions): any => ({ - ...obj, - }); -} - -export type InstanceLifecycleType = "scheduled" | "spot"; + AvailabilityZone?: string; -/** - *

                              Describes a license configuration.

                              - */ -export interface LicenseConfiguration { /** - *

                              The Amazon Resource Name (ARN) of the license configuration.

                              + *

                              Information about the instances running on the Dedicated Host.

                              */ - LicenseConfigurationArn?: string; -} + AvailableCapacity?: AvailableCapacity; -export namespace LicenseConfiguration { /** - * @internal + *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                              */ - export const filterSensitiveLog = (obj: LicenseConfiguration): any => ({ - ...obj, - }); -} - -export type InstanceMetadataEndpointState = "disabled" | "enabled"; - -export enum InstanceMetadataProtocolState { - disabled = "disabled", - enabled = "enabled", -} - -export enum HttpTokensState { - optional = "optional", - required = "required", -} - -export type InstanceMetadataOptionsState = "applied" | "pending"; + ClientToken?: string; -/** - *

                              The metadata options for the instance.

                              - */ -export interface InstanceMetadataOptionsResponse { /** - *

                              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.

                              + *

                              The ID of the Dedicated Host.

                              */ - State?: InstanceMetadataOptionsState | string; + HostId?: string; /** - *

                              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 credential - * always returns the version 2.0 credentials; the version 1.0 credentials are not - * available.

                              + *

                              The hardware specifications of the Dedicated Host.

                              */ - HttpTokens?: HttpTokensState | string; + HostProperties?: HostProperties; /** - *

                              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

                              + *

                              The reservation ID of the Dedicated Host. This returns a null response + * if the Dedicated Host doesn't have an associated reservation.

                              */ - HttpPutResponseHopLimit?: number; + HostReservationId?: string; /** - *

                              Indicates whether the HTTP metadata endpoint on your instances is enabled or disabled.

                              + *

                              The IDs and instance type that are currently running on the Dedicated + * Host.

                              */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + Instances?: HostInstance[]; /** - *

                              Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

                              + *

                              The Dedicated Host's state.

                              */ - HttpProtocolIpv6?: InstanceMetadataProtocolState | string; -} + State?: AllocationState | string; -export namespace InstanceMetadataOptionsResponse { /** - * @internal + *

                              The time that the Dedicated Host was allocated.

                              */ - export const filterSensitiveLog = (obj: InstanceMetadataOptionsResponse): any => ({ - ...obj, - }); -} - -export type MonitoringState = "disabled" | "disabling" | "enabled" | "pending"; + AllocationTime?: Date; -/** - *

                              Describes the monitoring of an instance.

                              - */ -export interface Monitoring { /** - *

                              Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

                              + *

                              The time that the Dedicated Host was released.

                              */ - State?: MonitoringState | string; -} + ReleaseTime?: Date; -export namespace Monitoring { /** - * @internal + *

                              Any tags assigned to the Dedicated Host.

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

                              Describes association information for an Elastic IP address (IPv4).

                              - */ -export interface InstanceNetworkInterfaceAssociation { /** - *

                              The carrier IP address associated with the network interface.

                              + *

                              Indicates whether host recovery is enabled or disabled for the Dedicated Host.

                              */ - CarrierIp?: string; + HostRecovery?: HostRecovery | string; /** - *

                              The customer-owned IP address associated with the network interface.

                              + *

                              Indicates whether the Dedicated Host supports multiple instance types of the same instance family. + * If the value is on, the Dedicated Host supports multiple instance types in the instance family. + * If the value is off, the Dedicated Host supports a single instance type only.

                              */ - CustomerOwnedIp?: string; + AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | string; /** - *

                              The ID of the owner of the Elastic IP address.

                              + *

                              The ID of the Amazon Web Services account that owns the Dedicated Host.

                              */ - IpOwnerId?: string; + OwnerId?: string; /** - *

                              The public DNS name.

                              + *

                              The ID of the Availability Zone in which the Dedicated Host is allocated.

                              */ - PublicDnsName?: string; + AvailabilityZoneId?: string; /** - *

                              The public IP address or Elastic IP address bound to the network interface.

                              + *

                              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.

                              */ - PublicIp?: string; + MemberOfServiceLinkedResourceGroup?: boolean; } -export namespace InstanceNetworkInterfaceAssociation { +export namespace Host { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAssociation): any => ({ + export const filterSensitiveLog = (obj: Host): any => ({ ...obj, }); } -/** - *

                              Describes a network interface attachment.

                              - */ -export interface InstanceNetworkInterfaceAttachment { +export interface DescribeHostsResult { /** - *

                              The time stamp when the attachment initiated.

                              + *

                              Information about the Dedicated Hosts.

                              */ - AttachTime?: Date; + Hosts?: Host[]; /** - *

                              The ID of the network interface attachment.

                              + *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              */ - AttachmentId?: string; + NextToken?: string; +} +export namespace DescribeHostsResult { /** - *

                              Indicates whether the network interface is deleted when the instance is terminated.

                              + * @internal */ - DeleteOnTermination?: boolean; + export const filterSensitiveLog = (obj: DescribeHostsResult): any => ({ + ...obj, + }); +} +export interface DescribeIamInstanceProfileAssociationsRequest { /** - *

                              The index of the device on the instance for the network interface attachment.

                              + *

                              The IAM instance profile associations.

                              */ - DeviceIndex?: number; + AssociationIds?: string[]; /** - *

                              The attachment state.

                              + *

                              The filters.

                              + *
                                + *
                              • + *

                                + * instance-id - The ID of the instance.

                                + *
                              • + *
                              • + *

                                + * state - The state of the association (associating | + * associated | disassociating).

                                + *
                              • + *
                              */ - Status?: AttachmentStatus | string; + Filters?: Filter[]; /** - *

                              The index of the network card.

                              + *

                              The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

                              */ - NetworkCardIndex?: number; + MaxResults?: number; + + /** + *

                              The token to request the next page of results.

                              + */ + NextToken?: string; } -export namespace InstanceNetworkInterfaceAttachment { +export namespace DescribeIamInstanceProfileAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAttachment): any => ({ + export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsRequest): any => ({ ...obj, }); } -/** - *

                              Information about an IPv4 prefix.

                              - */ -export interface InstanceIpv4Prefix { +export interface DescribeIamInstanceProfileAssociationsResult { /** - *

                              One or more IPv4 prefixes assigned to the network interface.

                              + *

                              Information about the IAM instance profile associations.

                              */ - Ipv4Prefix?: string; + IamInstanceProfileAssociations?: IamInstanceProfileAssociation[]; + + /** + *

                              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 InstanceIpv4Prefix { +export namespace DescribeIamInstanceProfileAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceIpv4Prefix): any => ({ + export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsResult): any => ({ ...obj, }); } -/** - *

                              Information about an IPv6 prefix.

                              - */ -export interface InstanceIpv6Prefix { +export interface DescribeIdentityIdFormatRequest { /** - *

                              One or more IPv6 prefixes assigned to the network interface.

                              + *

                              The ARN of the principal, which can be an IAM role, IAM user, or the root user.

                              */ - Ipv6Prefix?: string; + PrincipalArn: string | undefined; + + /** + *

                              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 + *

                              + */ + Resource?: string; } -export namespace InstanceIpv6Prefix { +export namespace DescribeIdentityIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceIpv6Prefix): any => ({ + export const filterSensitiveLog = (obj: DescribeIdentityIdFormatRequest): any => ({ ...obj, }); } -/** - *

                              Describes a private IPv4 address.

                              - */ -export interface InstancePrivateIpAddress { +export interface DescribeIdentityIdFormatResult { /** - *

                              The association information for an Elastic IP address for the network interface.

                              + *

                              Information about the ID format for the resources.

                              */ - Association?: InstanceNetworkInterfaceAssociation; + Statuses?: IdFormat[]; +} +export namespace DescribeIdentityIdFormatResult { /** - *

                              Indicates whether this IPv4 address is the primary private IP address of the network interface.

                              + * @internal */ - Primary?: boolean; + export const filterSensitiveLog = (obj: DescribeIdentityIdFormatResult): any => ({ + ...obj, + }); +} +export interface DescribeIdFormatRequest { /** - *

                              The private IPv4 DNS name.

                              + *

                              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 + *

                              */ - PrivateDnsName?: string; + Resource?: string; +} +export namespace DescribeIdFormatRequest { /** - *

                              The private IPv4 address of the network interface.

                              + * @internal */ - PrivateIpAddress?: string; + export const filterSensitiveLog = (obj: DescribeIdFormatRequest): any => ({ + ...obj, + }); } -export namespace InstancePrivateIpAddress { +export interface DescribeIdFormatResult { + /** + *

                              Information about the ID format for the resource.

                              + */ + Statuses?: IdFormat[]; +} + +export namespace DescribeIdFormatResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstancePrivateIpAddress): any => ({ + export const filterSensitiveLog = (obj: DescribeIdFormatResult): any => ({ ...obj, }); } +export type ImageAttributeName = + | "blockDeviceMapping" + | "bootMode" + | "description" + | "kernel" + | "launchPermission" + | "productCodes" + | "ramdisk" + | "sriovNetSupport"; + /** - *

                              Describes a network interface.

                              + *

                              Contains the parameters for DescribeImageAttribute.

                              */ -export interface InstanceNetworkInterface { +export interface DescribeImageAttributeRequest { /** - *

                              The association information for an Elastic IPv4 associated with the network - * interface.

                              + *

                              The AMI attribute.

                              + *

                              + * Note: The blockDeviceMapping attribute is deprecated. + * Using this attribute returns the Client.AuthFailure error. To get information about + * the block device mappings for an AMI, use the DescribeImages action.

                              */ - Association?: InstanceNetworkInterfaceAssociation; + Attribute: ImageAttributeName | string | undefined; /** - *

                              The network interface attachment.

                              + *

                              The ID of the AMI.

                              */ - Attachment?: InstanceNetworkInterfaceAttachment; + ImageId: string | undefined; /** - *

                              The 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.

                              */ - Description?: string; + DryRun?: boolean; +} +export namespace DescribeImageAttributeRequest { /** - *

                              One or more security groups.

                              + * @internal */ - Groups?: GroupIdentifier[]; + export const filterSensitiveLog = (obj: DescribeImageAttributeRequest): any => ({ + ...obj, + }); +} +/** + *

                              Describes a launch permission.

                              + */ +export interface LaunchPermission { /** - *

                              One or more IPv6 addresses associated with the network interface.

                              + *

                              The name of the group.

                              */ - Ipv6Addresses?: InstanceIpv6Address[]; + Group?: PermissionGroup | string; /** - *

                              The MAC address.

                              + *

                              The Amazon Web Services account ID.

                              + *

                              Constraints: Up to 10 000 account IDs can be specified in a single request.

                              */ - MacAddress?: string; + UserId?: string; /** - *

                              The ID of the network interface.

                              + *

                              The Amazon Resource Name (ARN) of an organization.

                              */ - NetworkInterfaceId?: string; + OrganizationArn?: string; /** - *

                              The ID of the Amazon Web Services account that created the network interface.

                              + *

                              The Amazon Resource Name (ARN) of an organizational unit (OU).

                              */ - OwnerId?: string; + OrganizationalUnitArn?: string; +} +export namespace LaunchPermission { /** - *

                              The private DNS name.

                              + * @internal */ - PrivateDnsName?: string; + export const filterSensitiveLog = (obj: LaunchPermission): any => ({ + ...obj, + }); +} +/** + *

                              Describes an image attribute.

                              + */ +export interface ImageAttribute { /** - *

                              The IPv4 address of the network interface within the subnet.

                              + *

                              The block device mapping entries.

                              */ - PrivateIpAddress?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                              One or more private IPv4 addresses associated with the network interface.

                              + *

                              The ID of the AMI.

                              */ - PrivateIpAddresses?: InstancePrivateIpAddress[]; + ImageId?: string; /** - *

                              Indicates whether source/destination checking is enabled.

                              + *

                              The launch permissions.

                              */ - SourceDestCheck?: boolean; + LaunchPermissions?: LaunchPermission[]; /** - *

                              The status of the network interface.

                              + *

                              The product codes.

                              */ - Status?: NetworkInterfaceStatus | string; + ProductCodes?: ProductCode[]; /** - *

                              The ID of the subnet.

                              + *

                              A description for the AMI.

                              */ - SubnetId?: string; + Description?: AttributeValue; /** - *

                              The ID of the VPC.

                              + *

                              The kernel ID.

                              */ - VpcId?: string; + KernelId?: AttributeValue; /** - *

                              Describes the type of network interface.

                              - *

                              Valid values: interface | efa | trunk - *

                              + *

                              The RAM disk ID.

                              */ - InterfaceType?: string; + RamdiskId?: AttributeValue; /** - *

                              The IPv4 delegated prefixes that are assigned to the network interface.

                              + *

                              Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                              */ - Ipv4Prefixes?: InstanceIpv4Prefix[]; + SriovNetSupport?: AttributeValue; /** - *

                              The IPv6 delegated prefixes that are assigned to the network interface.

                              + *

                              Describes a value for a resource attribute that is a String.

                              */ - Ipv6Prefixes?: InstanceIpv6Prefix[]; + BootMode?: AttributeValue; } -export namespace InstanceNetworkInterface { +export namespace ImageAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceNetworkInterface): any => ({ + export const filterSensitiveLog = (obj: ImageAttribute): any => ({ ...obj, }); } -/** - *

                              Describes the options for instance hostnames.

                              - */ -export interface PrivateDnsNameOptionsResponse { - /** - *

                              The type of hostname to assign to an instance.

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

                              Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                              - */ - EnableResourceNameDnsARecord?: boolean; - - /** - *

                              Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                              - */ - EnableResourceNameDnsAAAARecord?: boolean; -} - -export namespace PrivateDnsNameOptionsResponse { +export interface DescribeImagesRequest { /** - * @internal + *

                              Scopes the images by users with explicit launch permissions. + * Specify an Amazon Web Services account ID, self (the sender of the request), + * or all (public AMIs).

                              + *
                                + *
                              • + *

                                If you specify an Amazon Web Services account ID that is not your own, only AMIs + * shared with that specific Amazon Web Services account ID are returned. However, AMIs that + * are shared with the account’s organization or organizational unit (OU) are not + * returned.

                                + *
                              • + *
                              • + *

                                If you specify self or your own Amazon Web Services account ID, AMIs + * shared with your account are returned. In addition, AMIs that are shared with the + * organization or OU of which you are member are also returned.

                                + *
                              • + *
                              • + *

                                If you specify all, all public AMIs are returned.

                                + *
                              • + *
                              */ - export const filterSensitiveLog = (obj: PrivateDnsNameOptionsResponse): any => ({ - ...obj, - }); -} - -export type InstanceStateName = "pending" | "running" | "shutting-down" | "stopped" | "stopping" | "terminated"; + ExecutableUsers?: string[]; -/** - *

                              Describes the current state of an instance.

                              - */ -export interface InstanceState { /** - *

                              The state of the instance as a 16-bit unsigned integer.

                              - *

                              The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values - * between 256 and 65,535. These numerical values are used for internal purposes and should - * be ignored.

                              - *

                              The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values - * between 0 and 255.

                              - *

                              The valid values for instance-state-code will all be in the range of the low byte and - * they are:

                              - *
                                + *

                                The filters.

                                + *
                                  *
                                • - *

                                  - * 0 : pending - *

                                  + *

                                  + * architecture - The image architecture (i386 | + * x86_64 | arm64).

                                  *
                                • *
                                • - *

                                  - * 16 : running - *

                                  + *

                                  + * block-device-mapping.delete-on-termination - A Boolean value that indicates + * whether the Amazon EBS volume is deleted on instance termination.

                                  *
                                • *
                                • - *

                                  - * 32 : shutting-down - *

                                  + *

                                  + * block-device-mapping.device-name - The device name specified in the block device mapping (for + * example, /dev/sdh or xvdh).

                                  *
                                • *
                                • - *

                                  - * 48 : terminated - *

                                  + *

                                  + * block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS + * volume.

                                  *
                                • *
                                • - *

                                  - * 64 : stopping - *

                                  + *

                                  + * block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.volume-type - The volume type of the Amazon EBS volume + * (io1 | io2 | gp2 | gp3 | sc1 + * | st1 | standard).

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

                                  + *
                                • + *
                                • + *

                                  + * description - The description of the image (provided during image + * creation).

                                  + *
                                • + *
                                • + *

                                  + * ena-support - A Boolean that indicates whether enhanced networking + * with ENA is enabled.

                                  + *
                                • + *
                                • + *

                                  + * hypervisor - The hypervisor type (ovm | + * xen).

                                  + *
                                • + *
                                • + *

                                  + * image-id - The ID of the image.

                                  + *
                                • + *
                                • + *

                                  + * image-type - The image type (machine | kernel | + * ramdisk).

                                  + *
                                • + *
                                • + *

                                  + * is-public - A Boolean that indicates whether the image is public.

                                  + *
                                • + *
                                • + *

                                  + * kernel-id - The kernel ID.

                                  + *
                                • + *
                                • + *

                                  + * manifest-location - The location of the image manifest.

                                  + *
                                • + *
                                • + *

                                  + * name - The name of the AMI (provided during image creation).

                                  + *
                                • + *
                                • + *

                                  + * owner-alias - The owner alias (amazon | aws-marketplace). + * The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be + * set using the IAM console. We recommend that you use the Owner + * request parameter instead of this filter.

                                  + *
                                • + *
                                • + *

                                  + * owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the + * Owner request parameter instead of this filter.

                                  + *
                                • + *
                                • + *

                                  + * platform - The platform. To only list Windows-based AMIs, use + * windows.

                                  + *
                                • + *
                                • + *

                                  + * product-code - The product code.

                                  + *
                                • + *
                                • + *

                                  + * product-code.type - The type of the product code (marketplace).

                                  + *
                                • + *
                                • + *

                                  + * ramdisk-id - The RAM disk ID.

                                  + *
                                • + *
                                • + *

                                  + * root-device-name - The device name of the root device volume (for example, /dev/sda1).

                                  + *
                                • + *
                                • + *

                                  + * root-device-type - The type of the root device volume (ebs | + * instance-store).

                                  + *
                                • + *
                                • + *

                                  + * state - The state of the image (available | pending + * | failed).

                                  + *
                                • + *
                                • + *

                                  + * state-reason-code - The reason code for the state change.

                                  + *
                                • + *
                                • + *

                                  + * state-reason-message - The message for the state change.

                                  *
                                • *
                                • *

                                  - * 80 : stopped - *

                                  + * sriov-net-support - A value of simple indicates + * that enhanced networking with the Intel 82599 VF interface is enabled.

                                  *
                                • - *
                                - *

                                You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in - * decimal.

                                - */ - Code?: number; + *
                              • + *

                                + * 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.

                                + *
                              • + *
                              • + *

                                + * virtualization-type - The virtualization type (paravirtual | + * hvm).

                                + *
                              • + *
                              + */ + Filters?: Filter[]; /** - *

                              The current state of the instance.

                              + *

                              The image IDs.

                              + *

                              Default: Describes all images available to you.

                              */ - Name?: InstanceStateName | string; + ImageIds?: string[]; + + /** + *

                              Scopes the results to images with the specified owners. You can specify a combination of + * Amazon Web Services 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.

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

                              If true, all deprecated AMIs are included in the response. If + * false, no deprecated AMIs are included in the response. If no value is + * specified, the default value is false.

                              + * + *

                              If you are the AMI owner, all deprecated AMIs appear in the response regardless of the value (true or false) that you set for this parameter.

                              + *
                              + */ + IncludeDeprecated?: 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 InstanceState { +export namespace DescribeImagesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceState): any => ({ + export const filterSensitiveLog = (obj: DescribeImagesRequest): any => ({ ...obj, }); } +export type ArchitectureValues = "arm64" | "i386" | "x86_64" | "x86_64_mac"; + +export type BootModeValues = "legacy-bios" | "uefi"; + +export type HypervisorType = "ovm" | "xen"; + +export type ImageTypeValues = "kernel" | "machine" | "ramdisk"; + +export type DeviceType = "ebs" | "instance-store"; + +export type ImageState = "available" | "deregistered" | "error" | "failed" | "invalid" | "pending" | "transient"; + /** - *

                              Describes an instance.

                              + *

                              Describes a state change.

                              */ -export interface Instance { +export interface StateReason { /** - *

                              The AMI launch index, which can be used to find this instance in the launch - * group.

                              + *

                              The reason code for the state change.

                              */ - AmiLaunchIndex?: number; + Code?: string; /** - *

                              The ID of the AMI used to launch the instance.

                              + *

                              The message for the state change.

                              + *
                                + *
                              • + *

                                + * Server.InsufficientInstanceCapacity: There was insufficient + * capacity available to satisfy the launch request.

                                + *
                              • + *
                              • + *

                                + * Server.InternalError: An internal error caused the instance to + * terminate during launch.

                                + *
                              • + *
                              • + *

                                + * Server.ScheduledStop: The instance was stopped due to a scheduled + * retirement.

                                + *
                              • + *
                              • + *

                                + * Server.SpotInstanceShutdown: The instance was stopped because the + * number of Spot requests with a maximum price equal to or higher than the Spot + * price exceeded available capacity or because of an increase in the Spot + * price.

                                + *
                              • + *
                              • + *

                                + * Server.SpotInstanceTermination: The instance was terminated + * because the number of Spot requests with a maximum price equal to or higher than + * the Spot price exceeded available capacity or because of an increase in the Spot + * price.

                                + *
                              • + *
                              • + *

                                + * Client.InstanceInitiatedShutdown: The instance was shut down + * using the shutdown -h command from the instance.

                                + *
                              • + *
                              • + *

                                + * Client.InstanceTerminated: The instance was terminated or + * rebooted during AMI creation.

                                + *
                              • + *
                              • + *

                                + * Client.InternalError: A client error caused the instance to + * terminate during launch.

                                + *
                              • + *
                              • + *

                                + * Client.InvalidSnapshot.NotFound: The specified snapshot was not + * found.

                                + *
                              • + *
                              • + *

                                + * Client.UserInitiatedHibernate: Hibernation was initiated on the + * instance.

                                + *
                              • + *
                              • + *

                                + * Client.UserInitiatedShutdown: The instance was shut down using + * the Amazon EC2 API.

                                + *
                              • + *
                              • + *

                                + * Client.VolumeLimitExceeded: The limit on the number of EBS + * volumes or total storage was exceeded. Decrease usage or request an increase in + * your account limits.

                                + *
                              • + *
                              */ - ImageId?: string; + Message?: string; +} +export namespace StateReason { /** - *

                              The ID of the instance.

                              + * @internal */ - InstanceId?: string; + export const filterSensitiveLog = (obj: StateReason): any => ({ + ...obj, + }); +} +export type VirtualizationType = "hvm" | "paravirtual"; + +/** + *

                              Describes an image.

                              + */ +export interface Image { /** - *

                              The instance type.

                              + *

                              The architecture of the image.

                              */ - InstanceType?: _InstanceType | string; + Architecture?: ArchitectureValues | string; /** - *

                              The kernel associated with this instance, if applicable.

                              + *

                              The date and time the image was created.

                              */ - KernelId?: string; + CreationDate?: string; /** - *

                              The name of the key pair, if this instance was launched with an associated key - * pair.

                              + *

                              The ID of the AMI.

                              */ - KeyName?: string; + ImageId?: string; /** - *

                              The time the instance was launched.

                              + *

                              The location of the AMI.

                              */ - LaunchTime?: Date; + ImageLocation?: string; /** - *

                              The monitoring for the instance.

                              + *

                              The type of image.

                              */ - Monitoring?: Monitoring; + ImageType?: ImageTypeValues | string; /** - *

                              The location where the instance launched, if applicable.

                              + *

                              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.

                              */ - Placement?: Placement; + Public?: boolean; /** - *

                              The value is Windows for Windows instances; otherwise blank.

                              + *

                              The kernel associated with the image, if any. Only applicable for machine images.

                              */ - Platform?: PlatformValues | string; + KernelId?: 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 ID of the Amazon Web Services account that owns the image.

                              */ - PrivateDnsName?: string; + OwnerId?: string; /** - *

                              The private IPv4 address assigned to the instance.

                              + *

                              This value is set to windows for Windows AMIs; otherwise, it is blank.

                              */ - PrivateIpAddress?: string; + Platform?: PlatformValues | string; /** - *

                              The product codes attached to this instance, if applicable.

                              + *

                              The platform details associated with the billing code of the AMI. For more information, + * see Understanding + * AMI billing in the Amazon Elastic Compute Cloud User Guide.

                              */ - ProductCodes?: ProductCode[]; + PlatformDetails?: 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 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 Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price + * List API. You can view these fields on the Instances or + * AMIs pages in the Amazon EC2 console, or in the responses that are + * returned by the DescribeImages + * command in the Amazon EC2 API, or the describe-images + * command in the CLI.

                              */ - PublicDnsName?: string; + UsageOperation?: string; /** - *

                              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.

                              + *

                              Any product codes associated with the AMI.

                              */ - PublicIpAddress?: string; + ProductCodes?: ProductCode[]; /** - *

                              The RAM disk associated with this instance, if applicable.

                              + *

                              The RAM disk associated with the image, if any. Only applicable for machine images.

                              */ RamdiskId?: string; /** - *

                              The current state of the instance.

                              + *

                              The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

                              */ - State?: InstanceState; + State?: ImageState | string; /** - *

                              The reason for the most recent state transition. This might be an empty string.

                              + *

                              Any block device mapping entries.

                              */ - StateTransitionReason?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                              [EC2-VPC] The ID of the subnet in which the instance is running.

                              + *

                              The description of the AMI that was provided during image creation.

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

                              [EC2-VPC] The ID of the VPC in which the instance is running.

                              + *

                              Specifies whether enhanced networking with ENA is enabled.

                              */ - VpcId?: string; + EnaSupport?: boolean; /** - *

                              The architecture of the image.

                              + *

                              The hypervisor type of the image.

                              */ - Architecture?: ArchitectureValues | string; + Hypervisor?: HypervisorType | string; /** - *

                              Any block device mapping entries for the instance.

                              + *

                              The Amazon Web Services account alias (for example, amazon, self) or + * the Amazon Web Services account ID of the AMI owner.

                              */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + ImageOwnerAlias?: string; /** - *

                              The idempotency token you provided when you launched the instance, if - * applicable.

                              + *

                              The name of the AMI that was provided during image creation.

                              */ - ClientToken?: string; + Name?: 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 I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

                              + *

                              The device name of the root device volume (for example, /dev/sda1).

                              */ - EbsOptimized?: boolean; + RootDeviceName?: string; /** - *

                              Specifies whether enhanced networking with ENA is enabled.

                              + *

                              The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

                              */ - EnaSupport?: boolean; + RootDeviceType?: DeviceType | string; /** - *

                              The hypervisor type of the instance. The value xen is used for both Xen and - * Nitro hypervisors.

                              + *

                              Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                              */ - Hypervisor?: HypervisorType | string; + SriovNetSupport?: string; /** - *

                              The IAM instance profile associated with the instance, if applicable.

                              + *

                              The reason for the state change.

                              */ - IamInstanceProfile?: IamInstanceProfile; + StateReason?: StateReason; /** - *

                              Indicates whether this is a Spot Instance or a Scheduled Instance.

                              + *

                              Any tags assigned to the image.

                              */ - InstanceLifecycle?: InstanceLifecycleType | string; + Tags?: Tag[]; /** - *

                              The Elastic GPU associated with the instance.

                              + *

                              The type of virtualization of the AMI.

                              */ - ElasticGpuAssociations?: ElasticGpuAssociation[]; + VirtualizationType?: VirtualizationType | string; /** - *

                              The elastic inference accelerator associated with the instance.

                              + *

                              The boot mode of the image. For more information, see Boot modes in the + * Amazon Elastic Compute Cloud User Guide.

                              */ - ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; + BootMode?: BootModeValues | string; /** - *

                              [EC2-VPC] The network interfaces for the instance.

                              + *

                              The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specified a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

                              */ - NetworkInterfaces?: InstanceNetworkInterface[]; + DeprecationTime?: string; +} +export namespace Image { /** - *

                              The Amazon Resource Name (ARN) of the Outpost.

                              + * @internal */ - OutpostArn?: string; + export const filterSensitiveLog = (obj: Image): any => ({ + ...obj, + }); +} +export interface DescribeImagesResult { /** - *

                              The device name of the root device volume (for example, - * /dev/sda1).

                              + *

                              Information about the images.

                              */ - RootDeviceName?: string; + Images?: Image[]; +} +export namespace DescribeImagesResult { /** - *

                              The root device type used by the AMI. The AMI can use an EBS volume or an instance - * store volume.

                              + * @internal */ - RootDeviceType?: DeviceType | string; + export const filterSensitiveLog = (obj: DescribeImagesResult): any => ({ + ...obj, + }); +} +export interface DescribeImportImageTasksRequest { /** - *

                              The security groups for the instance.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - SecurityGroups?: GroupIdentifier[]; + DryRun?: boolean; /** - *

                              Indicates whether source/destination checking is enabled.

                              + *

                              Filter tasks using the task-state filter and one of the following values: active, + * completed, deleting, or deleted.

                              */ - SourceDestCheck?: boolean; + Filters?: Filter[]; /** - *

                              If the request is a Spot Instance request, the ID of the request.

                              + *

                              The IDs of the import image tasks.

                              */ - SpotInstanceRequestId?: string; + ImportTaskIds?: string[]; /** - *

                              Specifies whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

                              + *

                              The maximum number of results to return in a single call.

                              */ - SriovNetSupport?: string; + MaxResults?: number; /** - *

                              The reason for the most recent state transition.

                              + *

                              A token that indicates the next page of results.

                              */ - StateReason?: StateReason; + NextToken?: string; +} +export namespace DescribeImportImageTasksRequest { /** - *

                              Any tags assigned to the instance.

                              + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: DescribeImportImageTasksRequest): any => ({ + ...obj, + }); +} +/** + *

                              The response information for license configurations.

                              + */ +export interface ImportImageLicenseConfigurationResponse { /** - *

                              The virtualization type of the instance.

                              + *

                              The ARN of a license configuration.

                              */ - VirtualizationType?: VirtualizationType | string; + LicenseConfigurationArn?: string; +} +export namespace ImportImageLicenseConfigurationResponse { /** - *

                              The CPU options for the instance.

                              + * @internal */ - CpuOptions?: CpuOptions; + export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationResponse): any => ({ + ...obj, + }); +} +/** + *

                              Describes the Amazon S3 bucket for the disk image.

                              + */ +export interface UserBucketDetails { /** - *

                              The ID of the Capacity Reservation.

                              + *

                              The Amazon S3 bucket from which the disk image was created.

                              */ - CapacityReservationId?: string; + S3Bucket?: string; /** - *

                              Information about the Capacity Reservation targeting option.

                              + *

                              The file name of the disk image.

                              */ - CapacityReservationSpecification?: CapacityReservationSpecificationResponse; + S3Key?: string; +} +export namespace UserBucketDetails { /** - *

                              Indicates whether the instance is enabled for hibernation.

                              + * @internal */ - HibernationOptions?: HibernationOptions; + export const filterSensitiveLog = (obj: UserBucketDetails): any => ({ + ...obj, + }); +} +/** + *

                              Describes the snapshot created from the imported disk.

                              + */ +export interface SnapshotDetail { /** - *

                              The license configurations for the instance.

                              + *

                              A description for the snapshot.

                              */ - Licenses?: LicenseConfiguration[]; + Description?: string; /** - *

                              The metadata options for the instance.

                              + *

                              The block device mapping for the snapshot.

                              */ - MetadataOptions?: InstanceMetadataOptionsResponse; + DeviceName?: string; /** - *

                              Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                              + *

                              The size of the disk in the snapshot, in GiB.

                              */ - EnclaveOptions?: EnclaveOptions; + DiskImageSize?: number; /** - *

                              The boot mode of the instance. For more information, see Boot modes in the - * Amazon EC2 User Guide.

                              + *

                              The format of the disk image from which the snapshot is created.

                              */ - BootMode?: BootModeValues | string; + Format?: string; /** - *

                              The platform details value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

                              + *

                              The percentage of progress for the task.

                              */ - PlatformDetails?: string; + Progress?: string; /** - *

                              The usage operation value for the instance. For more information, see AMI billing information fields - * in the Amazon EC2 User Guide.

                              + *

                              The snapshot ID of the disk being imported.

                              */ - UsageOperation?: string; + SnapshotId?: string; /** - *

                              The time that the usage operation was last updated.

                              + *

                              A brief status of the snapshot creation.

                              */ - UsageOperationUpdateTime?: Date; + Status?: string; /** - *

                              The options for the instance hostname.

                              + *

                              A detailed status message for the snapshot creation.

                              */ - PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse; + StatusMessage?: string; /** - *

                              The IPv6 address assigned to the instance.

                              + *

                              The URL used to access the disk image.

                              */ - Ipv6Address?: string; + Url?: string; + + /** + *

                              The Amazon S3 bucket for the disk image.

                              + */ + UserBucket?: UserBucketDetails; } -export namespace Instance { +export namespace SnapshotDetail { /** * @internal */ - export const filterSensitiveLog = (obj: Instance): any => ({ + export const filterSensitiveLog = (obj: SnapshotDetail): any => ({ ...obj, }); } /** - *

                              Describes a launch request for one or more instances, and includes - * owner, requester, and security group information that applies to all - * instances in the launch request.

                              + *

                              Describes an import image task.

                              */ -export interface Reservation { +export interface ImportImageTask { /** - *

                              [EC2-Classic only] The security groups.

                              + *

                              The architecture of the virtual machine.

                              + *

                              Valid values: i386 | x86_64 | arm64 + *

                              */ - Groups?: GroupIdentifier[]; + Architecture?: string; /** - *

                              The instances.

                              + *

                              A description of the import task.

                              */ - Instances?: Instance[]; + Description?: string; /** - *

                              The ID of the Amazon Web Services account that owns the reservation.

                              + *

                              Indicates whether the image is encrypted.

                              */ - OwnerId?: string; + Encrypted?: boolean; /** - *

                              The ID of the requester that launched the instances on your behalf (for example, - * Amazon Web Services Management Console or Auto Scaling).

                              + *

                              The target hypervisor for the import task.

                              + *

                              Valid values: xen + *

                              */ - RequesterId?: string; + Hypervisor?: string; /** - *

                              The ID of the reservation.

                              + *

                              The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

                              */ - ReservationId?: string; -} + ImageId?: string; -export namespace Reservation { /** - * @internal + *

                              The ID of the import image task.

                              */ - export const filterSensitiveLog = (obj: Reservation): any => ({ - ...obj, - }); -} + ImportTaskId?: string; -export interface DescribeInstancesResult { /** - *

                              Information about the reservations.

                              + *

                              The identifier for the KMS key that was used to create the encrypted image.

                              */ - Reservations?: Reservation[]; + KmsKeyId?: 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 license type of the virtual machine.

                              */ - NextToken?: string; -} + LicenseType?: string; -export namespace DescribeInstancesResult { /** - * @internal + *

                              The description string for the import image task.

                              */ - export const filterSensitiveLog = (obj: DescribeInstancesResult): any => ({ - ...obj, - }); -} + Platform?: string; -export interface DescribeInstanceStatusRequest { /** - *

                              The filters.

                              - *
                                - *
                              • - *

                                - * availability-zone - The Availability Zone of the instance.

                                - *
                              • - *
                              • - *

                                - * event.code - The code for the scheduled event - * (instance-reboot | system-reboot | - * system-maintenance | instance-retirement | - * instance-stop).

                                - *
                              • - *
                              • - *

                                - * event.description - A description of the event.

                                - *
                              • - *
                              • - *

                                - * event.instance-event-id - The ID of the event whose date and time - * you are modifying.

                                - *
                              • - *
                              • - *

                                - * event.not-after - The latest end time for the scheduled event - * (for example, 2014-09-15T17:15:20.000Z).

                                - *
                              • - *
                              • - *

                                - * event.not-before - The earliest start time for the scheduled - * event (for example, 2014-09-15T17:15:20.000Z).

                                - *
                              • - *
                              • - *

                                - * event.not-before-deadline - The deadline for starting the event - * (for example, 2014-09-15T17:15:20.000Z).

                                - *
                              • - *
                              • - *

                                - * instance-state-code - The code for the instance state, as a - * 16-bit unsigned integer. The high byte is used for internal purposes and should - * be ignored. The low byte is set based on the state represented. The valid values - * are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 - * (stopping), and 80 (stopped).

                                - *
                              • - *
                              • - *

                                - * instance-state-name - The state of the instance - * (pending | running | shutting-down | - * terminated | stopping | - * stopped).

                                - *
                              • - *
                              • - *

                                - * instance-status.reachability - Filters on instance status where - * the name is reachability (passed | failed - * | initializing | insufficient-data).

                                - *
                              • - *
                              • - *

                                - * instance-status.status - The status of the instance - * (ok | impaired | initializing | - * insufficient-data | not-applicable).

                                - *
                              • - *
                              • - *

                                - * system-status.reachability - Filters on system status where the - * name is reachability (passed | failed | - * initializing | insufficient-data).

                                - *
                              • - *
                              • - *

                                - * system-status.status - The system status of the instance - * (ok | impaired | initializing | - * insufficient-data | not-applicable).

                                - *
                              • - *
                              - */ - Filters?: Filter[]; - - /** - *

                              The instance IDs.

                              - *

                              Default: Describes all your instances.

                              - *

                              Constraints: Maximum 100 explicitly specified instance IDs.

                              - */ - InstanceIds?: 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.

                              + *

                              The percentage of progress of the import image task.

                              */ - MaxResults?: number; + Progress?: string; /** - *

                              The token to retrieve the next page of results.

                              + *

                              Information about the snapshots.

                              */ - NextToken?: string; + SnapshotDetails?: SnapshotDetail[]; /** - *

                              Checks whether you have the required permissions for the action, without 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 brief status for the import image task.

                              */ - DryRun?: boolean; + Status?: string; /** - *

                              When true, includes the health status for all instances. When - * false, includes the health status for running instances only.

                              - *

                              Default: false - *

                              + *

                              A descriptive status message for the import image task.

                              */ - IncludeAllInstances?: boolean; -} + StatusMessage?: string; -export namespace DescribeInstanceStatusRequest { /** - * @internal + *

                              The tags for the import image task.

                              */ - export const filterSensitiveLog = (obj: DescribeInstanceStatusRequest): any => ({ - ...obj, - }); -} - -export type EventCode = - | "instance-reboot" - | "instance-retirement" - | "instance-stop" - | "system-maintenance" - | "system-reboot"; + Tags?: Tag[]; -/** - *

                              Describes a scheduled event for an instance.

                              - */ -export interface InstanceStatusEvent { /** - *

                              The ID of the event.

                              + *

                              The ARNs of the license configurations that are associated with the import image task.

                              */ - InstanceEventId?: string; + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; /** - *

                              The event code.

                              + *

                              The usage operation value.

                              */ - Code?: EventCode | string; + UsageOperation?: string; /** - *

                              A description of the event.

                              - *

                              After a scheduled event is completed, it can still be described for up to a week. If - * the event has been completed, this description starts with the following text: - * [Completed].

                              + *

                              The boot mode of the virtual machine.

                              */ - Description?: string; + BootMode?: BootModeValues | string; +} +export namespace ImportImageTask { /** - *

                              The latest scheduled end time for the event.

                              + * @internal */ - NotAfter?: Date; + export const filterSensitiveLog = (obj: ImportImageTask): any => ({ + ...obj, + }); +} +export interface DescribeImportImageTasksResult { /** - *

                              The earliest scheduled start time for the event.

                              + *

                              A list of zero or more import image tasks that are currently active or were completed or canceled in the + * previous 7 days.

                              */ - NotBefore?: Date; + ImportImageTasks?: ImportImageTask[]; /** - *

                              The deadline for starting the event.

                              + *

                              The token to use to get the next page of results. This value is null when there are no more results + * to return.

                              */ - NotBeforeDeadline?: Date; + NextToken?: string; } -export namespace InstanceStatusEvent { +export namespace DescribeImportImageTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatusEvent): any => ({ + export const filterSensitiveLog = (obj: DescribeImportImageTasksResult): any => ({ ...obj, }); } -export type StatusName = "reachability"; +export interface DescribeImportSnapshotTasksRequest { + /** + *

                              Checks whether you have the required permissions for the action, without 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 type StatusType = "failed" | "initializing" | "insufficient-data" | "passed"; + /** + *

                              The filters.

                              + */ + Filters?: Filter[]; -/** - *

                              Describes the instance status.

                              - */ -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.

                              + *

                              A list of import snapshot task IDs.

                              */ - ImpairedSince?: Date; + ImportTaskIds?: string[]; /** - *

                              The type of instance status.

                              + *

                              The maximum number of results to return in a single call. To retrieve the remaining results, make another call + * with the returned NextToken value.

                              */ - Name?: StatusName | string; + MaxResults?: number; /** - *

                              The status.

                              + *

                              A token that indicates the next page of results.

                              */ - Status?: StatusType | string; + NextToken?: string; } -export namespace InstanceStatusDetails { +export namespace DescribeImportSnapshotTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatusDetails): any => ({ + export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksRequest): any => ({ ...obj, }); } -export type SummaryStatus = "impaired" | "initializing" | "insufficient-data" | "not-applicable" | "ok"; - /** - *

                              Describes the status of an instance.

                              + *

                              Details about the import snapshot task.

                              */ -export interface InstanceStatusSummary { +export interface SnapshotTaskDetail { /** - *

                              The system instance health or application instance health.

                              + *

                              The description of the snapshot.

                              */ - Details?: InstanceStatusDetails[]; + Description?: string; /** - *

                              The status.

                              + *

                              The size of the disk in the snapshot, in GiB.

                              */ - Status?: SummaryStatus | string; -} + DiskImageSize?: number; -export namespace InstanceStatusSummary { /** - * @internal + *

                              Indicates whether the snapshot is encrypted.

                              */ - export const filterSensitiveLog = (obj: InstanceStatusSummary): any => ({ - ...obj, - }); -} + Encrypted?: boolean; -/** - *

                              Describes the status of an instance.

                              - */ -export interface InstanceStatus { /** - *

                              The Availability Zone of the instance.

                              + *

                              The format of the disk image from which the snapshot is created.

                              */ - AvailabilityZone?: string; + Format?: string; /** - *

                              The Amazon Resource Name (ARN) of the Outpost.

                              + *

                              The identifier for the KMS key that was used to create the encrypted snapshot.

                              */ - OutpostArn?: string; + KmsKeyId?: string; /** - *

                              Any scheduled events associated with the instance.

                              + *

                              The percentage of completion for the import snapshot task.

                              */ - Events?: InstanceStatusEvent[]; + Progress?: string; /** - *

                              The ID of the instance.

                              + *

                              The snapshot ID of the disk being imported.

                              */ - InstanceId?: string; + SnapshotId?: string; /** - *

                              The intended state of the instance. DescribeInstanceStatus requires - * that an instance be in the running state.

                              + *

                              A brief status for the import snapshot task.

                              */ - InstanceState?: InstanceState; + Status?: string; /** - *

                              Reports impaired functionality that stems from issues internal to the instance, such - * as impaired reachability.

                              + *

                              A detailed status message for the import snapshot task.

                              */ - InstanceStatus?: InstanceStatusSummary; + StatusMessage?: string; /** - *

                              Reports impaired functionality that stems from issues related to the systems that - * support an instance, such as hardware failures and network connectivity problems.

                              + *

                              The URL of the disk image from which the snapshot is created.

                              */ - SystemStatus?: InstanceStatusSummary; + Url?: string; + + /** + *

                              The Amazon S3 bucket for the disk image.

                              + */ + UserBucket?: UserBucketDetails; } -export namespace InstanceStatus { +export namespace SnapshotTaskDetail { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatus): any => ({ + export const filterSensitiveLog = (obj: SnapshotTaskDetail): any => ({ ...obj, }); } -export interface DescribeInstanceStatusResult { +/** + *

                              Describes an import snapshot task.

                              + */ +export interface ImportSnapshotTask { /** - *

                              Information about the status of the instances.

                              + *

                              A description of the import snapshot task.

                              */ - InstanceStatuses?: InstanceStatus[]; + 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 ID of the import snapshot task.

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

                              Describes an import snapshot task.

                              + */ + SnapshotTaskDetail?: SnapshotTaskDetail; + + /** + *

                              The tags for the import snapshot task.

                              + */ + Tags?: Tag[]; } -export namespace DescribeInstanceStatusResult { +export namespace ImportSnapshotTask { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceStatusResult): any => ({ + export const filterSensitiveLog = (obj: ImportSnapshotTask): any => ({ ...obj, }); } -export type LocationType = "availability-zone" | "availability-zone-id" | "region"; +export interface DescribeImportSnapshotTasksResult { + /** + *

                              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[]; -export interface DescribeInstanceTypeOfferingsRequest { /** - *

                              Checks whether you have the required permissions for the action, without 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 get the next page of results. This value is null when there are no more results + * to return.

                              */ - DryRun?: boolean; + NextToken?: string; +} +export namespace DescribeImportSnapshotTasksResult { /** - *

                              The location type.

                              + * @internal */ - LocationType?: LocationType | string; + export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksResult): any => ({ + ...obj, + }); +} + +export type InstanceAttributeName = + | "blockDeviceMapping" + | "disableApiTermination" + | "ebsOptimized" + | "enaSupport" + | "enclaveOptions" + | "groupSet" + | "instanceInitiatedShutdownBehavior" + | "instanceType" + | "kernel" + | "productCodes" + | "ramdisk" + | "rootDeviceName" + | "sourceDestCheck" + | "sriovNetSupport" + | "userData"; +export interface DescribeInstanceAttributeRequest { /** - *

                              One or more filters. Filter names and values are case-sensitive.

                              - *
                                - *
                              • - *

                                - * location - This depends on the location type. For example, if the location type is - * region (default), the location is the Region code (for example, us-east-2.)

                                - *
                              • - *
                              • - *

                                - * instance-type - The instance type. For example, - * c5.2xlarge.

                                - *
                              • - *
                              + *

                              The instance attribute.

                              + *

                              Note: The enaSupport attribute is not supported at this time.

                              */ - Filters?: Filter[]; + Attribute: InstanceAttributeName | 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 next token value.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - MaxResults?: number; + DryRun?: boolean; /** - *

                              The token to retrieve the next page of results.

                              + *

                              The ID of the instance.

                              */ - NextToken?: string; + InstanceId: string | undefined; } -export namespace DescribeInstanceTypeOfferingsRequest { +export namespace DescribeInstanceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceAttributeRequest): any => ({ ...obj, }); } /** - *

                              The instance types offered.

                              + *

                              Describes a parameter used to set up an EBS volume in a block device mapping.

                              */ -export interface InstanceTypeOffering { +export interface EbsInstanceBlockDevice { /** - *

                              The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                              + *

                              The time stamp when the attachment initiated.

                              */ - InstanceType?: _InstanceType | string; + AttachTime?: Date; /** - *

                              The location type.

                              + *

                              Indicates whether the volume is deleted on instance termination.

                              */ - LocationType?: LocationType | string; + DeleteOnTermination?: boolean; /** - *

                              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.)

                              + *

                              The attachment state.

                              */ - Location?: string; + Status?: AttachmentStatus | string; + + /** + *

                              The ID of the EBS volume.

                              + */ + VolumeId?: string; } -export namespace InstanceTypeOffering { +export namespace EbsInstanceBlockDevice { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceTypeOffering): any => ({ + export const filterSensitiveLog = (obj: EbsInstanceBlockDevice): any => ({ ...obj, }); } -export interface DescribeInstanceTypeOfferingsResult { +/** + *

                              Describes a block device mapping.

                              + */ +export interface InstanceBlockDeviceMapping { /** - *

                              The instance types offered.

                              + *

                              The device name (for example, /dev/sdh or xvdh).

                              */ - InstanceTypeOfferings?: InstanceTypeOffering[]; + DeviceName?: string; /** - *

                              The token to use to retrieve the next page of results. This value is null when there - * are no more results to return.

                              + *

                              Parameters used to automatically set up EBS volumes when the instance is + * launched.

                              */ - NextToken?: string; + Ebs?: EbsInstanceBlockDevice; } -export namespace DescribeInstanceTypeOfferingsResult { +export namespace InstanceBlockDeviceMapping { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsResult): any => ({ + export const filterSensitiveLog = (obj: InstanceBlockDeviceMapping): any => ({ ...obj, }); } -export interface DescribeInstanceTypesRequest { +/** + *

                              Describes a value for a resource attribute that is a Boolean value.

                              + */ +export interface 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 attribute value. The valid values are true or false.

                              */ - DryRun?: boolean; + Value?: boolean; +} +export namespace AttributeBooleanValue { /** - *

                              The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

                              + * @internal */ - InstanceTypes?: (_InstanceType | string)[]; + export const filterSensitiveLog = (obj: AttributeBooleanValue): any => ({ + ...obj, + }); +} +/** + *

                              Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                              + */ +export interface EnclaveOptions { /** - *

                              One or more filters. Filter names and values are case-sensitive.

                              - *
                                - *
                              • - *

                                - * auto-recovery-supported - Indicates whether auto recovery is supported (true | false).

                                - *
                              • - *
                              • - *

                                - * bare-metal - Indicates whether it is a bare metal instance type (true | false).

                                - *
                              • - *
                              • - *

                                - * burstable-performance-supported - Indicates whether it is a burstable - * performance instance type (true | false).

                                - *
                              • - *
                              • - *

                                - * current-generation - Indicates whether this instance type is the latest - * generation instance type of an instance family (true | false).

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline - * bandwidth performance for an EBS-optimized instance type, in Mbps.

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage - * operations per second for an EBS-optimized instance type.

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline - * throughput performance for an EBS-optimized instance type, in MB/s.

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth - * performance for an EBS-optimized instance type, in Mbps.

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage - * operations per second for an EBS-optimized instance type.

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum - * throughput performance for an EBS-optimized instance type, in MB/s.

                                - *
                              • - *
                              • - *

                                - * ebs-info.ebs-optimized-support - Indicates whether the instance type is - * EBS-optimized (supported | unsupported | - * default).

                                - *
                              • - *
                              • - *

                                - * ebs-info.encryption-support - Indicates whether EBS encryption is supported - * (supported | unsupported).

                                - *
                              • - *
                              • - *

                                - * ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) - * is supported for EBS volumes (required | supported | unsupported).

                                - *
                              • - *
                              • - *

                                - * free-tier-eligible - Indicates whether the instance type is eligible to use - * in the free tier (true | false).

                                - *
                              • - *
                              • - *

                                - * hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

                                - *
                              • - *
                              • - *

                                - * hypervisor - The hypervisor (nitro | xen).

                                - *
                              • - *
                              • - *

                                - * instance-storage-info.disk.count - The number of local disks.

                                - *
                              • - *
                              • - *

                                - * instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in - * GB.

                                - *
                              • - *
                              • - *

                                - * instance-storage-info.disk.type - The storage technology for the local - * instance storage disks (hdd | ssd).

                                - *
                              • - *
                              • - *

                                - * instance-storage-info.encryption-supported - Indicates whether data is encrypted at rest - * (required | unsupported).

                                - *
                              • - *
                              • - *

                                - * instance-storage-info.nvme-support - Indicates whether non-volatile memory - * express (NVMe) is supported for instance store (required | supported | - * unsupported).

                                - *
                              • - *
                              • - *

                                - * instance-storage-info.total-size-in-gb - The total amount of storage available from all local - * instance storage, in GB.

                                - *
                              • - *
                              • - *

                                - * instance-storage-supported - Indicates whether the instance type has local - * instance storage (true | false).

                                - *
                              • - *
                              • - *

                                - * instance-type - The instance type (for example c5.2xlarge or - * c5*).

                                - *
                              • - *
                              • - *

                                - * memory-info.size-in-mib - The memory size.

                                - *
                              • - *
                              • - *

                                - * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic - * Fabric Adapters (EFAs) per instance.

                                - *
                              • - *
                              • - *

                                - * network-info.efa-supported - Indicates whether the instance type supports - * Elastic Fabric Adapter (EFA) (true | false).

                                - *
                              • - *
                              • - *

                                - * network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is - * supported or required (required | supported | - * unsupported).

                                - *
                              • - *
                              • - *

                                - * network-info.encryption-in-transit-supported - Indicates whether the instance type - * automatically encrypts in-transit traffic between instances (true | false).

                                - *
                              • - *
                              • - *

                                - * network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per - * network interface.

                                - *
                              • - *
                              • - *

                                - * network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per - * network interface.

                                - *
                              • - *
                              • - *

                                - * network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

                                - *
                              • - *
                              • - *

                                - * network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

                                - *
                              • - *
                              • - *

                                - * network-info.network-performance - The network performance (for example, "25 - * Gigabit").

                                - *
                              • - *
                              • - *

                                - * processor-info.supported-architecture - The CPU architecture - * (arm64 | i386 | x86_64).

                                - *
                              • - *
                              • - *

                                - * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

                                - *
                              • - *
                              • - *

                                - * supported-boot-mode - The boot mode (legacy-bios | - * uefi).

                                - *
                              • - *
                              • - *

                                - * supported-root-device-type - The root device type (ebs | - * instance-store).

                                - *
                              • - *
                              • - *

                                - * supported-usage-class - The usage class (on-demand | - * spot).

                                - *
                              • - *
                              • - *

                                - * supported-virtualization-type - The virtualization type (hvm | - * paravirtual).

                                - *
                              • - *
                              • - *

                                - * vcpu-info.default-cores - The default number of cores for the instance type.

                                - *
                              • - *
                              • - *

                                - * vcpu-info.default-threads-per-core - The default number of threads per core for the instance - * type.

                                - *
                              • - *
                              • - *

                                - * vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

                                - *
                              • - *
                              • - *

                                - * vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

                                - *
                              • - *
                              • - *

                                - * vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. - * For example, "1" or "1,2".

                                - *
                              • - *
                              - */ - 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.

                              + *

                              If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; + * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

                              */ - NextToken?: string; + Enabled?: boolean; } -export namespace DescribeInstanceTypesRequest { +export namespace EnclaveOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceTypesRequest): any => ({ + export const filterSensitiveLog = (obj: EnclaveOptions): any => ({ ...obj, }); } /** - *

                              Describes the optimized EBS performance for supported instance types.

                              + *

                              Describes an instance attribute.

                              */ -export interface EbsOptimizedInfo { +export interface InstanceAttribute { /** - *

                              The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

                              + *

                              The security groups associated with the instance.

                              */ - BaselineBandwidthInMbps?: number; + Groups?: GroupIdentifier[]; /** - *

                              The baseline throughput performance for an EBS-optimized instance type, in MB/s.

                              + *

                              The block device mapping of the instance.

                              */ - BaselineThroughputInMBps?: number; + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                              The baseline input/output storage operations per seconds for an EBS-optimized instance type.

                              + *

                              If the value is true, you can't terminate the instance through the Amazon + * EC2 console, CLI, or API; otherwise, you can.

                              */ - BaselineIops?: number; + DisableApiTermination?: AttributeBooleanValue; /** - *

                              The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

                              + *

                              Indicates whether enhanced networking with ENA is enabled.

                              */ - MaximumBandwidthInMbps?: number; + EnaSupport?: AttributeBooleanValue; /** - *

                              The maximum throughput performance for an EBS-optimized instance type, in MB/s.

                              + *

                              To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true; otherwise, + * set it to false.

                              */ - MaximumThroughputInMBps?: number; + EnclaveOptions?: EnclaveOptions; /** - *

                              The maximum input/output storage operations per second for an EBS-optimized instance type.

                              + *

                              Indicates whether the instance is optimized for Amazon EBS I/O.

                              */ - MaximumIops?: number; -} + EbsOptimized?: AttributeBooleanValue; -export namespace EbsOptimizedInfo { /** - * @internal + *

                              The ID of the instance.

                              */ - export const filterSensitiveLog = (obj: EbsOptimizedInfo): any => ({ - ...obj, - }); -} - -export type EbsOptimizedSupport = "default" | "supported" | "unsupported"; - -export type EbsEncryptionSupport = "supported" | "unsupported"; - -export enum EbsNvmeSupport { - REQUIRED = "required", - SUPPORTED = "supported", - UNSUPPORTED = "unsupported", -} + InstanceId?: string; -/** - *

                              Describes the Amazon EBS features supported by the instance type.

                              - */ -export interface EbsInfo { /** - *

                              Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized - * instances in Amazon EC2 User Guide.

                              + *

                              Indicates whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                              */ - EbsOptimizedSupport?: EbsOptimizedSupport | string; + InstanceInitiatedShutdownBehavior?: AttributeValue; /** - *

                              Indicates whether Amazon EBS encryption is supported.

                              + *

                              The instance type.

                              */ - EncryptionSupport?: EbsEncryptionSupport | string; + InstanceType?: AttributeValue; /** - *

                              Describes the optimized EBS performance for the instance type.

                              + *

                              The kernel ID.

                              */ - EbsOptimizedInfo?: EbsOptimizedInfo; + KernelId?: AttributeValue; /** - *

                              Indicates whether non-volatile memory express (NVMe) is supported.

                              + *

                              A list of product codes.

                              */ - NvmeSupport?: EbsNvmeSupport | string; -} + ProductCodes?: ProductCode[]; -export namespace EbsInfo { /** - * @internal + *

                              The RAM disk ID.

                              */ - export const filterSensitiveLog = (obj: EbsInfo): any => ({ - ...obj, - }); -} + RamdiskId?: AttributeValue; -/** - *

                              Describes the memory for the FPGA accelerator for the instance type.

                              - */ -export interface FpgaDeviceMemoryInfo { /** - *

                              The size of the memory available to the FPGA accelerator, in MiB.

                              + *

                              The device name of the root device volume (for example, + * /dev/sda1).

                              */ - SizeInMiB?: number; + RootDeviceName?: AttributeValue; + + /** + *

                              Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

                              + */ + SourceDestCheck?: AttributeBooleanValue; + + /** + *

                              Indicates whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

                              + */ + SriovNetSupport?: AttributeValue; + + /** + *

                              The user data.

                              + */ + UserData?: AttributeValue; } -export namespace FpgaDeviceMemoryInfo { +export namespace InstanceAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaDeviceMemoryInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceAttribute): any => ({ ...obj, }); } -/** - *

                              Describes the FPGA accelerator for the instance type.

                              - */ -export interface FpgaDeviceInfo { +export interface DescribeInstanceCreditSpecificationsRequest { /** - *

                              The name of the FPGA accelerator.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - Name?: string; + DryRun?: boolean; /** - *

                              The manufacturer of the FPGA accelerator.

                              + *

                              The filters.

                              + *
                                + *
                              • + *

                                + * instance-id - The ID of the instance.

                                + *
                              • + *
                              */ - Manufacturer?: string; + Filters?: Filter[]; /** - *

                              The count of FPGA accelerators for the instance type.

                              + *

                              The instance IDs.

                              + *

                              Default: Describes all your instances.

                              + *

                              Constraints: Maximum 1000 explicitly specified instance IDs.

                              */ - Count?: number; + InstanceIds?: string[]; /** - *

                              Describes the memory for the FPGA accelerator for the instance type.

                              + *

                              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.

                              */ - MemoryInfo?: FpgaDeviceMemoryInfo; + MaxResults?: number; + + /** + *

                              The token to retrieve the next page of results.

                              + */ + NextToken?: string; } -export namespace FpgaDeviceInfo { +export namespace DescribeInstanceCreditSpecificationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaDeviceInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsRequest): any => ({ ...obj, }); } /** - *

                              Describes the FPGAs for the instance type.

                              + *

                              Describes the credit option for CPU usage of a burstable performance instance.

                              */ -export interface FpgaInfo { +export interface InstanceCreditSpecification { /** - *

                              Describes the FPGAs for the instance type.

                              + *

                              The ID of the instance.

                              */ - Fpgas?: FpgaDeviceInfo[]; + InstanceId?: string; /** - *

                              The total memory of all FPGA accelerators for the instance type.

                              + *

                              The credit option for CPU usage of the instance. Valid values are + * standard and unlimited.

                              */ - TotalFpgaMemoryInMiB?: number; + CpuCredits?: string; } -export namespace FpgaInfo { +export namespace InstanceCreditSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceCreditSpecification): any => ({ ...obj, }); } -/** - *

                              Describes the memory available to the GPU accelerator.

                              - */ -export interface GpuDeviceMemoryInfo { +export interface DescribeInstanceCreditSpecificationsResult { /** - *

                              The size of the memory available to the GPU accelerator, in MiB.

                              + *

                              Information about the credit option for CPU usage of an instance.

                              */ - SizeInMiB?: number; + 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; } -export namespace GpuDeviceMemoryInfo { +export namespace DescribeInstanceCreditSpecificationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GpuDeviceMemoryInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsResult): any => ({ ...obj, }); } -/** - *

                              Describes the GPU accelerators for the instance type.

                              - */ -export interface GpuDeviceInfo { - /** - *

                              The name of the GPU accelerator.

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

                              The manufacturer of the GPU accelerator.

                              - */ - Manufacturer?: string; - - /** - *

                              The number of GPUs for the instance type.

                              - */ - Count?: number; - +export interface DescribeInstanceEventNotificationAttributesRequest { /** - *

                              Describes the memory available to the GPU accelerator.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - MemoryInfo?: GpuDeviceMemoryInfo; + DryRun?: boolean; } -export namespace GpuDeviceInfo { +export namespace DescribeInstanceEventNotificationAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GpuDeviceInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesRequest): any => ({ ...obj, }); } -/** - *

                              Describes the GPU accelerators for the instance type.

                              - */ -export interface GpuInfo { - /** - *

                              Describes the GPU accelerators for the instance type.

                              - */ - Gpus?: GpuDeviceInfo[]; - +export interface DescribeInstanceEventNotificationAttributesResult { /** - *

                              The total size of the memory for the GPU accelerators for the instance type, in MiB.

                              + *

                              Information about the registered tag keys.

                              */ - TotalGpuMemoryInMiB?: number; + InstanceTagAttribute?: InstanceTagNotificationAttribute; } -export namespace GpuInfo { +export namespace DescribeInstanceEventNotificationAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GpuInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesResult): any => ({ ...obj, }); } -export enum InstanceTypeHypervisor { - NITRO = "nitro", - XEN = "xen", -} - /** - *

                              Describes the Inference accelerators for the instance type.

                              + * Describe instance event windows by InstanceEventWindow. */ -export interface InferenceDeviceInfo { +export interface DescribeInstanceEventWindowsRequest { /** - *

                              The number of Inference accelerators for 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.

                              */ - Count?: number; + DryRun?: boolean; /** - *

                              The name of the Inference accelerator.

                              + *

                              The IDs of the event windows.

                              */ - Name?: string; + InstanceEventWindowIds?: string[]; /** - *

                              The manufacturer of the Inference accelerator.

                              + *

                              One or more filters.

                              + *
                                + *
                              • + *

                                + * dedicated-host-id - The event windows associated with the specified + * Dedicated Host ID.

                                + *
                              • + *
                              • + *

                                + * event-window-name - The event windows associated with the specified + * names.

                                + *
                              • + *
                              • + *

                                + * instance-id - The event windows associated with the specified instance + * ID.

                                + *
                              • + *
                              • + *

                                + * instance-tag - The event windows associated with the specified tag and + * value.

                                + *
                              • + *
                              • + *

                                + * instance-tag-key - The event windows associated with the specified tag + * key, regardless of the value.

                                + *
                              • + *
                              • + *

                                + * instance-tag-value - The event windows associated with the specified tag + * value, regardless of the key.

                                + *
                              • + *
                              • + *

                                + * tag: - The key/value combination of a tag assigned to the + * event window. 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 CMX, specify tag:Owner + * for the filter name and CMX for the filter value.

                                + *
                              • + *
                              • + *

                                + * tag-key - The key of a tag assigned to the event window. Use this filter + * to find all event windows that have a tag with a specific key, regardless of the tag + * value.

                                + *
                              • + *
                              • + *

                                + * tag-value - The value of a tag assigned to the event window. Use this + * filter to find all event windows that have a tag with a specific value, regardless of + * the tag key.

                                + *
                              • + *
                              */ - Manufacturer?: string; -} + Filters?: Filter[]; -export namespace InferenceDeviceInfo { /** - * @internal + *

                              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 20 and 500. You cannot specify this parameter and the event window IDs parameter + * in the same call.

                              */ - export const filterSensitiveLog = (obj: InferenceDeviceInfo): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                              Describes the Inference accelerators for the instance type.

                              - */ -export interface InferenceAcceleratorInfo { /** - *

                              Describes the Inference accelerators for the instance type.

                              + *

                              The token to request the next page of results.

                              */ - Accelerators?: InferenceDeviceInfo[]; + NextToken?: string; } -export namespace InferenceAcceleratorInfo { +export namespace DescribeInstanceEventWindowsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InferenceAcceleratorInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsRequest): any => ({ ...obj, }); } -export type DiskType = "hdd" | "ssd"; - -/** - *

                              Describes a disk.

                              - */ -export interface DiskInfo { - /** - *

                              The size of the disk in GB.

                              - */ - SizeInGB?: number; - - /** - *

                              The number of disks with this configuration.

                              - */ - Count?: number; - - /** - *

                              The type of disk.

                              - */ - Type?: DiskType | string; -} - -export namespace DiskInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DiskInfo): any => ({ - ...obj, - }); -} - -export enum InstanceStorageEncryptionSupport { - required = "required", - unsupported = "unsupported", -} - -export enum EphemeralNvmeSupport { - REQUIRED = "required", - SUPPORTED = "supported", - UNSUPPORTED = "unsupported", -} - -/** - *

                              Describes the instance store features that are supported by the instance type.

                              - */ -export interface InstanceStorageInfo { - /** - *

                              The total size of the disks, in GB.

                              - */ - TotalSizeInGB?: number; - - /** - *

                              Describes the disks that are available for the instance type.

                              - */ - Disks?: DiskInfo[]; - - /** - *

                              Indicates whether non-volatile memory express (NVMe) is supported.

                              - */ - NvmeSupport?: EphemeralNvmeSupport | string; - - /** - *

                              Indicates whether data is encrypted at rest.

                              - */ - EncryptionSupport?: InstanceStorageEncryptionSupport | string; -} - -export namespace InstanceStorageInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceStorageInfo): any => ({ - ...obj, - }); -} - -/** - *

                              Describes the memory for the instance type.

                              - */ -export interface MemoryInfo { - /** - *

                              The size of the memory, in MiB.

                              - */ - SizeInMiB?: number; -} - -export namespace MemoryInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: MemoryInfo): any => ({ - ...obj, - }); -} - -/** - *

                              Describes the Elastic Fabric Adapters for the instance type.

                              - */ -export interface EfaInfo { - /** - *

                              The maximum number of Elastic Fabric Adapters for the instance type.

                              - */ - MaximumEfaInterfaces?: number; -} - -export namespace EfaInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: EfaInfo): any => ({ - ...obj, - }); -} - -export type EnaSupport = "required" | "supported" | "unsupported"; - -/** - *

                              Describes the network card support of the instance type.

                              - */ -export interface NetworkCardInfo { - /** - *

                              The index of the network card.

                              - */ - NetworkCardIndex?: number; - - /** - *

                              The network performance of the network card.

                              - */ - NetworkPerformance?: string; - - /** - *

                              The maximum number of network interfaces for the network card.

                              - */ - MaximumNetworkInterfaces?: number; -} - -export namespace NetworkCardInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: NetworkCardInfo): any => ({ - ...obj, - }); -} - -/** - *

                              Describes the networking features of the instance type.

                              - */ -export interface NetworkInfo { - /** - *

                              The network performance.

                              - */ - NetworkPerformance?: string; - - /** - *

                              The maximum number of network interfaces for the instance type.

                              - */ - MaximumNetworkInterfaces?: number; - - /** - *

                              The maximum number of physical network cards that can be allocated to the instance.

                              - */ - MaximumNetworkCards?: number; - - /** - *

                              The index of the default network card, starting at 0.

                              - */ - DefaultNetworkCardIndex?: number; - - /** - *

                              Describes the network cards for the instance type.

                              - */ - NetworkCards?: NetworkCardInfo[]; - - /** - *

                              The maximum number of IPv4 addresses per network interface.

                              - */ - Ipv4AddressesPerInterface?: number; - - /** - *

                              The maximum number of IPv6 addresses per network interface.

                              - */ - Ipv6AddressesPerInterface?: number; - - /** - *

                              Indicates whether IPv6 is supported.

                              - */ - Ipv6Supported?: boolean; - - /** - *

                              Indicates whether Elastic Network Adapter (ENA) is supported.

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

                              Indicates whether Elastic Fabric Adapter (EFA) is supported.

                              - */ - EfaSupported?: boolean; - - /** - *

                              Describes the Elastic Fabric Adapters for the instance type.

                              - */ - EfaInfo?: EfaInfo; - - /** - *

                              Indicates whether the instance type automatically encrypts in-transit traffic between instances.

                              - */ - EncryptionInTransitSupported?: boolean; -} - -export namespace NetworkInfo { +export interface DescribeInstanceEventWindowsResult { /** - * @internal + *

                              Information about the event windows.

                              */ - export const filterSensitiveLog = (obj: NetworkInfo): any => ({ - ...obj, - }); -} - -export type PlacementGroupStrategy = "cluster" | "partition" | "spread"; + InstanceEventWindows?: InstanceEventWindow[]; -/** - *

                              Describes the placement group support of the instance type.

                              - */ -export interface PlacementGroupInfo { /** - *

                              The supported placement group types.

                              + *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              */ - SupportedStrategies?: (PlacementGroupStrategy | string)[]; + NextToken?: string; } -export namespace PlacementGroupInfo { +export namespace DescribeInstanceEventWindowsResult { /** * @internal */ - export const filterSensitiveLog = (obj: PlacementGroupInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsResult): any => ({ ...obj, }); } -export type ArchitectureType = "arm64" | "i386" | "x86_64" | "x86_64_mac"; - -/** - *

                              Describes the processor used by the instance type.

                              - */ -export interface ProcessorInfo { - /** - *

                              The architectures supported by the instance type.

                              - */ - SupportedArchitectures?: (ArchitectureType | string)[]; - - /** - *

                              The speed of the processor, in GHz.

                              - */ - SustainedClockSpeedInGhz?: number; -} - -export namespace ProcessorInfo { +export interface DescribeInstancesRequest { /** - * @internal - */ - export const filterSensitiveLog = (obj: ProcessorInfo): any => ({ - ...obj, - }); -} - -export type BootModeType = "legacy-bios" | "uefi"; - -export type RootDeviceType = "ebs" | "instance-store"; - -export type UsageClassType = "on-demand" | "spot"; - -/** - *

                              Describes the vCPU configurations for the instance type.

                              - */ -export interface VCpuInfo { - /** - *

                              The default number of vCPUs for the instance type.

                              - */ - DefaultVCpus?: number; - - /** - *

                              The default number of cores for the instance type.

                              - */ - DefaultCores?: number; - - /** - *

                              The default number of threads per core for the instance type.

                              - */ - DefaultThreadsPerCore?: number; - - /** - *

                              The valid number of cores that can be configured for the instance type.

                              - */ - ValidCores?: number[]; - - /** - *

                              The valid number of threads per core that can be configured for the instance type.

                              - */ - ValidThreadsPerCore?: number[]; -} - -export namespace VCpuInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: VCpuInfo): any => ({ - ...obj, - }); -} - -/** - *

                              Describes the instance type.

                              - */ -export interface InstanceTypeInfo { - /** - *

                              The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                              - */ - InstanceType?: _InstanceType | string; - - /** - *

                              Indicates whether the instance type is current generation.

                              - */ - CurrentGeneration?: boolean; - - /** - *

                              Indicates whether the instance type is eligible for the free tier.

                              - */ - FreeTierEligible?: boolean; - - /** - *

                              Indicates whether the instance type is offered for spot or On-Demand.

                              - */ - SupportedUsageClasses?: (UsageClassType | string)[]; - - /** - *

                              The supported root device types.

                              - */ - SupportedRootDeviceTypes?: (RootDeviceType | string)[]; - - /** - *

                              The supported virtualization types.

                              - */ - SupportedVirtualizationTypes?: (VirtualizationType | string)[]; - - /** - *

                              Indicates whether the instance is a bare metal instance type.

                              - */ - BareMetal?: boolean; - - /** - *

                              The hypervisor for the instance type.

                              - */ - Hypervisor?: InstanceTypeHypervisor | string; - - /** - *

                              Describes the processor.

                              - */ - ProcessorInfo?: ProcessorInfo; - - /** - *

                              Describes the vCPU configurations for the instance type.

                              - */ - VCpuInfo?: VCpuInfo; - - /** - *

                              Describes the memory for the instance type.

                              - */ - MemoryInfo?: MemoryInfo; - - /** - *

                              Indicates whether instance storage is supported.

                              - */ - InstanceStorageSupported?: boolean; - - /** - *

                              Describes the instance storage for the instance type.

                              - */ - InstanceStorageInfo?: InstanceStorageInfo; - - /** - *

                              Describes the Amazon EBS settings for the instance type.

                              - */ - EbsInfo?: EbsInfo; - - /** - *

                              Describes the network settings for the instance type.

                              - */ - NetworkInfo?: NetworkInfo; - - /** - *

                              Describes the GPU accelerator settings for the instance type.

                              - */ - GpuInfo?: GpuInfo; - - /** - *

                              Describes the FPGA accelerator settings for the instance type.

                              - */ - FpgaInfo?: FpgaInfo; - - /** - *

                              Describes the placement group settings for the instance type.

                              - */ - PlacementGroupInfo?: PlacementGroupInfo; - - /** - *

                              Describes the Inference accelerator settings for the instance type.

                              - */ - InferenceAcceleratorInfo?: InferenceAcceleratorInfo; - - /** - *

                              Indicates whether On-Demand hibernation is supported.

                              - */ - HibernationSupported?: boolean; - - /** - *

                              Indicates whether the instance type is a burstable performance instance type.

                              - */ - BurstablePerformanceSupported?: boolean; - - /** - *

                              Indicates whether Dedicated Hosts are supported on the instance type.

                              - */ - DedicatedHostsSupported?: boolean; - - /** - *

                              Indicates whether auto recovery is supported.

                              - */ - AutoRecoverySupported?: boolean; - - /** - *

                              The supported boot modes. For more information, see Boot modes in the - * Amazon EC2 User Guide.

                              - */ - SupportedBootModes?: (BootModeType | string)[]; -} - -export namespace InstanceTypeInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceTypeInfo): any => ({ - ...obj, - }); -} - -export interface DescribeInstanceTypesResult { - /** - *

                              The instance type. For more information, see Instance types in the Amazon EC2 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; -} - -export namespace DescribeInstanceTypesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInstanceTypesResult): any => ({ - ...obj, - }); -} - -export interface DescribeInternetGatewaysRequest { - /** - *

                              One or more filters.

                              + *

                              The filters.

                              *
                                *
                              • *

                                - * attachment.state - The current state of the attachment between the gateway - * and the VPC (available). Present only if a VPC is attached.

                                + * affinity - The affinity setting for an instance running on a + * Dedicated Host (default | host).

                                *
                              • *
                              • *

                                - * attachment.vpc-id - The ID of an attached VPC.

                                + * architecture - The instance architecture (i386 | + * x86_64 | arm64).

                                *
                              • *
                              • *

                                - * internet-gateway-id - The ID of the Internet gateway.

                                + * availability-zone - The Availability Zone of the instance.

                                *
                              • *
                              • *

                                - * owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

                                + * block-device-mapping.attach-time - The attach time for an EBS + * volume mapped to the instance, for example, + * 2010-09-15T17:15:20.000Z.

                                *
                              • *
                              • *

                                - * 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.

                                + * block-device-mapping.delete-on-termination - A Boolean that + * indicates whether the EBS volume is deleted on instance termination.

                                *
                              • *
                              • *

                                - * 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.

                                + * block-device-mapping.device-name - The device name specified in the + * block device mapping (for example, /dev/sdh or + * xvdh).

                                *
                              • - *
                              - */ - 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 internet gateway IDs.

                              - *

                              Default: Describes all your internet gateways.

                              - */ - InternetGatewayIds?: 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; -} - -export namespace DescribeInternetGatewaysRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInternetGatewaysRequest): any => ({ - ...obj, - }); -} - -export interface DescribeInternetGatewaysResult { - /** - *

                              Information about one or more internet gateways.

                              - */ - InternetGateways?: InternetGateway[]; - - /** - *

                              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 DescribeInternetGatewaysResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInternetGatewaysResult): any => ({ - ...obj, - }); -} - -export interface DescribeIpv6PoolsRequest { - /** - *

                              The IDs of the IPv6 address pools.

                              - */ - PoolIds?: 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. - * Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; - - /** - *

                              One or more filters.

                              - *
                                *
                              • *

                                - * 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.

                                + * block-device-mapping.status - The status for the EBS volume + * (attaching | attached | detaching | + * detached).

                                *
                              • *
                              • *

                                - * 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.

                                + * block-device-mapping.volume-id - The volume ID of the EBS + * volume.

                                *
                              • - *
                              - */ - Filters?: Filter[]; -} - -export namespace DescribeIpv6PoolsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeIpv6PoolsRequest): any => ({ - ...obj, - }); -} - -/** - *

                              Describes a CIDR block for an address pool.

                              - */ -export interface PoolCidrBlock { - /** - *

                              The CIDR block.

                              - */ - Cidr?: string; -} - -export namespace PoolCidrBlock { - /** - * @internal - */ - export const filterSensitiveLog = (obj: PoolCidrBlock): any => ({ - ...obj, - }); -} - -/** - *

                              Describes an IPv6 address pool.

                              - */ -export interface Ipv6Pool { - /** - *

                              The ID of the address pool.

                              - */ - PoolId?: string; - - /** - *

                              The description for the address pool.

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

                              The CIDR blocks for the address pool.

                              - */ - PoolCidrBlocks?: PoolCidrBlock[]; - - /** - *

                              Any tags for the address pool.

                              - */ - Tags?: Tag[]; -} - -export namespace Ipv6Pool { - /** - * @internal - */ - export const filterSensitiveLog = (obj: Ipv6Pool): any => ({ - ...obj, - }); -} - -export interface DescribeIpv6PoolsResult { - /** - *

                              Information about the IPv6 address pools.

                              - */ - Ipv6Pools?: Ipv6Pool[]; - - /** - *

                              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 DescribeIpv6PoolsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeIpv6PoolsResult): any => ({ - ...obj, - }); -} - -export interface DescribeKeyPairsRequest { - /** - *

                              The filters.

                              - *
                                *
                              • - *

                                - * key-pair-id - The ID of the key pair.

                                - *
                              • + *

                                + * client-token - The idempotency token you provided when you launched + * the instance.

                                + * *
                              • - *

                                - * fingerprint - The fingerprint of the key pair.

                                + *

                                + * dns-name - The public DNS name of the instance.

                                *
                              • *
                              • - *

                                - * key-name - The name of the key pair.

                                + *

                                + * group-id - The ID of the security group for the instance. + * EC2-Classic only.

                                *
                              • *
                              • - *

                                - * 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.

                                - *
                              • + *

                                + * group-name - The name of the security group for the instance. + * EC2-Classic only.

                                + * *
                              • - *

                                - * 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.

                                - *
                              • - *
                              - */ - Filters?: Filter[]; - - /** - *

                              The key pair names.

                              - *

                              Default: Describes all of your key pairs.

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

                              The IDs of the key pairs.

                              - */ - KeyPairIds?: 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 { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeKeyPairsRequest): any => ({ - ...obj, - }); -} - -/** - *

                              Describes a key pair.

                              - */ -export interface KeyPairInfo { - /** - *

                              The ID of the key pair.

                              - */ - KeyPairId?: string; - - /** - *

                              If you used CreateKeyPair to create the key pair:

                              - *
                                + *

                                + * hibernation-options.configured - A Boolean that indicates whether + * the instance is enabled for hibernation. A value of true means that + * the instance is enabled for hibernation.

                                + * *
                              • - *

                                For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. - *

                                - *
                              • + *

                                + * host-id - The ID of the Dedicated Host on which the instance is + * running, if applicable.

                                + * *
                              • - *

                                For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which - * is the default for OpenSSH, starting with OpenSSH 6.8.

                                - *
                              • - *
                              - *

                              If you used ImportKeyPair to provide Amazon Web Services the public key:

                              - *
                                + *

                                + * hypervisor - The hypervisor type of the instance + * (ovm | xen). The value xen + * is used for both Xen and Nitro hypervisors.

                                + * *
                              • - *

                                For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                                - *
                              • + *

                                + * iam-instance-profile.arn - The instance profile associated with + * the instance. Specified as an ARN.

                                + * *
                              • - *

                                For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 - * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

                                - *
                              • - *
                              - */ - KeyFingerprint?: string; - - /** - *

                              The name of the key pair.

                              - */ - KeyName?: string; - - /** - *

                              The type of key pair.

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

                              Any tags applied to the key pair.

                              - */ - Tags?: Tag[]; -} - -export namespace KeyPairInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: KeyPairInfo): any => ({ - ...obj, - }); -} - -export interface DescribeKeyPairsResult { - /** - *

                              Information about the key pairs.

                              - */ - KeyPairs?: KeyPairInfo[]; -} - -export namespace DescribeKeyPairsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeKeyPairsResult): any => ({ - ...obj, - }); -} - -export interface DescribeLaunchTemplatesRequest { - /** - *

                              Checks whether you have the required permissions for the action, without 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 launch template IDs.

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

                              One or more launch template names.

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

                              One or more filters.

                              - *
                                + *

                                + * image-id - The ID of the image used to launch the + * instance.

                                + * *
                              • *

                                - * create-time - The time the launch template was created.

                                + * instance-id - The ID of the instance.

                                *
                              • *
                              • *

                                - * launch-template-name - The name of the launch template.

                                + * instance-lifecycle - Indicates whether this is a Spot Instance or + * a Scheduled Instance (spot | scheduled).

                                *
                              • *
                              • *

                                - * 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.

                                + * instance-state-code - The state of the instance, as a 16-bit + * unsigned integer. The high byte is used for internal purposes and should be + * ignored. The low byte is set based on the state represented. The valid values + * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 + * (stopping), and 80 (stopped).

                                *
                              • *
                              • *

                                - * 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.

                                + * instance-state-name - The state of the instance + * (pending | running | shutting-down | + * terminated | stopping | + * stopped).

                                *
                              • - *
                              - */ - 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. This value - * can be between 1 and 200.

                              - */ - MaxResults?: number; -} - -export namespace DescribeLaunchTemplatesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplatesRequest): any => ({ - ...obj, - }); -} - -export interface DescribeLaunchTemplatesResult { - /** - *

                              Information about the launch templates.

                              - */ - LaunchTemplates?: LaunchTemplate[]; - - /** - *

                              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 DescribeLaunchTemplatesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplatesResult): any => ({ - ...obj, - }); -} - -export interface DescribeLaunchTemplateVersionsRequest { - /** - *

                              Checks whether you have the required permissions for the action, without 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 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.

                              - */ - LaunchTemplateId?: 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; - - /** - *

                              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 version number after which to describe launch template versions.

                              - */ - MinVersion?: string; - - /** - *

                              The version number up to which to describe launch template versions.

                              - */ - MaxVersion?: 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. This value - * can be between 1 and 200.

                              - */ - MaxResults?: number; - - /** - *

                              One or more filters.

                              - *
                                *
                              • - *

                                - * create-time - The time the launch template version was created.

                                + *

                                + * instance-type - The type of instance (for example, + * t2.micro).

                                *
                              • *
                              • *

                                - * ebs-optimized - A boolean that indicates whether the instance - * is optimized for Amazon EBS I/O.

                                + * instance.group-id - The ID of the security group for the + * instance.

                                *
                              • *
                              • *

                                - * iam-instance-profile - The ARN of the IAM instance - * profile.

                                + * instance.group-name - The name of the security group for the + * instance.

                                *
                              • *
                              • *

                                - * image-id - The ID of the AMI.

                                + * ip-address - The public IPv4 address of the instance.

                                *
                              • *
                              • *

                                - * instance-type - The instance type.

                                + * kernel-id - The kernel ID.

                                *
                              • *
                              • *

                                - * is-default-version - A boolean that indicates whether the - * launch template version is the default version.

                                + * key-name - The name of the key pair used when the instance was + * launched.

                                *
                              • *
                              • *

                                - * kernel-id - The kernel ID.

                                + * launch-index - When launching multiple instances, this is the + * index for the instance in the launch group (for example, 0, 1, 2, and so on).

                                *
                              • *
                              • *

                                - * ram-disk-id - The RAM disk ID.

                                + * launch-time - The time when the instance was launched, in the ISO + * 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, + * 2021-09-29T11:04:43.305Z. You can use a wildcard + * (*), for example, 2021-09-29T*, which matches an + * entire day.

                                *
                              • - *
                              - */ - Filters?: Filter[]; -} - -export namespace DescribeLaunchTemplateVersionsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsRequest): any => ({ - ...obj, - }); -} - -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; -} - -export namespace DescribeLaunchTemplateVersionsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsResult): any => ({ - ...obj, - }); -} - -export interface DescribeLocalGatewayRouteTablesRequest { - /** - *

                              The IDs of the local gateway route tables.

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

                              One or more filters.

                              - *
                                *
                              • - *

                                - * local-gateway-id - The ID of a local gateway.

                                + *

                                + * metadata-options.http-tokens - The metadata request authorization + * state (optional | required)

                                *
                              • *
                              • - *

                                - * local-gateway-route-table-id - The ID of a local gateway route table.

                                + *

                                + * metadata-options.http-put-response-hop-limit - The http metadata + * request put response hop limit (integer, possible values 1 to + * 64)

                                *
                              • *
                              • - *

                                + *

                                + * metadata-options.http-endpoint - Enable or disable metadata + * access on http endpoint (enabled | disabled)

                                + *
                              • + *
                              • + *

                                + * monitoring-state - Indicates whether detailed monitoring is + * enabled (disabled | enabled).

                                + *
                              • + *
                              • + *

                                + * network-interface.addresses.private-ip-address - The private IPv4 + * address associated with the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.addresses.primary - Specifies whether the IPv4 + * address of the network interface is the primary private IPv4 address.

                                + *
                              • + *
                              • + *

                                + * network-interface.addresses.association.public-ip - The ID of the + * association of an Elastic IP address (IPv4) with a network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.addresses.association.ip-owner-id - The owner + * ID of the private IPv4 address associated with the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.association.public-ip - The address of the + * Elastic IP address (IPv4) bound to the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.association.ip-owner-id - The owner of the + * Elastic IP address (IPv4) associated with the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.association.allocation-id - The allocation ID + * returned when you allocated the Elastic IP address (IPv4) for your network + * interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.association.association-id - The association ID + * returned when the network interface was associated with an IPv4 address.

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.attachment-id - The ID of the + * interface attachment.

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.instance-id - The ID of the instance + * to which the network interface is attached.

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.instance-owner-id - The owner ID of + * the instance to which the network interface is attached.

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.device-index - The device index to + * which the network interface is attached.

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.status - The status of the + * attachment (attaching | attached | + * detaching | detached).

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.attach-time - The time that the + * network interface was attached to an instance.

                                + *
                              • + *
                              • + *

                                + * network-interface.attachment.delete-on-termination - Specifies + * whether the attachment is deleted when an instance is terminated.

                                + *
                              • + *
                              • + *

                                + * network-interface.availability-zone - The Availability Zone for + * the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.description - The description of the network + * interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.group-id - The ID of a security group + * associated with the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.group-name - The name of a security group + * associated with the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.ipv6-addresses.ipv6-address - The IPv6 address + * associated with the network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.mac-address - The MAC address of the network + * interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.network-interface-id - The ID of the network + * interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.owner-id - The ID of the owner of the network + * interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.private-dns-name - The private DNS name of the + * network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.requester-id - The requester ID for the network + * interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.requester-managed - Indicates whether the + * network interface is being managed by Amazon Web Services.

                                + *
                              • + *
                              • + *

                                + * network-interface.status - The status of the network interface + * (available) | in-use).

                                + *
                              • + *
                              • + *

                                + * network-interface.source-dest-check - Whether the network + * interface performs source/destination checking. A value of true + * means that checking is enabled, and false means that checking is + * disabled. The value must be false for the network interface to + * perform network address translation (NAT) in your VPC.

                                + *
                              • + *
                              • + *

                                + * network-interface.subnet-id - The ID of the subnet for the + * network interface.

                                + *
                              • + *
                              • + *

                                + * network-interface.vpc-id - The ID of the VPC for the network + * interface.

                                + *
                              • + *
                              • + *

                                * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                *
                              • *
                              • - *

                                - * state - The state of the local gateway route table.

                                + *

                                + * owner-id - The Amazon Web Services account ID of the instance owner.

                                *
                              • - *
                              - */ - 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; - - /** - *

                              Checks whether you have the required permissions for the action, without 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 DescribeLocalGatewayRouteTablesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesRequest): any => ({ - ...obj, - }); -} - -/** - *

                              Describes a local gateway route table.

                              - */ -export interface LocalGatewayRouteTable { - /** - *

                              The ID of the local gateway route table.

                              - */ - LocalGatewayRouteTableId?: string; - - /** - *

                              The Amazon Resource Name (ARN) of the local gateway route table.

                              - */ - LocalGatewayRouteTableArn?: string; - - /** - *

                              The ID of the local gateway.

                              - */ - LocalGatewayId?: string; - - /** - *

                              The Amazon Resource Name (ARN) of the Outpost.

                              - */ - OutpostArn?: string; - - /** - *

                              The ID of the Amazon Web Services account that owns the local gateway route table.

                              - */ - OwnerId?: string; - - /** - *

                              The state of the local gateway route table.

                              - */ - State?: string; - - /** - *

                              The tags assigned to the local gateway route table.

                              - */ - Tags?: Tag[]; -} - -export namespace LocalGatewayRouteTable { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LocalGatewayRouteTable): any => ({ - ...obj, - }); -} - -export interface DescribeLocalGatewayRouteTablesResult { - /** - *

                              Information about the local gateway route tables.

                              - */ - LocalGatewayRouteTables?: LocalGatewayRouteTable[]; - - /** - *

                              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 DescribeLocalGatewayRouteTablesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesResult): any => ({ - ...obj, - }); -} - -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { - /** - *

                              The IDs of the associations.

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

                              One or more filters.

                              - *
                                *
                              • - *

                                - * local-gateway-id - The ID of a local gateway.

                                + *

                                + * placement-group-name - The name of the placement group for the + * instance.

                                *
                              • *
                              • - *

                                - * local-gateway-route-table-id - The ID of the local gateway route table.

                                + *

                                + * placement-partition-number - The partition in which the instance is + * located.

                                *
                              • *
                              • - *

                                - * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                + *

                                + * platform - The platform. To list only Windows instances, use + * windows.

                                *
                              • *
                              • - *

                                - * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                + *

                                + * private-dns-name - The private IPv4 DNS name of the + * instance.

                                *
                              • *
                              • - *

                                - * state - The state of the association.

                                + *

                                + * private-ip-address - The private IPv4 address of the + * instance.

                                + *
                              • + *
                              • + *

                                + * product-code - The product code associated with the AMI used to + * launch the instance.

                                + *
                              • + *
                              • + *

                                + * product-code.type - The type of product code (devpay | + * marketplace).

                                *
                              • - *
                              - */ - 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; - - /** - *

                              Checks whether you have the required permissions for the action, without 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 DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = ( - obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest - ): any => ({ - ...obj, - }); -} - -/** - *

                              Describes an association between a local gateway route table and a virtual interface group.

                              - */ -export interface LocalGatewayRouteTableVirtualInterfaceGroupAssociation { - /** - *

                              The ID of the association.

                              - */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociationId?: string; - - /** - *

                              The ID of the virtual interface group.

                              - */ - LocalGatewayVirtualInterfaceGroupId?: string; - - /** - *

                              The ID of the local gateway.

                              - */ - LocalGatewayId?: string; - - /** - *

                              The ID of the local gateway route table.

                              - */ - LocalGatewayRouteTableId?: string; - - /** - *

                              The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

                              - */ - LocalGatewayRouteTableArn?: string; - - /** - *

                              The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

                              - */ - OwnerId?: string; - - /** - *

                              The state of the association.

                              - */ - State?: string; - - /** - *

                              The tags assigned to the association.

                              - */ - Tags?: Tag[]; -} - -export namespace LocalGatewayRouteTableVirtualInterfaceGroupAssociation { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LocalGatewayRouteTableVirtualInterfaceGroupAssociation): any => ({ - ...obj, - }); -} - -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { - /** - *

                              Information about the associations.

                              - */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; - - /** - *

                              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 DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { - /** - * @internal - */ - export const filterSensitiveLog = ( - obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult - ): any => ({ - ...obj, - }); -} - -export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { - /** - *

                              The IDs of the associations.

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

                              One or more filters.

                              - *
                                *
                              • - *

                                - * local-gateway-id - The ID of a local gateway.

                                + *

                                + * ramdisk-id - The RAM disk ID.

                                *
                              • *
                              • - *

                                - * local-gateway-route-table-id - The ID of the local gateway route table.

                                + *

                                + * reason - The reason for the current state of the instance (for + * example, shows "User Initiated [date]" when you stop or terminate the instance). + * Similar to the state-reason-code filter.

                                *
                              • *
                              • - *

                                - * local-gateway-route-table-vpc-association-id - The ID of the association.

                                + *

                                + * requester-id - The ID of the entity that launched the instance on + * your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so + * on).

                                + *
                              • + *
                              • + *

                                + * reservation-id - The ID of the instance's reservation. A + * reservation ID is created any time you launch an instance. A reservation ID has + * a one-to-one relationship with an instance launch request, but can be associated + * with more than one instance if you launch multiple instances using the same + * launch request. For example, if you launch one instance, you get one reservation + * ID. If you launch ten instances using the same launch request, you also get one + * reservation ID.

                                + *
                              • + *
                              • + *

                                + * root-device-name - The device name of the root device volume (for + * example, /dev/sda1).

                                + *
                              • + *
                              • + *

                                + * root-device-type - The type of the root device volume + * (ebs | instance-store).

                                + *
                              • + *
                              • + *

                                + * source-dest-check - Indicates whether the instance performs + * source/destination checking. 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 network address translation + * (NAT) in your VPC.

                                + *
                              • + *
                              • + *

                                + * spot-instance-request-id - The ID of the Spot Instance + * request.

                                + *
                              • + *
                              • + *

                                + * state-reason-code - The reason code for the state change.

                                + *
                              • + *
                              • + *

                                + * state-reason-message - A message that describes the state + * change.

                                + *
                              • + *
                              • + *

                                + * subnet-id - The ID of the subnet for the instance.

                                *
                              • *
                              • *

                                - * state - The state of the association.

                                + * 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.

                                *
                              • *
                              • *

                                - * vpc-id - The ID of the VPC.

                                + * 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.

                                + *
                              • + *
                              • + *

                                + * tenancy - The tenancy of an instance (dedicated | + * default | host).

                                + *
                              • + *
                              • + *

                                + * virtualization-type - The virtualization type of the instance + * (paravirtual | hvm).

                                + *
                              • + *
                              • + *

                                + * vpc-id - The ID of the VPC that the instance is running in.

                                *
                              • *
                              */ 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.

                              + *

                              The instance IDs.

                              + *

                              Default: Describes all your instances.

                              */ - NextToken?: string; + InstanceIds?: string[]; /** *

                              Checks whether you have the required permissions for the action, without actually making the request, @@ -6151,2466 +5422,2519 @@ export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; -} - -export namespace DescribeLocalGatewayRouteTableVpcAssociationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsRequest): any => ({ - ...obj, - }); -} -export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { /** - *

                              Information about the associations.

                              + *

                              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.

                              */ - LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[]; + 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 to request the next page of results.

                              */ NextToken?: string; } -export namespace DescribeLocalGatewayRouteTableVpcAssociationsResult { +export namespace DescribeInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInstancesRequest): any => ({ ...obj, }); } -export interface DescribeLocalGatewaysRequest { +/** + *

                              Describes the instance's Capacity Reservation targeting preferences. The action returns the + * capacityReservationPreference response element if the instance is + * configured to run in On-Demand capacity, or if it is configured in run in any + * open Capacity Reservation that has matching attributes (instance type, platform, + * Availability Zone). The action returns the capacityReservationTarget + * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

                              + */ +export interface CapacityReservationSpecificationResponse { /** - *

                              One or more filters.

                              - *
                                - *
                              • - *

                                - * local-gateway-id - The ID of a local gateway.

                                - *
                              • - *
                              • - *

                                - * local-gateway-route-table-id - The ID of the local gateway route table.

                                - *
                              • - *
                              • - *

                                - * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                - *
                              • - *
                              • - *

                                - * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                - *
                              • + *

                                Describes the instance's Capacity Reservation preferences. Possible preferences include:

                                + *
                                  *
                                • - *

                                  - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                  + *

                                  + * open - The instance can run in any open Capacity Reservation that + * has matching attributes (instance type, platform, Availability Zone).

                                  *
                                • *
                                • - *

                                  - * state - The state of the association.

                                  + *

                                  + * none - The instance avoids running in a Capacity Reservation even if one is + * available. The instance runs in On-Demand capacity.

                                  *
                                • *
                                */ - LocalGatewayIds?: string[]; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

                                One or more filters.

                                + *

                                Information about the targeted Capacity Reservation or Capacity Reservation group.

                                */ - Filters?: Filter[]; + CapacityReservationTarget?: CapacityReservationTargetResponse; +} +export namespace CapacityReservationSpecificationResponse { /** - *

                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: CapacityReservationSpecificationResponse): any => ({ + ...obj, + }); +} +/** + *

                                The CPU options for the instance.

                                + */ +export interface CpuOptions { /** - *

                                The token for the next page of results.

                                + *

                                The number of CPU cores for the instance.

                                */ - NextToken?: string; + CoreCount?: 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 number of threads per CPU core.

                                */ - DryRun?: boolean; + ThreadsPerCore?: number; } -export namespace DescribeLocalGatewaysRequest { +export namespace CpuOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: CpuOptions): any => ({ ...obj, }); } /** - *

                                Describes a local gateway.

                                + *

                                Describes the association between an instance and an Elastic Graphics accelerator.

                                */ -export interface LocalGateway { - /** - *

                                The ID of the local gateway.

                                - */ - LocalGatewayId?: string; - +export interface ElasticGpuAssociation { /** - *

                                The Amazon Resource Name (ARN) of the Outpost.

                                + *

                                The ID of the Elastic Graphics accelerator.

                                */ - OutpostArn?: string; + ElasticGpuId?: string; /** - *

                                The ID of the Amazon Web Services account that owns the local gateway.

                                + *

                                The ID of the association.

                                */ - OwnerId?: string; + ElasticGpuAssociationId?: string; /** - *

                                The state of the local gateway.

                                + *

                                The state of the association between the instance and the + * Elastic Graphics accelerator.

                                */ - State?: string; + ElasticGpuAssociationState?: string; /** - *

                                The tags assigned to the local gateway.

                                + *

                                The time the Elastic Graphics accelerator was associated with the instance.

                                */ - Tags?: Tag[]; + ElasticGpuAssociationTime?: string; } -export namespace LocalGateway { +export namespace ElasticGpuAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGateway): any => ({ + export const filterSensitiveLog = (obj: ElasticGpuAssociation): any => ({ ...obj, }); } -export interface DescribeLocalGatewaysResult { +/** + *

                                + * Describes the association between an instance and an elastic inference accelerator. + *

                                + */ +export interface ElasticInferenceAcceleratorAssociation { /** - *

                                Information about the local gateways.

                                + *

                                + * The Amazon Resource Name (ARN) of the elastic inference accelerator. + *

                                */ - LocalGateways?: LocalGateway[]; + ElasticInferenceAcceleratorArn?: 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 ID of the association. + *

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

                                + * The state of the elastic inference accelerator. + *

                                + */ + ElasticInferenceAcceleratorAssociationState?: string; + + /** + *

                                + * The time at which the elastic inference accelerator is associated with an instance. + *

                                + */ + ElasticInferenceAcceleratorAssociationTime?: Date; } -export namespace DescribeLocalGatewaysResult { +export namespace ElasticInferenceAcceleratorAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: ElasticInferenceAcceleratorAssociation): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { - /** - *

                                The IDs of the virtual interface groups.

                                - */ - LocalGatewayVirtualInterfaceGroupIds?: string[]; - +/** + *

                                Indicates whether your instance is configured for hibernation. This parameter is valid + * only if the instance meets the hibernation + * prerequisites. For + * more information, see Hibernate your instance in the + * Amazon EC2 User Guide.

                                + */ +export interface HibernationOptions { /** - *

                                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.

                                  - *
                                • - *
                                + *

                                If this parameter is set to true, your instance is enabled for + * hibernation; otherwise, it is not enabled for hibernation.

                                */ - Filters?: Filter[]; + Configured?: boolean; +} +export namespace HibernationOptions { /** - *

                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: HibernationOptions): any => ({ + ...obj, + }); +} - /** - *

                                The token for the next page of results.

                                - */ - NextToken?: string; +export type InstanceLifecycleType = "scheduled" | "spot"; +/** + *

                                Describes a license configuration.

                                + */ +export interface LicenseConfiguration { /** - *

                                Checks whether you have the required permissions for the action, without 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 Amazon Resource Name (ARN) of the license configuration.

                                */ - DryRun?: boolean; + LicenseConfigurationArn?: string; } -export namespace DescribeLocalGatewayVirtualInterfaceGroupsRequest { +export namespace LicenseConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: LicenseConfiguration): any => ({ ...obj, }); } +export type InstanceMetadataEndpointState = "disabled" | "enabled"; + +export enum InstanceMetadataProtocolState { + disabled = "disabled", + enabled = "enabled", +} + +export enum HttpTokensState { + optional = "optional", + required = "required", +} + +export type InstanceMetadataOptionsState = "applied" | "pending"; + /** - *

                                Describes a local gateway virtual interface group.

                                + *

                                The metadata options for the instance.

                                */ -export interface LocalGatewayVirtualInterfaceGroup { +export interface InstanceMetadataOptionsResponse { /** - *

                                The ID of the virtual interface group.

                                + *

                                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.

                                */ - LocalGatewayVirtualInterfaceGroupId?: string; + State?: InstanceMetadataOptionsState | string; /** - *

                                The IDs of the virtual interfaces.

                                + *

                                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 credential + * always returns the version 2.0 credentials; the version 1.0 credentials are not + * available.

                                */ - LocalGatewayVirtualInterfaceIds?: string[]; + HttpTokens?: HttpTokensState | string; /** - *

                                The ID of the local gateway.

                                + *

                                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

                                */ - LocalGatewayId?: string; + HttpPutResponseHopLimit?: number; /** - *

                                The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

                                + *

                                Indicates whether the HTTP metadata endpoint on your instances is enabled or disabled.

                                */ - OwnerId?: string; + HttpEndpoint?: InstanceMetadataEndpointState | string; /** - *

                                The tags assigned to the virtual interface group.

                                + *

                                Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

                                */ - Tags?: Tag[]; + HttpProtocolIpv6?: InstanceMetadataProtocolState | string; } -export namespace LocalGatewayVirtualInterfaceGroup { +export namespace InstanceMetadataOptionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayVirtualInterfaceGroup): any => ({ + export const filterSensitiveLog = (obj: InstanceMetadataOptionsResponse): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { - /** - *

                                The virtual interface groups.

                                - */ - LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; +export type MonitoringState = "disabled" | "disabling" | "enabled" | "pending"; +/** + *

                                Describes the monitoring of an instance.

                                + */ +export interface Monitoring { /** - *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                + *

                                Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

                                */ - NextToken?: string; + State?: MonitoringState | string; } -export namespace DescribeLocalGatewayVirtualInterfaceGroupsResult { +export namespace Monitoring { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsResult): any => ({ + export const filterSensitiveLog = (obj: Monitoring): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfacesRequest { +/** + *

                                Describes association information for an Elastic IP address (IPv4).

                                + */ +export interface InstanceNetworkInterfaceAssociation { /** - *

                                The IDs of the virtual interfaces.

                                + *

                                The carrier IP address associated with the network interface.

                                */ - LocalGatewayVirtualInterfaceIds?: string[]; + CarrierIp?: string; /** - *

                                One or more filters.

                                + *

                                The customer-owned IP address associated with the network interface.

                                */ - Filters?: Filter[]; + CustomerOwnedIp?: 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 owner of the Elastic IP address.

                                */ - MaxResults?: number; + IpOwnerId?: string; /** - *

                                The token for the next page of results.

                                + *

                                The public DNS name.

                                */ - NextToken?: string; + PublicDnsName?: 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 public IP address or Elastic IP address bound to the network interface.

                                */ - DryRun?: boolean; + PublicIp?: string; } -export namespace DescribeLocalGatewayVirtualInterfacesRequest { +export namespace InstanceNetworkInterfaceAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAssociation): any => ({ ...obj, }); } /** - *

                                Describes a local gateway virtual interface.

                                + *

                                Describes a network interface attachment.

                                */ -export interface LocalGatewayVirtualInterface { +export interface InstanceNetworkInterfaceAttachment { /** - *

                                The ID of the virtual interface.

                                + *

                                The time stamp when the attachment initiated.

                                */ - LocalGatewayVirtualInterfaceId?: string; + AttachTime?: Date; /** - *

                                The ID of the local gateway.

                                + *

                                The ID of the network interface attachment.

                                */ - LocalGatewayId?: string; + AttachmentId?: string; /** - *

                                The ID of the VLAN.

                                + *

                                Indicates whether the network interface is deleted when the instance is terminated.

                                */ - Vlan?: number; + DeleteOnTermination?: boolean; /** - *

                                The local address.

                                + *

                                The index of the device on the instance for the network interface attachment.

                                */ - LocalAddress?: string; + DeviceIndex?: number; /** - *

                                The peer address.

                                + *

                                The attachment state.

                                */ - PeerAddress?: string; + Status?: AttachmentStatus | string; /** - *

                                The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

                                + *

                                The index of the network card.

                                */ - LocalBgpAsn?: number; + NetworkCardIndex?: number; +} +export namespace InstanceNetworkInterfaceAttachment { /** - *

                                The peer BGP ASN.

                                + * @internal */ - PeerBgpAsn?: number; + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAttachment): any => ({ + ...obj, + }); +} +/** + *

                                Information about an IPv4 prefix.

                                + */ +export interface InstanceIpv4Prefix { /** - *

                                The ID of the Amazon Web Services account that owns the local gateway virtual interface.

                                + *

                                One or more IPv4 prefixes assigned to the network interface.

                                */ - OwnerId?: string; + Ipv4Prefix?: string; +} +export namespace InstanceIpv4Prefix { /** - *

                                The tags assigned to the virtual interface.

                                + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: InstanceIpv4Prefix): any => ({ + ...obj, + }); } -export namespace LocalGatewayVirtualInterface { +/** + *

                                Information about an IPv6 prefix.

                                + */ +export interface InstanceIpv6Prefix { + /** + *

                                One or more IPv6 prefixes assigned to the network interface.

                                + */ + Ipv6Prefix?: string; +} + +export namespace InstanceIpv6Prefix { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayVirtualInterface): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv6Prefix): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfacesResult { +/** + *

                                Describes a private IPv4 address.

                                + */ +export interface InstancePrivateIpAddress { + /** + *

                                The association information for an Elastic IP address for the network interface.

                                + */ + Association?: InstanceNetworkInterfaceAssociation; + + /** + *

                                Indicates whether this IPv4 address is the primary private IP address of the network interface.

                                + */ + Primary?: boolean; + /** - *

                                Information about the virtual interfaces.

                                + *

                                The private IPv4 DNS name.

                                */ - LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; + PrivateDnsName?: 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 private IPv4 address of the network interface.

                                */ - NextToken?: string; + PrivateIpAddress?: string; } -export namespace DescribeLocalGatewayVirtualInterfacesResult { +export namespace InstancePrivateIpAddress { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesResult): any => ({ + export const filterSensitiveLog = (obj: InstancePrivateIpAddress): any => ({ ...obj, }); } -export interface DescribeManagedPrefixListsRequest { +/** + *

                                Describes a network interface.

                                + */ +export interface InstanceNetworkInterface { /** - *

                                Checks whether you have the required permissions for the action, without 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 association information for an Elastic IPv4 associated with the network + * interface.

                                */ - DryRun?: boolean; + Association?: InstanceNetworkInterfaceAssociation; /** - *

                                One or more filters.

                                - *
                                  - *
                                • - *

                                  - * owner-id - The ID of the prefix list owner.

                                  - *
                                • - *
                                • - *

                                  - * prefix-list-id - The ID of the prefix list.

                                  - *
                                • - *
                                • - *

                                  - * prefix-list-name - The name of the prefix list.

                                  - *
                                • - *
                                + *

                                The network interface attachment.

                                */ - Filters?: Filter[]; + Attachment?: InstanceNetworkInterfaceAttachment; /** - *

                                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 description.

                                */ - MaxResults?: number; + Description?: string; /** - *

                                The token for the next page of results.

                                + *

                                One or more security groups.

                                */ - NextToken?: string; + Groups?: GroupIdentifier[]; /** - *

                                One or more prefix list IDs.

                                + *

                                One or more IPv6 addresses associated with the network interface.

                                */ - PrefixListIds?: string[]; -} + Ipv6Addresses?: InstanceIpv6Address[]; -export namespace DescribeManagedPrefixListsRequest { /** - * @internal + *

                                The MAC address.

                                */ - export const filterSensitiveLog = (obj: DescribeManagedPrefixListsRequest): any => ({ - ...obj, - }); -} + MacAddress?: string; -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.

                                + *

                                The ID of the network interface.

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

                                Information about the prefix lists.

                                + *

                                The ID of the Amazon Web Services account that created the network interface.

                                */ - PrefixLists?: ManagedPrefixList[]; -} + OwnerId?: string; -export namespace DescribeManagedPrefixListsResult { /** - * @internal + *

                                The private DNS name.

                                */ - export const filterSensitiveLog = (obj: DescribeManagedPrefixListsResult): any => ({ - ...obj, - }); -} + PrivateDnsName?: string; -export interface DescribeMovingAddressesRequest { /** - *

                                One or more filters.

                                - *
                                  - *
                                • - *

                                  - * moving-status - The status of the Elastic IP address - * (MovingToVpc | RestoringToClassic).

                                  - *
                                • - *
                                + *

                                The IPv4 address of the network interface within the subnet.

                                */ - Filters?: Filter[]; + PrivateIpAddress?: 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.

                                + *

                                One or more private IPv4 addresses associated with the network interface.

                                */ - DryRun?: boolean; + PrivateIpAddresses?: InstancePrivateIpAddress[]; /** - *

                                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 1000; if - * MaxResults is given a value outside of this range, an error is returned.

                                - *

                                Default: If no value is provided, the default is 1000.

                                + *

                                Indicates whether source/destination checking is enabled.

                                */ - MaxResults?: number; + SourceDestCheck?: boolean; /** - *

                                The token for the next page of results.

                                + *

                                The status of the network interface.

                                */ - NextToken?: string; + Status?: NetworkInterfaceStatus | string; /** - *

                                One or more Elastic IP addresses.

                                + *

                                The ID of the subnet.

                                */ - PublicIps?: string[]; -} + SubnetId?: string; -export namespace DescribeMovingAddressesRequest { /** - * @internal + *

                                The ID of the VPC.

                                */ - export const filterSensitiveLog = (obj: DescribeMovingAddressesRequest): any => ({ - ...obj, - }); -} + VpcId?: string; -export type MoveStatus = "movingToVpc" | "restoringToClassic"; + /** + *

                                Describes the type of network interface.

                                + *

                                Valid values: interface | efa | trunk + *

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

                                Describes the status of a moving Elastic IP address.

                                - */ -export interface MovingAddressStatus { /** - *

                                The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

                                + *

                                The IPv4 delegated prefixes that are assigned to the network interface.

                                */ - MoveStatus?: MoveStatus | string; + Ipv4Prefixes?: InstanceIpv4Prefix[]; /** - *

                                The Elastic IP address.

                                + *

                                The IPv6 delegated prefixes that are assigned to the network interface.

                                */ - PublicIp?: string; + Ipv6Prefixes?: InstanceIpv6Prefix[]; } -export namespace MovingAddressStatus { +export namespace InstanceNetworkInterface { /** * @internal */ - export const filterSensitiveLog = (obj: MovingAddressStatus): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterface): any => ({ ...obj, }); } -export interface DescribeMovingAddressesResult { +/** + *

                                Describes the options for instance hostnames.

                                + */ +export interface PrivateDnsNameOptionsResponse { /** - *

                                The status for each Elastic IP address.

                                + *

                                The type of hostname to assign to an instance.

                                */ - MovingAddressStatuses?: MovingAddressStatus[]; + HostnameType?: HostnameType | string; /** - *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                + *

                                Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                */ - NextToken?: string; + EnableResourceNameDnsARecord?: boolean; + + /** + *

                                Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                + */ + EnableResourceNameDnsAAAARecord?: boolean; } -export namespace DescribeMovingAddressesResult { +export namespace PrivateDnsNameOptionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeMovingAddressesResult): any => ({ + export const filterSensitiveLog = (obj: PrivateDnsNameOptionsResponse): any => ({ ...obj, }); } -export interface DescribeNatGatewaysRequest { - /** - *

                                Checks whether you have the required permissions for the action, without 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 type InstanceStateName = "pending" | "running" | "shutting-down" | "stopped" | "stopping" | "terminated"; +/** + *

                                Describes the current state of an instance.

                                + */ +export interface InstanceState { /** - *

                                One or more filters.

                                - *
                                  + *

                                  The state of the instance as a 16-bit unsigned integer.

                                  + *

                                  The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values + * between 256 and 65,535. These numerical values are used for internal purposes and should + * be ignored.

                                  + *

                                  The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values + * between 0 and 255.

                                  + *

                                  The valid values for instance-state-code will all be in the range of the low byte and + * they are:

                                  + *
                                    *
                                  • - *

                                    - * nat-gateway-id - The ID of the NAT gateway.

                                    + *

                                    + * 0 : pending + *

                                    *
                                  • *
                                  • - *

                                    - * state - The state of the NAT gateway (pending | - * failed | available | deleting | deleted).

                                    + *

                                    + * 16 : running + *

                                    *
                                  • *
                                  • - *

                                    - * subnet-id - The ID of the subnet in which the NAT gateway resides.

                                    + *

                                    + * 32 : shutting-down + *

                                    *
                                  • *
                                  • - *

                                    - * 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.

                                    - *
                                  • + *

                                    + * 48 : terminated + *

                                    + * *
                                  • - *

                                    - * 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.

                                    - *
                                  • + *

                                    + * 64 : stopping + *

                                    + * *
                                  • - *

                                    - * vpc-id - The ID of the VPC in which the NAT gateway resides.

                                    + *

                                    + * 80 : stopped + *

                                    *
                                  • *
                                  + *

                                  You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in + * decimal.

                                  + */ + Code?: number; + + /** + *

                                  The current state of the instance.

                                  + */ + Name?: InstanceStateName | string; +} + +export namespace InstanceState { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceState): any => ({ + ...obj, + }); +} + +/** + *

                                  Describes an instance.

                                  + */ +export interface Instance { + /** + *

                                  The AMI launch index, which can be used to find this instance in the launch + * group.

                                  */ - Filter?: Filter[]; + AmiLaunchIndex?: 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 AMI used to launch the instance.

                                  */ - MaxResults?: number; + ImageId?: string; /** - *

                                  One or more NAT gateway IDs.

                                  + *

                                  The ID of the instance.

                                  */ - NatGatewayIds?: string[]; + InstanceId?: string; /** - *

                                  The token for the next page of results.

                                  + *

                                  The instance type.

                                  */ - NextToken?: string; -} + InstanceType?: _InstanceType | string; -export namespace DescribeNatGatewaysRequest { /** - * @internal + *

                                  The kernel associated with this instance, if applicable.

                                  */ - export const filterSensitiveLog = (obj: DescribeNatGatewaysRequest): any => ({ - ...obj, - }); -} + KernelId?: string; -export interface DescribeNatGatewaysResult { /** - *

                                  Information about the NAT gateways.

                                  + *

                                  The name of the key pair, if this instance was launched with an associated key + * pair.

                                  */ - NatGateways?: NatGateway[]; + KeyName?: 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 time the instance was launched.

                                  */ - NextToken?: string; -} + LaunchTime?: Date; -export namespace DescribeNatGatewaysResult { /** - * @internal + *

                                  The monitoring for the instance.

                                  */ - export const filterSensitiveLog = (obj: DescribeNatGatewaysResult): any => ({ - ...obj, - }); -} + Monitoring?: Monitoring; -export interface DescribeNetworkAclsRequest { /** - *

                                  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 Amazon Web Services 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.

                                    - *
                                  • - *
                                  + *

                                  The location where the instance launched, if applicable.

                                  */ - Filters?: Filter[]; + Placement?: Placement; /** - *

                                  Checks whether you have the required permissions for the action, without 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 value is Windows for Windows instances; otherwise blank.

                                  */ - DryRun?: boolean; + Platform?: PlatformValues | string; /** - *

                                  One or more network ACL IDs.

                                  - *

                                  Default: Describes all your network ACLs.

                                  + *

                                  (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.

                                  */ - NetworkAclIds?: string[]; + PrivateDnsName?: string; /** - *

                                  The token for the next page of results.

                                  + *

                                  The private IPv4 address assigned to the instance.

                                  */ - NextToken?: string; + PrivateIpAddress?: 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 product codes attached to this instance, if applicable.

                                  */ - MaxResults?: number; -} + ProductCodes?: ProductCode[]; -export namespace DescribeNetworkAclsRequest { /** - * @internal + *

                                  (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.

                                  */ - export const filterSensitiveLog = (obj: DescribeNetworkAclsRequest): any => ({ - ...obj, - }); -} + PublicDnsName?: string; -export interface DescribeNetworkAclsResult { /** - *

                                  Information about one or more network ACLs.

                                  + *

                                  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.

                                  */ - NetworkAcls?: NetworkAcl[]; + PublicIpAddress?: 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 RAM disk associated with this instance, if applicable.

                                  */ - NextToken?: string; -} + RamdiskId?: string; -export namespace DescribeNetworkAclsResult { /** - * @internal + *

                                  The current state of the instance.

                                  */ - export const filterSensitiveLog = (obj: DescribeNetworkAclsResult): any => ({ - ...obj, - }); -} + State?: InstanceState; -export interface DescribeNetworkInsightsAnalysesRequest { /** - *

                                  The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

                                  + *

                                  The reason for the most recent state transition. This might be an empty string.

                                  */ - NetworkInsightsAnalysisIds?: string[]; + StateTransitionReason?: string; /** - *

                                  The ID of the path. You must specify either a path ID or analysis IDs.

                                  + *

                                  [EC2-VPC] The ID of the subnet in which the instance is running.

                                  */ - NetworkInsightsPathId?: string; + SubnetId?: string; /** - *

                                  The time when the network insights analyses started.

                                  + *

                                  [EC2-VPC] The ID of the VPC in which the instance is running.

                                  */ - AnalysisStartTime?: Date; + VpcId?: string; /** - *

                                  The time when the network insights analyses ended.

                                  + *

                                  The architecture of the image.

                                  */ - AnalysisEndTime?: Date; + Architecture?: ArchitectureValues | string; /** - *

                                  The filters. The following are possible values:

                                  - *
                                    - *
                                  • - *

                                    PathFound - A Boolean value that indicates whether a feasible path is found.

                                    - *
                                  • - *
                                  • - *

                                    Status - The status of the analysis (running | succeeded | failed).

                                    - *
                                  • - *
                                  + *

                                  Any block device mapping entries for the instance.

                                  */ - Filters?: Filter[]; + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                                  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 idempotency token you provided when you launched the instance, if + * applicable.

                                  */ - MaxResults?: 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.

                                  + *

                                  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.

                                  */ - DryRun?: boolean; + EbsOptimized?: boolean; /** - *

                                  The token for the next page of results.

                                  + *

                                  Specifies whether enhanced networking with ENA is enabled.

                                  */ - NextToken?: string; -} + EnaSupport?: boolean; -export namespace DescribeNetworkInsightsAnalysesRequest { /** - * @internal + *

                                  The hypervisor type of the instance. The value xen is used for both Xen and + * Nitro hypervisors.

                                  */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesRequest): any => ({ - ...obj, - }); -} + Hypervisor?: HypervisorType | string; -/** - *

                                  Describes a path component.

                                  - */ -export interface AnalysisComponent { /** - *

                                  The ID of the component.

                                  + *

                                  The IAM instance profile associated with the instance, if applicable.

                                  */ - Id?: string; + IamInstanceProfile?: IamInstanceProfile; /** - *

                                  The Amazon Resource Name (ARN) of the component.

                                  + *

                                  Indicates whether this is a Spot Instance or a Scheduled Instance.

                                  */ - Arn?: string; -} + InstanceLifecycle?: InstanceLifecycleType | string; -export namespace AnalysisComponent { /** - * @internal - */ - export const filterSensitiveLog = (obj: AnalysisComponent): any => ({ - ...obj, - }); -} + *

                                  The Elastic GPU associated with the instance.

                                  + */ + ElasticGpuAssociations?: ElasticGpuAssociation[]; -/** - *

                                  Describes a network access control (ACL) rule.

                                  - */ -export interface AnalysisAclRule { /** - *

                                  The IPv4 address range, in CIDR notation.

                                  + *

                                  The elastic inference accelerator associated with the instance.

                                  */ - Cidr?: string; + ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; /** - *

                                  Indicates whether the rule is an outbound rule.

                                  + *

                                  [EC2-VPC] The network interfaces for the instance.

                                  */ - Egress?: boolean; + NetworkInterfaces?: InstanceNetworkInterface[]; /** - *

                                  The range of ports.

                                  + *

                                  The Amazon Resource Name (ARN) of the Outpost.

                                  */ - PortRange?: PortRange; + OutpostArn?: string; /** - *

                                  The protocol.

                                  + *

                                  The device name of the root device volume (for example, + * /dev/sda1).

                                  */ - Protocol?: string; + RootDeviceName?: string; /** - *

                                  Indicates whether to allow or deny traffic that matches the rule.

                                  + *

                                  The root device type used by the AMI. The AMI can use an EBS volume or an instance + * store volume.

                                  */ - RuleAction?: string; + RootDeviceType?: DeviceType | string; /** - *

                                  The rule number.

                                  + *

                                  The security groups for the instance.

                                  */ - RuleNumber?: number; -} + SecurityGroups?: GroupIdentifier[]; -export namespace AnalysisAclRule { /** - * @internal + *

                                  Indicates whether source/destination checking is enabled.

                                  */ - export const filterSensitiveLog = (obj: AnalysisAclRule): any => ({ - ...obj, - }); -} + SourceDestCheck?: boolean; -/** - *

                                  Describes a load balancer listener.

                                  - */ -export interface AnalysisLoadBalancerListener { /** - *

                                  The port on which the load balancer is listening.

                                  + *

                                  If the request is a Spot Instance request, the ID of the request.

                                  */ - LoadBalancerPort?: number; + SpotInstanceRequestId?: string; /** - *

                                  [Classic Load Balancers] The back-end port for the listener.

                                  + *

                                  Specifies whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

                                  */ - InstancePort?: number; -} + SriovNetSupport?: string; -export namespace AnalysisLoadBalancerListener { /** - * @internal + *

                                  The reason for the most recent state transition.

                                  */ - export const filterSensitiveLog = (obj: AnalysisLoadBalancerListener): any => ({ - ...obj, - }); -} + StateReason?: StateReason; -/** - *

                                  Describes a load balancer target.

                                  - */ -export interface AnalysisLoadBalancerTarget { /** - *

                                  The IP address.

                                  + *

                                  Any tags assigned to the instance.

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

                                  The Availability Zone.

                                  + *

                                  The virtualization type of the instance.

                                  */ - AvailabilityZone?: string; + VirtualizationType?: VirtualizationType | string; /** - *

                                  Information about the instance.

                                  + *

                                  The CPU options for the instance.

                                  */ - Instance?: AnalysisComponent; + CpuOptions?: CpuOptions; /** - *

                                  The port on which the target is listening.

                                  + *

                                  The ID of the Capacity Reservation.

                                  */ - Port?: number; -} + CapacityReservationId?: string; -export namespace AnalysisLoadBalancerTarget { /** - * @internal + *

                                  Information about the Capacity Reservation targeting option.

                                  */ - export const filterSensitiveLog = (obj: AnalysisLoadBalancerTarget): any => ({ - ...obj, - }); -} + CapacityReservationSpecification?: CapacityReservationSpecificationResponse; -/** - *

                                  Describes a route table route.

                                  - */ -export interface AnalysisRouteTableRoute { /** - *

                                  The destination IPv4 address, in CIDR notation.

                                  + *

                                  Indicates whether the instance is enabled for hibernation.

                                  */ - DestinationCidr?: string; + HibernationOptions?: HibernationOptions; /** - *

                                  The prefix of the Amazon Web Service.

                                  + *

                                  The license configurations for the instance.

                                  */ - DestinationPrefixListId?: string; + Licenses?: LicenseConfiguration[]; /** - *

                                  The ID of an egress-only internet gateway.

                                  + *

                                  The metadata options for the instance.

                                  */ - EgressOnlyInternetGatewayId?: string; + MetadataOptions?: InstanceMetadataOptionsResponse; /** - *

                                  The ID of the gateway, such as an internet gateway or virtual private gateway.

                                  + *

                                  Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                                  */ - GatewayId?: string; + EnclaveOptions?: EnclaveOptions; /** - *

                                  The ID of the instance, such as a NAT instance.

                                  + *

                                  The boot mode of the instance. For more information, see Boot modes in the + * Amazon EC2 User Guide.

                                  */ - InstanceId?: string; + BootMode?: BootModeValues | string; /** - *

                                  The ID of a NAT gateway.

                                  + *

                                  The platform details value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

                                  */ - NatGatewayId?: string; + PlatformDetails?: string; /** - *

                                  The ID of a network interface.

                                  + *

                                  The usage operation value for the instance. For more information, see AMI billing information fields + * in the Amazon EC2 User Guide.

                                  */ - NetworkInterfaceId?: string; + UsageOperation?: string; /** - *

                                  Describes how the route was created. The following are possible values:

                                  - *
                                    - *
                                  • - *

                                    - * 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 time that the usage operation was last updated.

                                  */ - Origin?: string; + UsageOperationUpdateTime?: Date; /** - *

                                  The ID of a transit gateway.

                                  + *

                                  The options for the instance hostname.

                                  */ - TransitGatewayId?: string; + PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse; /** - *

                                  The ID of a VPC peering connection.

                                  + *

                                  The IPv6 address assigned to the instance.

                                  */ - VpcPeeringConnectionId?: string; + Ipv6Address?: string; } -export namespace AnalysisRouteTableRoute { +export namespace Instance { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisRouteTableRoute): any => ({ + export const filterSensitiveLog = (obj: Instance): any => ({ ...obj, }); } /** - *

                                  Describes a security group rule.

                                  + *

                                  Describes a launch request for one or more instances, and includes + * owner, requester, and security group information that applies to all + * instances in the launch request.

                                  */ -export interface AnalysisSecurityGroupRule { - /** - *

                                  The IPv4 address range, in CIDR notation.

                                  - */ - Cidr?: string; - +export interface Reservation { /** - *

                                  The direction. The following are possible values:

                                  - *
                                    - *
                                  • - *

                                    egress

                                    - *
                                  • - *
                                  • - *

                                    ingress

                                    - *
                                  • - *
                                  + *

                                  [EC2-Classic only] The security groups.

                                  */ - Direction?: string; + Groups?: GroupIdentifier[]; /** - *

                                  The security group ID.

                                  + *

                                  The instances.

                                  */ - SecurityGroupId?: string; + Instances?: Instance[]; /** - *

                                  The port range.

                                  + *

                                  The ID of the Amazon Web Services account that owns the reservation.

                                  */ - PortRange?: PortRange; + OwnerId?: string; /** - *

                                  The prefix list ID.

                                  + *

                                  The ID of the requester that launched the instances on your behalf (for example, + * Amazon Web Services Management Console or Auto Scaling).

                                  */ - PrefixListId?: string; + RequesterId?: string; /** - *

                                  The protocol name.

                                  + *

                                  The ID of the reservation.

                                  */ - Protocol?: string; + ReservationId?: string; } -export namespace AnalysisSecurityGroupRule { +export namespace Reservation { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisSecurityGroupRule): any => ({ + export const filterSensitiveLog = (obj: Reservation): any => ({ ...obj, }); } -/** - *

                                  Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

                                  - */ -export interface Explanation { - /** - *

                                  The network ACL.

                                  - */ - Acl?: AnalysisComponent; - +export interface DescribeInstancesResult { /** - *

                                  The network ACL rule.

                                  + *

                                  Information about the reservations.

                                  */ - AclRule?: AnalysisAclRule; + Reservations?: Reservation[]; /** - *

                                  The IPv4 address, in CIDR notation.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                  */ - Address?: string; + NextToken?: string; +} +export namespace DescribeInstancesResult { /** - *

                                  The IPv4 addresses, in CIDR notation.

                                  + * @internal */ - Addresses?: string[]; + export const filterSensitiveLog = (obj: DescribeInstancesResult): any => ({ + ...obj, + }); +} +export interface DescribeInstanceStatusRequest { /** - *

                                  The resource to which the component is attached.

                                  + *

                                  The filters.

                                  + *
                                    + *
                                  • + *

                                    + * availability-zone - The Availability Zone of the instance.

                                    + *
                                  • + *
                                  • + *

                                    + * event.code - The code for the scheduled event + * (instance-reboot | system-reboot | + * system-maintenance | instance-retirement | + * instance-stop).

                                    + *
                                  • + *
                                  • + *

                                    + * event.description - A description of the event.

                                    + *
                                  • + *
                                  • + *

                                    + * event.instance-event-id - The ID of the event whose date and time + * you are modifying.

                                    + *
                                  • + *
                                  • + *

                                    + * event.not-after - The latest end time for the scheduled event + * (for example, 2014-09-15T17:15:20.000Z).

                                    + *
                                  • + *
                                  • + *

                                    + * event.not-before - The earliest start time for the scheduled + * event (for example, 2014-09-15T17:15:20.000Z).

                                    + *
                                  • + *
                                  • + *

                                    + * event.not-before-deadline - The deadline for starting the event + * (for example, 2014-09-15T17:15:20.000Z).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-state-code - The code for the instance state, as a + * 16-bit unsigned integer. The high byte is used for internal purposes and should + * be ignored. The low byte is set based on the state represented. The valid values + * are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 + * (stopping), and 80 (stopped).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-state-name - The state of the instance + * (pending | running | shutting-down | + * terminated | stopping | + * stopped).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-status.reachability - Filters on instance status where + * the name is reachability (passed | failed + * | initializing | insufficient-data).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-status.status - The status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

                                    + *
                                  • + *
                                  • + *

                                    + * system-status.reachability - Filters on system status where the + * name is reachability (passed | failed | + * initializing | insufficient-data).

                                    + *
                                  • + *
                                  • + *

                                    + * system-status.status - The system status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

                                    + *
                                  • + *
                                  */ - AttachedTo?: AnalysisComponent; + Filters?: Filter[]; /** - *

                                  The Availability Zones.

                                  + *

                                  The instance IDs.

                                  + *

                                  Default: Describes all your instances.

                                  + *

                                  Constraints: Maximum 100 explicitly specified instance IDs.

                                  */ - AvailabilityZones?: string[]; + InstanceIds?: string[]; /** - *

                                  The CIDR ranges.

                                  + *

                                  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.

                                  */ - Cidrs?: string[]; + MaxResults?: number; /** - *

                                  The component.

                                  + *

                                  The token to retrieve the next page of results.

                                  */ - Component?: AnalysisComponent; + NextToken?: string; /** - *

                                  The customer 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.

                                  */ - CustomerGateway?: AnalysisComponent; + DryRun?: boolean; /** - *

                                  The destination.

                                  + *

                                  When true, includes the health status for all instances. When + * false, includes the health status for running instances only.

                                  + *

                                  Default: false + *

                                  */ - Destination?: AnalysisComponent; + IncludeAllInstances?: boolean; +} +export namespace DescribeInstanceStatusRequest { /** - *

                                  The destination VPC.

                                  + * @internal */ - DestinationVpc?: AnalysisComponent; + export const filterSensitiveLog = (obj: DescribeInstanceStatusRequest): any => ({ + ...obj, + }); +} - /** - *

                                  The direction. The following are possible values:

                                  - *
                                    - *
                                  • - *

                                    egress

                                    - *
                                  • - *
                                  • - *

                                    ingress

                                    - *
                                  • - *
                                  - */ - Direction?: string; +export type EventCode = + | "instance-reboot" + | "instance-retirement" + | "instance-stop" + | "system-maintenance" + | "system-reboot"; +/** + *

                                  Describes a scheduled event for an instance.

                                  + */ +export interface InstanceStatusEvent { /** - *

                                  The explanation code.

                                  + *

                                  The ID of the event.

                                  */ - ExplanationCode?: string; + InstanceEventId?: string; /** - *

                                  The route table.

                                  + *

                                  The event code.

                                  */ - IngressRouteTable?: AnalysisComponent; + Code?: EventCode | string; /** - *

                                  The internet gateway.

                                  + *

                                  A description of the event.

                                  + *

                                  After a scheduled event is completed, it can still be described for up to a week. If + * the event has been completed, this description starts with the following text: + * [Completed].

                                  */ - InternetGateway?: AnalysisComponent; + Description?: string; /** - *

                                  The Amazon Resource Name (ARN) of the load balancer.

                                  + *

                                  The latest scheduled end time for the event.

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

                                  The listener for a Classic Load Balancer.

                                  + *

                                  The earliest scheduled start time for the event.

                                  */ - ClassicLoadBalancerListener?: AnalysisLoadBalancerListener; + NotBefore?: Date; /** - *

                                  The listener port of the load balancer.

                                  + *

                                  The deadline for starting the event.

                                  */ - LoadBalancerListenerPort?: number; + NotBeforeDeadline?: Date; +} +export namespace InstanceStatusEvent { /** - *

                                  The target.

                                  + * @internal */ - LoadBalancerTarget?: AnalysisLoadBalancerTarget; + export const filterSensitiveLog = (obj: InstanceStatusEvent): any => ({ + ...obj, + }); +} - /** - *

                                  The target group.

                                  - */ - LoadBalancerTargetGroup?: AnalysisComponent; +export type StatusName = "reachability"; - /** - *

                                  The target groups.

                                  - */ - LoadBalancerTargetGroups?: AnalysisComponent[]; +export type StatusType = "failed" | "initializing" | "insufficient-data" | "passed"; +/** + *

                                  Describes the instance status.

                                  + */ +export interface InstanceStatusDetails { /** - *

                                  The target port.

                                  + *

                                  The time when a status check failed. For an instance that was launched and impaired, + * this is the time when the instance was launched.

                                  */ - LoadBalancerTargetPort?: number; + ImpairedSince?: Date; /** - *

                                  The load balancer listener.

                                  + *

                                  The type of instance status.

                                  */ - ElasticLoadBalancerListener?: AnalysisComponent; + Name?: StatusName | string; /** - *

                                  The missing component.

                                  + *

                                  The status.

                                  */ - MissingComponent?: string; + Status?: StatusType | string; +} +export namespace InstanceStatusDetails { /** - *

                                  The NAT gateway.

                                  + * @internal */ - NatGateway?: AnalysisComponent; + export const filterSensitiveLog = (obj: InstanceStatusDetails): any => ({ + ...obj, + }); +} - /** - *

                                  The network interface.

                                  - */ - NetworkInterface?: AnalysisComponent; +export type SummaryStatus = "impaired" | "initializing" | "insufficient-data" | "not-applicable" | "ok"; +/** + *

                                  Describes the status of an instance.

                                  + */ +export interface InstanceStatusSummary { /** - *

                                  The packet field.

                                  + *

                                  The system instance health or application instance health.

                                  */ - PacketField?: string; + Details?: InstanceStatusDetails[]; /** - *

                                  The VPC peering connection.

                                  + *

                                  The status.

                                  */ - VpcPeeringConnection?: AnalysisComponent; + Status?: SummaryStatus | string; +} +export namespace InstanceStatusSummary { /** - *

                                  The port.

                                  + * @internal */ - Port?: number; + export const filterSensitiveLog = (obj: InstanceStatusSummary): any => ({ + ...obj, + }); +} +/** + *

                                  Describes the status of an instance.

                                  + */ +export interface InstanceStatus { /** - *

                                  The port ranges.

                                  + *

                                  The Availability Zone of the instance.

                                  */ - PortRanges?: PortRange[]; + AvailabilityZone?: string; /** - *

                                  The prefix list.

                                  + *

                                  The Amazon Resource Name (ARN) of the Outpost.

                                  */ - PrefixList?: AnalysisComponent; + OutpostArn?: string; /** - *

                                  The protocols.

                                  + *

                                  Any scheduled events associated with the instance.

                                  */ - Protocols?: string[]; + Events?: InstanceStatusEvent[]; /** - *

                                  The route table route.

                                  + *

                                  The ID of the instance.

                                  */ - RouteTableRoute?: AnalysisRouteTableRoute; + InstanceId?: string; /** - *

                                  The route table.

                                  + *

                                  The intended state of the instance. DescribeInstanceStatus requires + * that an instance be in the running state.

                                  */ - RouteTable?: AnalysisComponent; + InstanceState?: InstanceState; /** - *

                                  The security group.

                                  + *

                                  Reports impaired functionality that stems from issues internal to the instance, such + * as impaired reachability.

                                  */ - SecurityGroup?: AnalysisComponent; + InstanceStatus?: InstanceStatusSummary; /** - *

                                  The security group rule.

                                  + *

                                  Reports impaired functionality that stems from issues related to the systems that + * support an instance, such as hardware failures and network connectivity problems.

                                  */ - SecurityGroupRule?: AnalysisSecurityGroupRule; + SystemStatus?: InstanceStatusSummary; +} +export namespace InstanceStatus { /** - *

                                  The security groups.

                                  + * @internal */ - SecurityGroups?: AnalysisComponent[]; + export const filterSensitiveLog = (obj: InstanceStatus): any => ({ + ...obj, + }); +} +export interface DescribeInstanceStatusResult { /** - *

                                  The source VPC.

                                  + *

                                  Information about the status of the instances.

                                  */ - SourceVpc?: AnalysisComponent; + InstanceStatuses?: InstanceStatus[]; /** - *

                                  The state.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                  */ - State?: string; + NextToken?: string; +} +export namespace DescribeInstanceStatusResult { /** - *

                                  The subnet.

                                  + * @internal */ - Subnet?: AnalysisComponent; + export const filterSensitiveLog = (obj: DescribeInstanceStatusResult): any => ({ + ...obj, + }); +} + +export type LocationType = "availability-zone" | "availability-zone-id" | "region"; +export interface DescribeInstanceTypeOfferingsRequest { /** - *

                                  The route table for the subnet.

                                  + *

                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  */ - SubnetRouteTable?: AnalysisComponent; + DryRun?: boolean; /** - *

                                  The component VPC.

                                  + *

                                  The location type.

                                  */ - Vpc?: AnalysisComponent; + LocationType?: LocationType | string; /** - *

                                  The VPC endpoint.

                                  + *

                                  One or more filters. Filter names and values are case-sensitive.

                                  + *
                                    + *
                                  • + *

                                    + * location - This depends on the location type. For example, if the location type is + * region (default), the location is the Region code (for example, us-east-2.)

                                    + *
                                  • + *
                                  • + *

                                    + * instance-type - The instance type. For example, + * c5.2xlarge.

                                    + *
                                  • + *
                                  */ - VpcEndpoint?: AnalysisComponent; + Filters?: Filter[]; /** - *

                                  The VPN connection.

                                  + *

                                  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.

                                  */ - VpnConnection?: AnalysisComponent; + MaxResults?: number; /** - *

                                  The VPN gateway.

                                  + *

                                  The token to retrieve the next page of results.

                                  */ - VpnGateway?: AnalysisComponent; + NextToken?: string; } -export namespace Explanation { +export namespace DescribeInstanceTypeOfferingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Explanation): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsRequest): any => ({ ...obj, }); } /** - *

                                  Describes a header. Reflects any changes made by a component as traffic passes through. - * The fields of an inbound header are null except for the first component of a path.

                                  + *

                                  The instance types offered.

                                  */ -export interface AnalysisPacketHeader { - /** - *

                                  The destination addresses.

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

                                  The destination port ranges.

                                  - */ - DestinationPortRanges?: PortRange[]; - +export interface InstanceTypeOffering { /** - *

                                  The protocol.

                                  + *

                                  The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                  */ - Protocol?: string; + InstanceType?: _InstanceType | string; /** - *

                                  The source addresses.

                                  + *

                                  The location type.

                                  */ - SourceAddresses?: string[]; + LocationType?: LocationType | string; /** - *

                                  The source port ranges.

                                  + *

                                  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.)

                                  */ - SourcePortRanges?: PortRange[]; + Location?: string; } -export namespace AnalysisPacketHeader { +export namespace InstanceTypeOffering { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisPacketHeader): any => ({ + export const filterSensitiveLog = (obj: InstanceTypeOffering): any => ({ ...obj, }); } -/** - *

                                  Describes a path component.

                                  - */ -export interface PathComponent { - /** - *

                                  The sequence number.

                                  - */ - SequenceNumber?: number; - - /** - *

                                  The network ACL rule.

                                  - */ - AclRule?: AnalysisAclRule; - - /** - *

                                  The component.

                                  - */ - Component?: AnalysisComponent; - +export interface DescribeInstanceTypeOfferingsResult { /** - *

                                  The destination VPC.

                                  + *

                                  The instance types offered.

                                  */ - DestinationVpc?: AnalysisComponent; + InstanceTypeOfferings?: InstanceTypeOffering[]; /** - *

                                  The outbound header.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null when there + * are no more results to return.

                                  */ - OutboundHeader?: AnalysisPacketHeader; + NextToken?: string; +} +export namespace DescribeInstanceTypeOfferingsResult { /** - *

                                  The inbound header.

                                  + * @internal */ - InboundHeader?: AnalysisPacketHeader; + export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsResult): any => ({ + ...obj, + }); +} +export interface DescribeInstanceTypesRequest { /** - *

                                  The route table route.

                                  + *

                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  */ - RouteTableRoute?: AnalysisRouteTableRoute; + DryRun?: boolean; /** - *

                                  The security group rule.

                                  + *

                                  The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

                                  */ - SecurityGroupRule?: AnalysisSecurityGroupRule; + InstanceTypes?: (_InstanceType | string)[]; /** - *

                                  The source VPC.

                                  + *

                                  One or more filters. Filter names and values are case-sensitive.

                                  + *
                                    + *
                                  • + *

                                    + * auto-recovery-supported - Indicates whether auto recovery is supported (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * bare-metal - Indicates whether it is a bare metal instance type (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * burstable-performance-supported - Indicates whether it is a burstable + * performance instance type (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * current-generation - Indicates whether this instance type is the latest + * generation instance type of an instance family (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline + * bandwidth performance for an EBS-optimized instance type, in Mbps.

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage + * operations per second for an EBS-optimized instance type.

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline + * throughput performance for an EBS-optimized instance type, in MB/s.

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth + * performance for an EBS-optimized instance type, in Mbps.

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage + * operations per second for an EBS-optimized instance type.

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum + * throughput performance for an EBS-optimized instance type, in MB/s.

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.ebs-optimized-support - Indicates whether the instance type is + * EBS-optimized (supported | unsupported | + * default).

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.encryption-support - Indicates whether EBS encryption is supported + * (supported | unsupported).

                                    + *
                                  • + *
                                  • + *

                                    + * ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) + * is supported for EBS volumes (required | supported | unsupported).

                                    + *
                                  • + *
                                  • + *

                                    + * free-tier-eligible - Indicates whether the instance type is eligible to use + * in the free tier (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * hypervisor - The hypervisor (nitro | xen).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-info.disk.count - The number of local disks.

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in + * GB.

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-info.disk.type - The storage technology for the local + * instance storage disks (hdd | ssd).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-info.encryption-supported - Indicates whether data is encrypted at rest + * (required | unsupported).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-info.nvme-support - Indicates whether non-volatile memory + * express (NVMe) is supported for instance store (required | supported | + * unsupported).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-info.total-size-in-gb - The total amount of storage available from all local + * instance storage, in GB.

                                    + *
                                  • + *
                                  • + *

                                    + * instance-storage-supported - Indicates whether the instance type has local + * instance storage (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-type - The instance type (for example c5.2xlarge or + * c5*).

                                    + *
                                  • + *
                                  • + *

                                    + * memory-info.size-in-mib - The memory size.

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic + * Fabric Adapters (EFAs) per instance.

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.efa-supported - Indicates whether the instance type supports + * Elastic Fabric Adapter (EFA) (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is + * supported or required (required | supported | + * unsupported).

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.encryption-in-transit-supported - Indicates whether the instance type + * automatically encrypts in-transit traffic between instances (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per + * network interface.

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per + * network interface.

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

                                    + *
                                  • + *
                                  • + *

                                    + * network-info.network-performance - The network performance (for example, "25 + * Gigabit").

                                    + *
                                  • + *
                                  • + *

                                    + * processor-info.supported-architecture - The CPU architecture + * (arm64 | i386 | x86_64).

                                    + *
                                  • + *
                                  • + *

                                    + * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

                                    + *
                                  • + *
                                  • + *

                                    + * supported-boot-mode - The boot mode (legacy-bios | + * uefi).

                                    + *
                                  • + *
                                  • + *

                                    + * supported-root-device-type - The root device type (ebs | + * instance-store).

                                    + *
                                  • + *
                                  • + *

                                    + * supported-usage-class - The usage class (on-demand | + * spot).

                                    + *
                                  • + *
                                  • + *

                                    + * supported-virtualization-type - The virtualization type (hvm | + * paravirtual).

                                    + *
                                  • + *
                                  • + *

                                    + * vcpu-info.default-cores - The default number of cores for the instance type.

                                    + *
                                  • + *
                                  • + *

                                    + * vcpu-info.default-threads-per-core - The default number of threads per core for the instance + * type.

                                    + *
                                  • + *
                                  • + *

                                    + * vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

                                    + *
                                  • + *
                                  • + *

                                    + * vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

                                    + *
                                  • + *
                                  • + *

                                    + * vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. + * For example, "1" or "1,2".

                                    + *
                                  • + *
                                  */ - SourceVpc?: AnalysisComponent; + Filters?: Filter[]; /** - *

                                  The subnet.

                                  + *

                                  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.

                                  */ - Subnet?: AnalysisComponent; + MaxResults?: number; /** - *

                                  The component VPC.

                                  + *

                                  The token to retrieve the next page of results.

                                  */ - Vpc?: AnalysisComponent; + NextToken?: string; } -export namespace PathComponent { +export namespace DescribeInstanceTypesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PathComponent): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypesRequest): any => ({ ...obj, }); } -export type AnalysisStatus = "failed" | "running" | "succeeded"; - /** - *

                                  Describes a network insights analysis.

                                  + *

                                  Describes the optimized EBS performance for supported instance types.

                                  */ -export interface NetworkInsightsAnalysis { - /** - *

                                  The ID of the network insights analysis.

                                  - */ - NetworkInsightsAnalysisId?: string; - - /** - *

                                  The Amazon Resource Name (ARN) of the network insights analysis.

                                  - */ - NetworkInsightsAnalysisArn?: string; - - /** - *

                                  The ID of the path.

                                  - */ - NetworkInsightsPathId?: string; - - /** - *

                                  The Amazon Resource Names (ARN) of the Amazon Web Services resources that the path must traverse.

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

                                  The time the analysis started.

                                  - */ - StartDate?: Date; - - /** - *

                                  The status of the network insights analysis.

                                  - */ - Status?: AnalysisStatus | string; - - /** - *

                                  The status message, if the status is failed.

                                  - */ - StatusMessage?: string; - +export interface EbsOptimizedInfo { /** - *

                                  Indicates whether the destination is reachable from the source.

                                  + *

                                  The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

                                  */ - NetworkPathFound?: boolean; + BaselineBandwidthInMbps?: number; /** - *

                                  The components in the path from source to destination.

                                  + *

                                  The baseline throughput performance for an EBS-optimized instance type, in MB/s.

                                  */ - ForwardPathComponents?: PathComponent[]; + BaselineThroughputInMBps?: number; /** - *

                                  The components in the path from destination to source.

                                  + *

                                  The baseline input/output storage operations per seconds for an EBS-optimized instance type.

                                  */ - ReturnPathComponents?: PathComponent[]; + BaselineIops?: number; /** - *

                                  The explanations. For more information, see Reachability Analyzer explanation codes.

                                  + *

                                  The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

                                  */ - Explanations?: Explanation[]; + MaximumBandwidthInMbps?: number; /** - *

                                  Potential intermediate components.

                                  + *

                                  The maximum throughput performance for an EBS-optimized instance type, in MB/s.

                                  */ - AlternatePathHints?: AlternatePathHint[]; + MaximumThroughputInMBps?: number; /** - *

                                  The tags.

                                  + *

                                  The maximum input/output storage operations per second for an EBS-optimized instance type.

                                  */ - Tags?: Tag[]; + MaximumIops?: number; } -export namespace NetworkInsightsAnalysis { +export namespace EbsOptimizedInfo { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInsightsAnalysis): any => ({ + export const filterSensitiveLog = (obj: EbsOptimizedInfo): any => ({ ...obj, }); } -export interface DescribeNetworkInsightsAnalysesResult { - /** - *

                                  Information about the network insights analyses.

                                  - */ - NetworkInsightsAnalyses?: NetworkInsightsAnalysis[]; +export type EbsOptimizedSupport = "default" | "supported" | "unsupported"; - /** - *

                                  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 type EbsEncryptionSupport = "supported" | "unsupported"; -export namespace DescribeNetworkInsightsAnalysesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesResult): any => ({ - ...obj, - }); +export enum EbsNvmeSupport { + REQUIRED = "required", + SUPPORTED = "supported", + UNSUPPORTED = "unsupported", } -export interface DescribeNetworkInsightsPathsRequest { - /** - *

                                  The IDs of the paths.

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

                                  The filters. The following are possible values:

                                  - *
                                    - *
                                  • - *

                                    Destination - The ID of the resource.

                                    - *
                                  • - *
                                  • - *

                                    DestinationPort - The destination port.

                                    - *
                                  • - *
                                  • - *

                                    Name - The path name.

                                    - *
                                  • - *
                                  • - *

                                    Protocol - The protocol.

                                    - *
                                  • - *
                                  • - *

                                    Source - The ID of the resource.

                                    - *
                                  • - *
                                  - */ - 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. - * Otherwise, it is UnauthorizedOperation.

                                  - */ - DryRun?: boolean; - +/** + *

                                  Describes the Amazon EBS features supported by the instance type.

                                  + */ +export interface EbsInfo { /** - *

                                  The token for the next page of results.

                                  + *

                                  Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized + * instances in Amazon EC2 User Guide.

                                  */ - NextToken?: string; -} + EbsOptimizedSupport?: EbsOptimizedSupport | string; -export namespace DescribeNetworkInsightsPathsRequest { /** - * @internal + *

                                  Indicates whether Amazon EBS encryption is supported.

                                  */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsRequest): any => ({ - ...obj, - }); -} + EncryptionSupport?: EbsEncryptionSupport | string; -export interface DescribeNetworkInsightsPathsResult { /** - *

                                  Information about the paths.

                                  + *

                                  Describes the optimized EBS performance for the instance type.

                                  */ - NetworkInsightsPaths?: NetworkInsightsPath[]; + EbsOptimizedInfo?: EbsOptimizedInfo; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Indicates whether non-volatile memory express (NVMe) is supported.

                                  */ - NextToken?: string; + NvmeSupport?: EbsNvmeSupport | string; } -export namespace DescribeNetworkInsightsPathsResult { +export namespace EbsInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsResult): any => ({ + export const filterSensitiveLog = (obj: EbsInfo): any => ({ ...obj, }); } -export type NetworkInterfaceAttribute = "attachment" | "description" | "groupSet" | "sourceDestCheck"; - /** - *

                                  Contains the parameters for DescribeNetworkInterfaceAttribute.

                                  + *

                                  Describes the memory for the FPGA accelerator for the instance type.

                                  */ -export interface DescribeNetworkInterfaceAttributeRequest { - /** - *

                                  The attribute of the network interface. This parameter is required.

                                  - */ - Attribute?: NetworkInterfaceAttribute | 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 interface FpgaDeviceMemoryInfo { /** - *

                                  The ID of the network interface.

                                  + *

                                  The size of the memory available to the FPGA accelerator, in MiB.

                                  */ - NetworkInterfaceId: string | undefined; + SizeInMiB?: number; } -export namespace DescribeNetworkInterfaceAttributeRequest { +export namespace FpgaDeviceMemoryInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: FpgaDeviceMemoryInfo): any => ({ ...obj, }); } /** - *

                                  Contains the output of DescribeNetworkInterfaceAttribute.

                                  + *

                                  Describes the FPGA accelerator for the instance type.

                                  */ -export interface DescribeNetworkInterfaceAttributeResult { - /** - *

                                  The attachment (if any) of the network interface.

                                  - */ - Attachment?: NetworkInterfaceAttachment; - +export interface FpgaDeviceInfo { /** - *

                                  The description of the network interface.

                                  + *

                                  The name of the FPGA accelerator.

                                  */ - Description?: AttributeValue; + Name?: string; /** - *

                                  The security groups associated with the network interface.

                                  + *

                                  The manufacturer of the FPGA accelerator.

                                  */ - Groups?: GroupIdentifier[]; + Manufacturer?: string; /** - *

                                  The ID of the network interface.

                                  + *

                                  The count of FPGA accelerators for the instance type.

                                  */ - NetworkInterfaceId?: string; + Count?: number; /** - *

                                  Indicates whether source/destination checking is enabled.

                                  + *

                                  Describes the memory for the FPGA accelerator for the instance type.

                                  */ - SourceDestCheck?: AttributeBooleanValue; + MemoryInfo?: FpgaDeviceMemoryInfo; } -export namespace DescribeNetworkInterfaceAttributeResult { +export namespace FpgaDeviceInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeResult): any => ({ + export const filterSensitiveLog = (obj: FpgaDeviceInfo): any => ({ ...obj, }); } /** - *

                                  Contains the parameters for DescribeNetworkInterfacePermissions.

                                  + *

                                  Describes the FPGAs for the instance type.

                                  */ -export interface DescribeNetworkInterfacePermissionsRequest { +export interface FpgaInfo { /** - *

                                  One or more network interface permission IDs.

                                  + *

                                  Describes the FPGAs for the instance type.

                                  */ - NetworkInterfacePermissionIds?: string[]; + Fpgas?: FpgaDeviceInfo[]; /** - *

                                  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 Amazon Web Services account ID.

                                    - *
                                  • - *
                                  • - *

                                    - * network-interface-permission.aws-service - The Amazon Web Service.

                                    - *
                                  • - *
                                  • - *

                                    - * network-interface-permission.permission - The type of - * permission (INSTANCE-ATTACH | - * EIP-ASSOCIATE).

                                    - *
                                  • - *
                                  + *

                                  The total memory of all FPGA accelerators for the instance type.

                                  */ - Filters?: Filter[]; + TotalFpgaMemoryInMiB?: number; +} +export namespace FpgaInfo { /** - *

                                  The token to request the next page of results.

                                  + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: FpgaInfo): any => ({ + ...obj, + }); +} +/** + *

                                  Describes the memory available to the GPU accelerator.

                                  + */ +export interface GpuDeviceMemoryInfo { /** - *

                                  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.

                                  + *

                                  The size of the memory available to the GPU accelerator, in MiB.

                                  */ - MaxResults?: number; + SizeInMiB?: number; } -export namespace DescribeNetworkInterfacePermissionsRequest { +export namespace GpuDeviceMemoryInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsRequest): any => ({ + export const filterSensitiveLog = (obj: GpuDeviceMemoryInfo): any => ({ ...obj, }); } /** - *

                                  Contains the output for DescribeNetworkInterfacePermissions.

                                  + *

                                  Describes the GPU accelerators for the instance type.

                                  */ -export interface DescribeNetworkInterfacePermissionsResult { +export interface GpuDeviceInfo { /** - *

                                  The network interface permissions.

                                  + *

                                  The name of the GPU accelerator.

                                  */ - NetworkInterfacePermissions?: NetworkInterfacePermission[]; + Name?: string; /** - *

                                  The token to use to retrieve the next page of results.

                                  + *

                                  The manufacturer of the GPU accelerator.

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

                                  The number of GPUs for the instance type.

                                  + */ + Count?: number; + + /** + *

                                  Describes the memory available to the GPU accelerator.

                                  + */ + MemoryInfo?: GpuDeviceMemoryInfo; } -export namespace DescribeNetworkInterfacePermissionsResult { +export namespace GpuDeviceInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsResult): any => ({ + export const filterSensitiveLog = (obj: GpuDeviceInfo): any => ({ ...obj, }); } /** - *

                                  Contains the parameters for DescribeNetworkInterfaces.

                                  + *

                                  Describes the GPU accelerators for the instance type.

                                  */ -export interface DescribeNetworkInterfacesRequest { +export interface GpuInfo { /** - *

                                  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 Amazon Web Services 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 alias or Amazon Web Services account ID of the principal or service that created the network interface.

                                    - *
                                  • - *
                                  • - *

                                    - * requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service - * (for example, Amazon Web Services 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.

                                    - *
                                  • - *
                                  + *

                                  Describes the GPU accelerators for the instance type.

                                  + */ + Gpus?: GpuDeviceInfo[]; + + /** + *

                                  The total size of the memory for the GPU accelerators for the instance type, in MiB.

                                  */ - Filters?: Filter[]; + TotalGpuMemoryInMiB?: number; +} +export namespace GpuInfo { /** - *

                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                  + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: GpuInfo): any => ({ + ...obj, + }); +} + +export enum InstanceTypeHypervisor { + NITRO = "nitro", + XEN = "xen", +} +/** + *

                                  Describes the Inference accelerators for the instance type.

                                  + */ +export interface InferenceDeviceInfo { /** - *

                                  One or more network interface IDs.

                                  - *

                                  Default: Describes all your network interfaces.

                                  + *

                                  The number of Inference accelerators for the instance type.

                                  */ - NetworkInterfaceIds?: string[]; + Count?: number; /** - *

                                  The token to retrieve the next page of results.

                                  + *

                                  The name of the Inference accelerator.

                                  */ - NextToken?: string; + Name?: 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.

                                  + *

                                  The manufacturer of the Inference accelerator.

                                  */ - MaxResults?: number; + Manufacturer?: string; } -export namespace DescribeNetworkInterfacesRequest { +export namespace InferenceDeviceInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacesRequest): any => ({ + export const filterSensitiveLog = (obj: InferenceDeviceInfo): any => ({ ...obj, }); } /** - *

                                  Contains the output of DescribeNetworkInterfaces.

                                  + *

                                  Describes the Inference accelerators for the instance type.

                                  */ -export interface DescribeNetworkInterfacesResult { +export interface InferenceAcceleratorInfo { /** - *

                                  Information about one or more network interfaces.

                                  + *

                                  Describes the Inference accelerators for the instance type.

                                  */ - NetworkInterfaces?: NetworkInterface[]; + Accelerators?: InferenceDeviceInfo[]; +} +export namespace InferenceAcceleratorInfo { /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: InferenceAcceleratorInfo): any => ({ + ...obj, + }); } -export namespace DescribeNetworkInterfacesResult { +export type DiskType = "hdd" | "ssd"; + +/** + *

                                  Describes a disk.

                                  + */ +export interface DiskInfo { + /** + *

                                  The size of the disk in GB.

                                  + */ + SizeInGB?: number; + + /** + *

                                  The number of disks with this configuration.

                                  + */ + Count?: number; + + /** + *

                                  The type of disk.

                                  + */ + Type?: DiskType | string; +} + +export namespace DiskInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacesResult): any => ({ + export const filterSensitiveLog = (obj: DiskInfo): any => ({ ...obj, }); } -export interface DescribePlacementGroupsRequest { +export enum InstanceStorageEncryptionSupport { + required = "required", + unsupported = "unsupported", +} + +export enum EphemeralNvmeSupport { + REQUIRED = "required", + SUPPORTED = "supported", + UNSUPPORTED = "unsupported", +} + +/** + *

                                  Describes the instance store features that are supported by the instance type.

                                  + */ +export interface InstanceStorageInfo { /** - *

                                  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.

                                    - *
                                  • - *
                                  + *

                                  The total size of the disks, in GB.

                                  */ - Filters?: Filter[]; + TotalSizeInGB?: 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.

                                  + *

                                  Describes the disks that are available for the instance type.

                                  */ - DryRun?: boolean; + Disks?: DiskInfo[]; /** - *

                                  The names of the placement groups.

                                  - *

                                  Default: Describes all your placement groups, or only those otherwise - * specified.

                                  + *

                                  Indicates whether non-volatile memory express (NVMe) is supported.

                                  */ - GroupNames?: string[]; + NvmeSupport?: EphemeralNvmeSupport | string; /** - *

                                  The IDs of the placement groups.

                                  + *

                                  Indicates whether data is encrypted at rest.

                                  */ - GroupIds?: string[]; + EncryptionSupport?: InstanceStorageEncryptionSupport | string; } -export namespace DescribePlacementGroupsRequest { +export namespace InstanceStorageInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePlacementGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceStorageInfo): any => ({ ...obj, }); } -export interface DescribePlacementGroupsResult { +/** + *

                                  Describes the memory for the instance type.

                                  + */ +export interface MemoryInfo { /** - *

                                  Information about the placement groups.

                                  + *

                                  The size of the memory, in MiB.

                                  */ - PlacementGroups?: PlacementGroup[]; + SizeInMiB?: number; } -export namespace DescribePlacementGroupsResult { +export namespace MemoryInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MemoryInfo): any => ({ + ...obj, + }); +} + +/** + *

                                  Describes the Elastic Fabric Adapters for the instance type.

                                  + */ +export interface EfaInfo { + /** + *

                                  The maximum number of Elastic Fabric Adapters for the instance type.

                                  + */ + MaximumEfaInterfaces?: number; +} + +export namespace EfaInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EfaInfo): any => ({ + ...obj, + }); +} + +export type EnaSupport = "required" | "supported" | "unsupported"; + +/** + *

                                  Describes the network card support of the instance type.

                                  + */ +export interface NetworkCardInfo { + /** + *

                                  The index of the network card.

                                  + */ + NetworkCardIndex?: number; + + /** + *

                                  The network performance of the network card.

                                  + */ + NetworkPerformance?: string; + + /** + *

                                  The maximum number of network interfaces for the network card.

                                  + */ + MaximumNetworkInterfaces?: number; +} + +export namespace NetworkCardInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePlacementGroupsResult): any => ({ - ...obj, - }); -} + export const filterSensitiveLog = (obj: NetworkCardInfo): any => ({ + ...obj, + }); +} + +/** + *

                                  Describes the networking features of the instance type.

                                  + */ +export interface NetworkInfo { + /** + *

                                  The network performance.

                                  + */ + NetworkPerformance?: string; + + /** + *

                                  The maximum number of network interfaces for the instance type.

                                  + */ + MaximumNetworkInterfaces?: number; + + /** + *

                                  The maximum number of physical network cards that can be allocated to the instance.

                                  + */ + MaximumNetworkCards?: number; + + /** + *

                                  The index of the default network card, starting at 0.

                                  + */ + DefaultNetworkCardIndex?: number; + + /** + *

                                  Describes the network cards for the instance type.

                                  + */ + NetworkCards?: NetworkCardInfo[]; + + /** + *

                                  The maximum number of IPv4 addresses per network interface.

                                  + */ + Ipv4AddressesPerInterface?: number; + + /** + *

                                  The maximum number of IPv6 addresses per network interface.

                                  + */ + Ipv6AddressesPerInterface?: number; -export interface DescribePrefixListsRequest { /** - *

                                  Checks whether you have the required permissions for the action, without 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 IPv6 is supported.

                                  */ - DryRun?: boolean; + Ipv6Supported?: boolean; /** - *

                                  One or more filters.

                                  - *
                                    - *
                                  • - *

                                    - * prefix-list-id: The ID of a prefix list.

                                    - *
                                  • - *
                                  • - *

                                    - * prefix-list-name: The name of a prefix list.

                                    - *
                                  • - *
                                  + *

                                  Indicates whether Elastic Network Adapter (ENA) is supported.

                                  */ - Filters?: Filter[]; + EnaSupport?: EnaSupport | 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.

                                  + *

                                  Indicates whether Elastic Fabric Adapter (EFA) is supported.

                                  */ - MaxResults?: number; + EfaSupported?: boolean; /** - *

                                  The token for the next page of results.

                                  + *

                                  Describes the Elastic Fabric Adapters for the instance type.

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

                                  One or more prefix list IDs.

                                  + *

                                  Indicates whether the instance type automatically encrypts in-transit traffic between instances.

                                  */ - PrefixListIds?: string[]; + EncryptionInTransitSupported?: boolean; } -export namespace DescribePrefixListsRequest { +export namespace NetworkInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePrefixListsRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInfo): any => ({ ...obj, }); } +export type PlacementGroupStrategy = "cluster" | "partition" | "spread"; + /** - *

                                  Describes prefixes for Amazon Web Services services.

                                  + *

                                  Describes the placement group support of the instance type.

                                  */ -export interface PrefixList { - /** - *

                                  The IP address range of the Amazon Web Service.

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

                                  The ID of the prefix.

                                  - */ - PrefixListId?: string; - +export interface PlacementGroupInfo { /** - *

                                  The name of the prefix.

                                  + *

                                  The supported placement group types.

                                  */ - PrefixListName?: string; + SupportedStrategies?: (PlacementGroupStrategy | string)[]; } -export namespace PrefixList { +export namespace PlacementGroupInfo { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixList): any => ({ + export const filterSensitiveLog = (obj: PlacementGroupInfo): any => ({ ...obj, }); } -export interface DescribePrefixListsResult { +export type ArchitectureType = "arm64" | "i386" | "x86_64" | "x86_64_mac"; + +/** + *

                                  Describes the processor used by the instance type.

                                  + */ +export interface ProcessorInfo { /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  The architectures supported by the instance type.

                                  */ - NextToken?: string; + SupportedArchitectures?: (ArchitectureType | string)[]; /** - *

                                  All available prefix lists.

                                  + *

                                  The speed of the processor, in GHz.

                                  */ - PrefixLists?: PrefixList[]; + SustainedClockSpeedInGhz?: number; } -export namespace DescribePrefixListsResult { +export namespace ProcessorInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePrefixListsResult): any => ({ + export const filterSensitiveLog = (obj: ProcessorInfo): any => ({ ...obj, }); } -export interface DescribePrincipalIdFormatRequest { +export type BootModeType = "legacy-bios" | "uefi"; + +export type RootDeviceType = "ebs" | "instance-store"; + +export type UsageClassType = "on-demand" | "spot"; + +/** + *

                                  Describes the vCPU configurations for the instance type.

                                  + */ +export interface VCpuInfo { /** - *

                                  Checks whether you have the required permissions for the action, without 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 default number of vCPUs for the instance type.

                                  */ - DryRun?: boolean; + DefaultVCpus?: number; /** - *

                                  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 - *

                                  + *

                                  The default number of cores for the instance type.

                                  */ - Resources?: string[]; + DefaultCores?: number; /** - *

                                  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 default number of threads per core for the instance type.

                                  */ - MaxResults?: number; + DefaultThreadsPerCore?: number; /** - *

                                  The token to request the next page of results.

                                  + *

                                  The valid number of cores that can be configured for the instance type.

                                  */ - NextToken?: string; + ValidCores?: number[]; + + /** + *

                                  The valid number of threads per core that can be configured for the instance type.

                                  + */ + ValidThreadsPerCore?: number[]; } -export namespace DescribePrincipalIdFormatRequest { +export namespace VCpuInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePrincipalIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: VCpuInfo): any => ({ ...obj, }); } /** - *

                                  PrincipalIdFormat description

                                  + *

                                  Describes the instance type.

                                  */ -export interface PrincipalIdFormat { +export interface InstanceTypeInfo { /** - *

                                  PrincipalIdFormatARN description

                                  + *

                                  The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                  */ - Arn?: string; + InstanceType?: _InstanceType | string; /** - *

                                  PrincipalIdFormatStatuses description

                                  + *

                                  Indicates whether the instance type is current generation.

                                  */ - Statuses?: IdFormat[]; -} + CurrentGeneration?: boolean; -export namespace PrincipalIdFormat { /** - * @internal + *

                                  Indicates whether the instance type is eligible for the free tier.

                                  */ - export const filterSensitiveLog = (obj: PrincipalIdFormat): any => ({ - ...obj, - }); -} + FreeTierEligible?: boolean; -export interface DescribePrincipalIdFormatResult { /** - *

                                  Information about the ID format settings for the ARN.

                                  + *

                                  Indicates whether the instance type is offered for spot or On-Demand.

                                  */ - Principals?: PrincipalIdFormat[]; + SupportedUsageClasses?: (UsageClassType | 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 supported root device types.

                                  */ - NextToken?: string; -} + SupportedRootDeviceTypes?: (RootDeviceType | string)[]; -export namespace DescribePrincipalIdFormatResult { /** - * @internal + *

                                  The supported virtualization types.

                                  */ - export const filterSensitiveLog = (obj: DescribePrincipalIdFormatResult): any => ({ - ...obj, - }); -} + SupportedVirtualizationTypes?: (VirtualizationType | string)[]; -export interface DescribePublicIpv4PoolsRequest { /** - *

                                  The IDs of the address pools.

                                  + *

                                  Indicates whether the instance is a bare metal instance type.

                                  */ - PoolIds?: string[]; + BareMetal?: boolean; /** - *

                                  The token for the next page of results.

                                  + *

                                  The hypervisor for the instance type.

                                  */ - NextToken?: string; + Hypervisor?: InstanceTypeHypervisor | 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.

                                  + *

                                  Describes the processor.

                                  */ - MaxResults?: number; + ProcessorInfo?: ProcessorInfo; /** - *

                                  One or more filters.

                                  - *
                                    - *
                                  • - *

                                    - * 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.

                                    - *
                                  • - *
                                  + *

                                  Describes the vCPU configurations for the instance type.

                                  */ - Filters?: Filter[]; -} + VCpuInfo?: VCpuInfo; -export namespace DescribePublicIpv4PoolsRequest { /** - * @internal + *

                                  Describes the memory for the instance type.

                                  */ - export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsRequest): any => ({ - ...obj, - }); -} + MemoryInfo?: MemoryInfo; -/** - *

                                  Describes an address range of an IPv4 address pool.

                                  - */ -export interface PublicIpv4PoolRange { /** - *

                                  The first IP address in the range.

                                  + *

                                  Indicates whether instance storage is supported.

                                  */ - FirstAddress?: string; + InstanceStorageSupported?: boolean; /** - *

                                  The last IP address in the range.

                                  + *

                                  Describes the instance storage for the instance type.

                                  */ - LastAddress?: string; + InstanceStorageInfo?: InstanceStorageInfo; /** - *

                                  The number of addresses in the range.

                                  + *

                                  Describes the Amazon EBS settings for the instance type.

                                  */ - AddressCount?: number; + EbsInfo?: EbsInfo; /** - *

                                  The number of available addresses in the range.

                                  + *

                                  Describes the network settings for the instance type.

                                  */ - AvailableAddressCount?: number; -} + NetworkInfo?: NetworkInfo; -export namespace PublicIpv4PoolRange { /** - * @internal + *

                                  Describes the GPU accelerator settings for the instance type.

                                  */ - export const filterSensitiveLog = (obj: PublicIpv4PoolRange): any => ({ - ...obj, - }); -} + GpuInfo?: GpuInfo; -/** - *

                                  Describes an IPv4 address pool.

                                  - */ -export interface PublicIpv4Pool { /** - *

                                  The ID of the address pool.

                                  + *

                                  Describes the FPGA accelerator settings for the instance type.

                                  + */ + FpgaInfo?: FpgaInfo; + + /** + *

                                  Describes the placement group settings for the instance type.

                                  */ - PoolId?: string; + PlacementGroupInfo?: PlacementGroupInfo; /** - *

                                  A description of the address pool.

                                  + *

                                  Describes the Inference accelerator settings for the instance type.

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

                                  The address ranges.

                                  + *

                                  Indicates whether On-Demand hibernation is supported.

                                  */ - PoolAddressRanges?: PublicIpv4PoolRange[]; + HibernationSupported?: boolean; /** - *

                                  The total number of addresses.

                                  + *

                                  Indicates whether the instance type is a burstable performance instance type.

                                  */ - TotalAddressCount?: number; + BurstablePerformanceSupported?: boolean; /** - *

                                  The total number of available addresses.

                                  + *

                                  Indicates whether Dedicated Hosts are supported on the instance type.

                                  */ - TotalAvailableAddressCount?: number; + DedicatedHostsSupported?: boolean; /** - *

                                  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 Amazon Web Services advertises public IP addresses.

                                  + *

                                  Indicates whether auto recovery is supported.

                                  */ - NetworkBorderGroup?: string; + AutoRecoverySupported?: boolean; /** - *

                                  Any tags for the address pool.

                                  + *

                                  The supported boot modes. For more information, see Boot modes in the + * Amazon EC2 User Guide.

                                  */ - Tags?: Tag[]; + SupportedBootModes?: (BootModeType | string)[]; } -export namespace PublicIpv4Pool { +export namespace InstanceTypeInfo { /** * @internal */ - export const filterSensitiveLog = (obj: PublicIpv4Pool): any => ({ + export const filterSensitiveLog = (obj: InstanceTypeInfo): any => ({ ...obj, }); } -export interface DescribePublicIpv4PoolsResult { +export interface DescribeInstanceTypesResult { /** - *

                                  Information about the address pools.

                                  + *

                                  The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                  */ - PublicIpv4Pools?: PublicIpv4Pool[]; + 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.

                                  + *

                                  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 DescribePublicIpv4PoolsResult { +export namespace DescribeInstanceTypesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypesResult): any => ({ ...obj, }); } -export interface DescribeRegionsRequest { +export interface DescribeInternetGatewaysRequest { /** - *

                                  The filters.

                                  - *
                                    + *

                                    One or more filters.

                                    + *
                                      *
                                    • - *

                                      - * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

                                      + *

                                      + * attachment.state - The current state of the attachment between the gateway + * and the VPC (available). Present only if a VPC is attached.

                                      *
                                    • *
                                    • - *

                                      - * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | - * not-opted-in).

                                      + *

                                      + * attachment.vpc-id - The ID of an attached VPC.

                                      *
                                    • *
                                    • - *

                                      - * region-name - The name of the Region (for example, us-east-1).

                                      + *

                                      + * internet-gateway-id - The ID of the Internet gateway.

                                      + *
                                    • + *
                                    • + *

                                      + * owner-id - The ID of the Amazon Web Services account that owns the internet 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.

                                      *
                                    • *
                                    */ Filters?: Filter[]; - /** - *

                                    The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

                                    - */ - RegionNames?: 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. @@ -8619,86 +7943,68 @@ export interface DescribeRegionsRequest { DryRun?: boolean; /** - *

                                    Indicates whether to display all Regions, including Regions that are disabled for your account.

                                    - */ - AllRegions?: boolean; -} - -export namespace DescribeRegionsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                    Describes a Region.

                                    - */ -export interface Region { - /** - *

                                    The Region service endpoint.

                                    + *

                                    One or more internet gateway IDs.

                                    + *

                                    Default: Describes all your internet gateways.

                                    */ - Endpoint?: string; + InternetGatewayIds?: string[]; /** - *

                                    The name of the Region.

                                    + *

                                    The token for the next page of results.

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

                                    The Region opt-in status. The possible values are opt-in-not-required, opted-in, and - * not-opted-in.

                                    + *

                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                    */ - OptInStatus?: string; + MaxResults?: number; } -export namespace Region { +export namespace DescribeInternetGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Region): any => ({ + export const filterSensitiveLog = (obj: DescribeInternetGatewaysRequest): any => ({ ...obj, }); } -export interface DescribeRegionsResult { +export interface DescribeInternetGatewaysResult { /** - *

                                    Information about the Regions.

                                    + *

                                    Information about one or more internet gateways.

                                    */ - Regions?: Region[]; + InternetGateways?: InternetGateway[]; + + /** + *

                                    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 namespace DescribeInternetGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInternetGatewaysResult): any => ({ ...obj, }); } -export interface DescribeReplaceRootVolumeTasksRequest { +export interface DescribeIpamPoolsRequest { /** - *

                                    The ID of the root volume replacement task to view.

                                    + *

                                    A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                    */ - ReplaceRootVolumeTaskIds?: string[]; + DryRun?: boolean; /** - *

                                    Filter to use:

                                    - *
                                      - *
                                    • - *

                                      - * instance-id - The ID of the instance for which the root volume replacement task was created.

                                      - *
                                    • - *
                                    + *

                                    One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                    */ 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 maximum number of results to return in the request.

                                    */ MaxResults?: number; @@ -8708,1081 +8014,1025 @@ export interface DescribeReplaceRootVolumeTasksRequest { 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 IDs of the IPAM pools you would like information on.

                                    */ - DryRun?: boolean; + IpamPoolIds?: string[]; } -export namespace DescribeReplaceRootVolumeTasksRequest { +export namespace DescribeIpamPoolsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeIpamPoolsRequest): any => ({ ...obj, }); } -export interface DescribeReplaceRootVolumeTasksResult { +export interface DescribeIpamPoolsResult { /** - *

                                    Information about the root volume replacement task.

                                    + *

                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                    */ - ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[]; + 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 IPAM pools.

                                    */ - NextToken?: string; + IpamPools?: IpamPool[]; } -export namespace DescribeReplaceRootVolumeTasksResult { +export namespace DescribeIpamPoolsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeIpamPoolsResult): 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 DescribeIpamsRequest { /** - *

                                    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) | Red Hat - * Enterprise Linux with HA (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-id - The ID of the Reserved Instance.

                                      - *
                                    • - *
                                    • - *

                                      - * 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 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).

                                      - *
                                    • - *
                                    + *

                                    A check for whether you have the required permissions for the action without 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 for the request. For more information about filtering, see Filtering CLI output.

                                    */ Filters?: Filter[]; /** - *

                                    Describes whether the Reserved Instance is Standard or Convertible.

                                    + *

                                    The maximum number of results to return in the request.

                                    */ - OfferingClass?: OfferingClassType | string; + MaxResults?: number; /** - *

                                    One or more Reserved Instance IDs.

                                    - *

                                    Default: Describes all your Reserved Instances, or only those otherwise specified.

                                    + *

                                    The token for the next page of results.

                                    */ - ReservedInstancesIds?: string[]; + 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 IDs of the IPAMs you want information on.

                                    + */ + IpamIds?: string[]; +} + +export namespace DescribeIpamsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeIpamsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeIpamsResult { + /** + *

                                    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 IPAMs.

                                    + */ + Ipams?: Ipam[]; +} + +export namespace DescribeIpamsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeIpamsResult): any => ({ + ...obj, + }); +} + +export interface DescribeIpamScopesRequest { + /** + *

                                    A check for whether you have the required permissions for the action without 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 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.

                                    + *

                                    One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                    */ - OfferingType?: OfferingTypeValues | string; + Filters?: Filter[]; + + /** + *

                                    The maximum number of results to return in the request.

                                    + */ + MaxResults?: number; + + /** + *

                                    The token for the next page of results.

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

                                    The IDs of the scopes you want information on.

                                    + */ + IpamScopeIds?: string[]; } -export namespace DescribeReservedInstancesRequest { +export namespace DescribeIpamScopesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeIpamScopesRequest): any => ({ ...obj, }); } -export type RIProductDescription = "Linux/UNIX" | "Linux/UNIX (Amazon VPC)" | "Windows" | "Windows (Amazon VPC)"; +export interface DescribeIpamScopesResult { + /** + *

                                    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 type RecurringChargeFrequency = "Hourly"; + /** + *

                                    The scopes you want information on.

                                    + */ + IpamScopes?: IpamScope[]; +} -/** - *

                                    Describes a recurring charge.

                                    - */ -export interface RecurringCharge { +export namespace DescribeIpamScopesResult { /** - *

                                    The amount of the recurring charge.

                                    + * @internal */ - Amount?: number; + export const filterSensitiveLog = (obj: DescribeIpamScopesResult): any => ({ + ...obj, + }); +} + +export interface DescribeIpv6PoolsRequest { + /** + *

                                    The IDs of the IPv6 address pools.

                                    + */ + PoolIds?: string[]; /** - *

                                    The frequency of the recurring charge.

                                    + *

                                    The token for the next page of results.

                                    */ - Frequency?: RecurringChargeFrequency | 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.

                                    + */ + 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.

                                    + *
                                      + *
                                    • + *

                                      + * 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[]; } -export namespace RecurringCharge { +export namespace DescribeIpv6PoolsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RecurringCharge): any => ({ + export const filterSensitiveLog = (obj: DescribeIpv6PoolsRequest): any => ({ ...obj, }); } -export enum Scope { - AVAILABILITY_ZONE = "Availability Zone", - REGIONAL = "Region", +/** + *

                                    Describes a CIDR block for an address pool.

                                    + */ +export interface PoolCidrBlock { + /** + *

                                    The CIDR block.

                                    + */ + Cidr?: string; } -export type ReservedInstanceState = - | "active" - | "payment-failed" - | "payment-pending" - | "queued" - | "queued-deleted" - | "retired"; +export namespace PoolCidrBlock { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PoolCidrBlock): any => ({ + ...obj, + }); +} /** - *

                                    Describes a Reserved Instance.

                                    + *

                                    Describes an IPv6 address pool.

                                    */ -export interface ReservedInstances { +export interface Ipv6Pool { /** - *

                                    The Availability Zone in which the Reserved Instance can be used.

                                    + *

                                    The ID of the address pool.

                                    */ - AvailabilityZone?: string; + PoolId?: string; /** - *

                                    The duration of the Reserved Instance, in seconds.

                                    + *

                                    The description for the address pool.

                                    */ - Duration?: number; + Description?: string; /** - *

                                    The time when the Reserved Instance expires.

                                    + *

                                    The CIDR blocks for the address pool.

                                    */ - End?: Date; + PoolCidrBlocks?: PoolCidrBlock[]; /** - *

                                    The purchase price of the Reserved Instance.

                                    + *

                                    Any tags for the address pool.

                                    */ - FixedPrice?: number; + Tags?: Tag[]; +} +export namespace Ipv6Pool { /** - *

                                    The number of reservations purchased.

                                    + * @internal */ - InstanceCount?: number; + export const filterSensitiveLog = (obj: Ipv6Pool): any => ({ + ...obj, + }); +} +export interface DescribeIpv6PoolsResult { /** - *

                                    The instance type on which the Reserved Instance can be used.

                                    + *

                                    Information about the IPv6 address pools.

                                    */ - InstanceType?: _InstanceType | string; + Ipv6Pools?: Ipv6Pool[]; /** - *

                                    The Reserved Instance product platform description.

                                    + *

                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                    */ - ProductDescription?: RIProductDescription | string; + NextToken?: string; +} +export namespace DescribeIpv6PoolsResult { /** - *

                                    The ID of the Reserved Instance.

                                    + * @internal */ - ReservedInstancesId?: string; + export const filterSensitiveLog = (obj: DescribeIpv6PoolsResult): any => ({ + ...obj, + }); +} +export interface DescribeKeyPairsRequest { /** - *

                                    The date and time the Reserved Instance started.

                                    + *

                                    The filters.

                                    + *
                                      + *
                                    • + *

                                      + * key-pair-id - The ID of the key pair.

                                      + *
                                    • + *
                                    • + *

                                      + * fingerprint - The fingerprint of the key pair.

                                      + *
                                    • + *
                                    • + *

                                      + * key-name - The name of the key pair.

                                      + *
                                    • + *
                                    • + *

                                      + * 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.

                                      + *
                                    • + *
                                    • + *

                                      + * 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.

                                      + *
                                    • + *
                                    */ - Start?: Date; + Filters?: Filter[]; /** - *

                                    The state of the Reserved Instance purchase.

                                    + *

                                    The key pair names.

                                    + *

                                    Default: Describes all of your key pairs.

                                    */ - State?: ReservedInstanceState | string; + KeyNames?: string[]; /** - *

                                    The usage price of the Reserved Instance, per hour.

                                    + *

                                    The IDs of the key pairs.

                                    */ - UsagePrice?: number; + KeyPairIds?: string[]; /** - *

                                    The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. - * At this time, the only supported currency is USD.

                                    + *

                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                    */ - CurrencyCode?: CurrencyCodeValues | string; + DryRun?: boolean; +} +export namespace DescribeKeyPairsRequest { /** - *

                                    The tenancy of the instance.

                                    + * @internal */ - InstanceTenancy?: Tenancy | string; + export const filterSensitiveLog = (obj: DescribeKeyPairsRequest): any => ({ + ...obj, + }); +} +/** + *

                                    Describes a key pair.

                                    + */ +export interface KeyPairInfo { /** - *

                                    The offering class of the Reserved Instance.

                                    + *

                                    The ID of the key pair.

                                    */ - OfferingClass?: OfferingClassType | string; + KeyPairId?: string; /** - *

                                    The Reserved Instance offering type.

                                    + *

                                    If you used CreateKeyPair to create the key pair:

                                    + *
                                      + *
                                    • + *

                                      For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. + *

                                      + *
                                    • + *
                                    • + *

                                      For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which + * is the default for OpenSSH, starting with OpenSSH 6.8.

                                      + *
                                    • + *
                                    + *

                                    If you used ImportKeyPair to provide Amazon Web Services the public key:

                                    + *
                                      + *
                                    • + *

                                      For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                                      + *
                                    • + *
                                    • + *

                                      For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

                                      + *
                                    • + *
                                    */ - OfferingType?: OfferingTypeValues | string; + KeyFingerprint?: string; /** - *

                                    The recurring charge tag assigned to the resource.

                                    + *

                                    The name of the key pair.

                                    */ - RecurringCharges?: RecurringCharge[]; + KeyName?: string; /** - *

                                    The scope of the Reserved Instance.

                                    + *

                                    The type of key pair.

                                    */ - Scope?: Scope | string; + KeyType?: KeyType | string; /** - *

                                    Any tags assigned to the resource.

                                    + *

                                    Any tags applied to the key pair.

                                    */ Tags?: Tag[]; } -export namespace ReservedInstances { +export namespace KeyPairInfo { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstances): any => ({ + export const filterSensitiveLog = (obj: KeyPairInfo): any => ({ ...obj, }); } -/** - *

                                    Contains the output for DescribeReservedInstances.

                                    - */ -export interface DescribeReservedInstancesResult { +export interface DescribeKeyPairsResult { /** - *

                                    A list of Reserved Instances.

                                    + *

                                    Information about the key pairs.

                                    */ - ReservedInstances?: ReservedInstances[]; + KeyPairs?: KeyPairInfo[]; } -export namespace DescribeReservedInstancesResult { +export namespace DescribeKeyPairsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeKeyPairsResult): any => ({ ...obj, }); } -/** - *

                                    Contains the parameters for DescribeReservedInstancesListings.

                                    - */ -export interface DescribeReservedInstancesListingsRequest { +export interface DescribeLaunchTemplatesRequest { + /** + *

                                    Checks whether you have the required permissions for the action, without 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 launch template IDs.

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

                                    One or more launch template names.

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

                                    One or more filters.

                                    - *
                                      + *
                                        *
                                      • - *

                                        - * reserved-instances-id - The ID of the Reserved Instances.

                                        + *

                                        + * create-time - The time the launch template was created.

                                        *
                                      • *
                                      • - *

                                        - * reserved-instances-listing-id - The ID of the Reserved Instances listing.

                                        + *

                                        + * launch-template-name - The name of the launch template.

                                        *
                                      • *
                                      • - *

                                        - * status - The status of the Reserved Instance listing (pending | active | - * cancelled | closed).

                                        + *

                                        + * 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.

                                        *
                                      • *
                                      • - *

                                        - * status-message - The reason for the status.

                                        + *

                                        + * 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 Reserved Instance IDs.

                                      + *

                                      The token to request the next page of results.

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

                                      One or more Reserved Instance listing IDs.

                                      + *

                                      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.

                                      */ - ReservedInstancesListingId?: string; + MaxResults?: number; } -export namespace DescribeReservedInstancesListingsRequest { +export namespace DescribeLaunchTemplatesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLaunchTemplatesRequest): any => ({ ...obj, }); } -/** - *

                                      Contains the output of DescribeReservedInstancesListings.

                                      - */ -export interface DescribeReservedInstancesListingsResult { +export interface DescribeLaunchTemplatesResult { /** - *

                                      Information about the Reserved Instance listing.

                                      + *

                                      Information about the launch templates.

                                      */ - ReservedInstancesListings?: ReservedInstancesListing[]; + LaunchTemplates?: LaunchTemplate[]; + + /** + *

                                      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 DescribeReservedInstancesListingsResult { +export namespace DescribeLaunchTemplatesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeLaunchTemplatesResult): any => ({ ...obj, }); } -/** - *

                                      Contains the parameters for DescribeReservedInstancesModifications.

                                      - */ -export interface DescribeReservedInstancesModificationsRequest { +export interface DescribeLaunchTemplateVersionsRequest { + /** + *

                                      Checks whether you have the required permissions for the action, without 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 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.

                                      + */ + LaunchTemplateId?: 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; + + /** + *

                                      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 version number after which to describe launch template versions.

                                      + */ + MinVersion?: string; + + /** + *

                                      The version number up to which to describe launch template versions.

                                      + */ + MaxVersion?: 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. This value + * can be between 1 and 200.

                                      + */ + MaxResults?: number; + /** *

                                      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.

                                          + * create-time - The time the launch template version was created.

                                          *
                                        • *
                                        • - *

                                          - * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

                                          + *

                                          + * ebs-optimized - A boolean that indicates whether the instance + * is optimized for Amazon EBS I/O.

                                          *
                                        • *
                                        • - *

                                          - * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

                                          + *

                                          + * iam-instance-profile - The ARN of the IAM instance + * profile.

                                          *
                                        • *
                                        • - *

                                          - * reserved-instances-id - The ID of the Reserved Instances modified.

                                          + *

                                          + * image-id - The ID of the AMI.

                                          *
                                        • *
                                        • - *

                                          - * reserved-instances-modification-id - The ID of the modification request.

                                          + *

                                          + * instance-type - The instance type.

                                          *
                                        • *
                                        • - *

                                          - * status - The status of the Reserved Instances modification request - * (processing | fulfilled | failed).

                                          + *

                                          + * is-default-version - A boolean that indicates whether the + * launch template version is the default version.

                                          *
                                        • *
                                        • - *

                                          - * status-message - The reason for the status.

                                          + *

                                          + * kernel-id - The kernel ID.

                                          *
                                        • *
                                        • - *

                                          - * update-date - The time when the modification request was last updated.

                                          - *
                                        • - *
                                        - */ - Filters?: Filter[]; - - /** - *

                                        IDs for the submitted modification request.

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

                                        The token to retrieve the next page of results.

                                        + *

                                        + * ram-disk-id - The RAM disk ID.

                                        + * + *
                                      */ - NextToken?: string; + Filters?: Filter[]; } -export namespace DescribeReservedInstancesModificationsRequest { +export namespace DescribeLaunchTemplateVersionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsRequest): any => ({ ...obj, }); } -/** - *

                                      Describes the configuration settings for the modified Reserved Instances.

                                      - */ -export interface ReservedInstancesConfiguration { - /** - *

                                      The Availability Zone for the modified Reserved Instances.

                                      - */ - AvailabilityZone?: string; - - /** - *

                                      The number of modified Reserved Instances.

                                      - * - *

                                      This is a required field for a request.

                                      - *
                                      - */ - InstanceCount?: number; - - /** - *

                                      The instance type for the modified Reserved Instances.

                                      - */ - InstanceType?: _InstanceType | string; - +export interface DescribeLaunchTemplateVersionsResult { /** - *

                                      The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

                                      + *

                                      Information about the launch template versions.

                                      */ - Platform?: string; + LaunchTemplateVersions?: LaunchTemplateVersion[]; /** - *

                                      Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

                                      + *

                                      The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                      */ - Scope?: Scope | string; + NextToken?: string; } -export namespace ReservedInstancesConfiguration { +export namespace DescribeLaunchTemplateVersionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ + export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsResult): any => ({ ...obj, }); } -/** - *

                                      Describes the modification request/s.

                                      - */ -export interface ReservedInstancesModificationResult { +export interface DescribeLocalGatewayRouteTablesRequest { /** - *

                                      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 IDs of the local gateway route tables.

                                      */ - ReservedInstancesId?: string; + LocalGatewayRouteTableIds?: string[]; /** - *

                                      The target Reserved Instances configurations supplied as part of the modification request.

                                      + *

                                      One or more filters.

                                      + *
                                        + *
                                      • + *

                                        + * local-gateway-id - The ID of a local gateway.

                                        + *
                                      • + *
                                      • + *

                                        + * local-gateway-route-table-id - The ID of a local gateway route table.

                                        + *
                                      • + *
                                      • + *

                                        + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                        + *
                                      • + *
                                      • + *

                                        + * state - The state of the local gateway route table.

                                        + *
                                      • + *
                                      */ - TargetConfiguration?: ReservedInstancesConfiguration; -} + Filters?: Filter[]; -export namespace ReservedInstancesModificationResult { /** - * @internal + *

                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                      */ - export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                                      Describes the ID of a Reserved Instance.

                                      - */ -export interface ReservedInstancesId { /** - *

                                      The ID of the Reserved Instance.

                                      + *

                                      The token for the next page of results.

                                      */ - ReservedInstancesId?: string; + 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 ReservedInstancesId { +export namespace DescribeLocalGatewayRouteTablesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesRequest): any => ({ ...obj, }); } /** - *

                                      Describes a Reserved Instance modification.

                                      + *

                                      Describes a local gateway route table.

                                      */ -export interface ReservedInstancesModification { - /** - *

                                      A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. - * For more information, see Ensuring - * Idempotency.

                                      - */ - ClientToken?: string; - - /** - *

                                      The time when the modification request was created.

                                      - */ - CreateDate?: Date; - +export interface LocalGatewayRouteTable { /** - *

                                      The time for the modification to become effective.

                                      + *

                                      The ID of the local gateway route table.

                                      */ - EffectiveDate?: Date; + LocalGatewayRouteTableId?: string; /** - *

                                      Contains target configurations along with their corresponding new Reserved Instance IDs.

                                      + *

                                      The Amazon Resource Name (ARN) of the local gateway route table.

                                      */ - ModificationResults?: ReservedInstancesModificationResult[]; + LocalGatewayRouteTableArn?: string; /** - *

                                      The IDs of one or more Reserved Instances.

                                      + *

                                      The ID of the local gateway.

                                      */ - ReservedInstancesIds?: ReservedInstancesId[]; + LocalGatewayId?: string; /** - *

                                      A unique ID for the Reserved Instance modification.

                                      + *

                                      The Amazon Resource Name (ARN) of the Outpost.

                                      */ - ReservedInstancesModificationId?: string; + OutpostArn?: string; /** - *

                                      The status of the Reserved Instances modification request.

                                      + *

                                      The ID of the Amazon Web Services account that owns the local gateway route table.

                                      */ - Status?: string; + OwnerId?: string; /** - *

                                      The reason for the status.

                                      + *

                                      The state of the local gateway route table.

                                      */ - StatusMessage?: string; + State?: string; /** - *

                                      The time when the modification request was last updated.

                                      + *

                                      The tags assigned to the local gateway route table.

                                      */ - UpdateDate?: Date; + Tags?: Tag[]; } -export namespace ReservedInstancesModification { +export namespace LocalGatewayRouteTable { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ + export const filterSensitiveLog = (obj: LocalGatewayRouteTable): any => ({ ...obj, }); } -/** - *

                                      Contains the output of DescribeReservedInstancesModifications.

                                      - */ -export interface DescribeReservedInstancesModificationsResult { +export interface DescribeLocalGatewayRouteTablesResult { /** - *

                                      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 local gateway route tables.

                                      */ - NextToken?: string; + LocalGatewayRouteTables?: LocalGatewayRouteTable[]; /** - *

                                      The Reserved Instance modification information.

                                      + *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      */ - ReservedInstancesModifications?: ReservedInstancesModification[]; + NextToken?: string; } -export namespace DescribeReservedInstancesModificationsResult { +export namespace DescribeLocalGatewayRouteTablesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesResult): any => ({ ...obj, }); } -/** - *

                                      Contains the parameters for DescribeReservedInstancesOfferings.

                                      - */ -export interface DescribeReservedInstancesOfferingsRequest { +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** - *

                                      The Availability Zone in which the Reserved Instance can be used.

                                      + *

                                      The IDs of the associations.

                                      */ - AvailabilityZone?: string; + LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; /** *

                                      One or more filters.

                                      *
                                        *
                                      • *

                                        - * 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).

                                        - *
                                      • - *
                                      • - *

                                        - * fixed-price - The purchase price of the Reserved Instance (for example, - * 9800.0).

                                        - *
                                      • - *
                                      • - *

                                        - * 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 Amazon Web Services and the Reserved Instance Marketplace are listed.

                                        + * local-gateway-id - The ID of a local gateway.

                                        *
                                      • *
                                      • *

                                        - * 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) | Red Hat - * Enterprise Linux with HA (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))

                                        + * local-gateway-route-table-id - The ID of the local gateway route table.

                                        *
                                      • *
                                      • *

                                        - * reserved-instances-offering-id - The Reserved Instances offering - * ID.

                                        + * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                        *
                                      • *
                                      • *

                                        - * scope - The scope of the Reserved Instance (Availability Zone or - * Region).

                                        + * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                        *
                                      • *
                                      • *

                                        - * usage-price - The usage price of the Reserved Instance, per hour (for - * example, 0.84).

                                        + * state - The state of the association.

                                        *
                                      • *
                                      */ Filters?: Filter[]; /** - *

                                      Include Reserved Instance Marketplace offerings in the response.

                                      - */ - IncludeMarketplace?: boolean; - - /** - *

                                      The instance type that the reservation will cover (for example, m1.small). For more information, see - * Instance types in the - * Amazon EC2 User Guide.

                                      - */ - InstanceType?: _InstanceType | string; - - /** - *

                                      The maximum duration (in seconds) to filter when searching for offerings.

                                      - *

                                      Default: 94608000 (3 years)

                                      - */ - MaxDuration?: number; - - /** - *

                                      The maximum number of instances to filter when searching for offerings.

                                      - *

                                      Default: 20

                                      - */ - MaxInstanceCount?: number; - - /** - *

                                      The minimum duration (in seconds) to filter when searching for offerings.

                                      - *

                                      Default: 2592000 (1 month)

                                      - */ - MinDuration?: number; - - /** - *

                                      The offering class of the Reserved Instance. Can be standard or convertible.

                                      - */ - OfferingClass?: OfferingClassType | string; - - /** - *

                                      The Reserved Instance product platform description. Instances that include (Amazon - * VPC) in the description are for use with Amazon VPC.

                                      - */ - ProductDescription?: RIProductDescription | string; - - /** - *

                                      One or more Reserved Instances offering IDs.

                                      - */ - ReservedInstancesOfferingIds?: 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 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 - *

                                      - */ - InstanceTenancy?: Tenancy | 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. The maximum is 100.

                                      - *

                                      Default: 100

                                      + *

                                      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 to retrieve the next page of results.

                                      + *

                                      The token for the next page of results.

                                      */ NextToken?: 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.

                                      + *

                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                      */ - OfferingType?: OfferingTypeValues | string; + DryRun?: boolean; } -export namespace DescribeReservedInstancesOfferingsRequest { +export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsRequest): any => ({ + export const filterSensitiveLog = ( + obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest + ): any => ({ ...obj, }); } /** - *

                                      Describes a Reserved Instance offering.

                                      + *

                                      Describes an association between a local gateway route table and a virtual interface group.

                                      */ -export interface PricingDetail { - /** - *

                                      The number of reservations available for the price.

                                      - */ - Count?: number; - +export interface LocalGatewayRouteTableVirtualInterfaceGroupAssociation { /** - *

                                      The price per instance.

                                      + *

                                      The ID of the association.

                                      */ - Price?: number; -} + LocalGatewayRouteTableVirtualInterfaceGroupAssociationId?: string; -export namespace PricingDetail { /** - * @internal + *

                                      The ID of the virtual interface group.

                                      */ - export const filterSensitiveLog = (obj: PricingDetail): any => ({ - ...obj, - }); -} + LocalGatewayVirtualInterfaceGroupId?: string; -/** - *

                                      Describes a Reserved Instance offering.

                                      - */ -export interface ReservedInstancesOffering { /** - *

                                      The Availability Zone in which the Reserved Instance can be used.

                                      + *

                                      The ID of the local gateway.

                                      */ - AvailabilityZone?: string; + LocalGatewayId?: string; /** - *

                                      The duration of the Reserved Instance, in seconds.

                                      + *

                                      The ID of the local gateway route table.

                                      */ - Duration?: number; + LocalGatewayRouteTableId?: string; /** - *

                                      The purchase price of the Reserved Instance.

                                      + *

                                      The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

                                      */ - FixedPrice?: number; + LocalGatewayRouteTableArn?: string; /** - *

                                      The instance type on which the Reserved Instance can be used.

                                      + *

                                      The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

                                      */ - InstanceType?: _InstanceType | string; + OwnerId?: string; /** - *

                                      The Reserved Instance product platform description.

                                      + *

                                      The state of the association.

                                      */ - ProductDescription?: RIProductDescription | string; + State?: string; /** - *

                                      The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote - * to confirm that an exchange can be made.

                                      + *

                                      The tags assigned to the association.

                                      */ - ReservedInstancesOfferingId?: string; + Tags?: Tag[]; +} +export namespace LocalGatewayRouteTableVirtualInterfaceGroupAssociation { /** - *

                                      The usage price of the Reserved Instance, per hour.

                                      + * @internal */ - UsagePrice?: number; + export const filterSensitiveLog = (obj: LocalGatewayRouteTableVirtualInterfaceGroupAssociation): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** - *

                                      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.

                                      + *

                                      Information about the associations.

                                      */ - CurrencyCode?: CurrencyCodeValues | string; + LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; /** - *

                                      The tenancy of the instance.

                                      + *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      */ - InstanceTenancy?: Tenancy | string; + NextToken?: string; +} +export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** - *

                                      Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. - * If it's a Reserved Instance Marketplace offering, this is true.

                                      + * @internal */ - Marketplace?: boolean; + export const filterSensitiveLog = ( + obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult + ): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** - *

                                      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 IDs of the associations.

                                      */ - OfferingClass?: OfferingClassType | string; + LocalGatewayRouteTableVpcAssociationIds?: string[]; /** - *

                                      The Reserved Instance offering type.

                                      + *

                                      One or more filters.

                                      + *
                                        + *
                                      • + *

                                        + * local-gateway-id - The ID of a local gateway.

                                        + *
                                      • + *
                                      • + *

                                        + * local-gateway-route-table-id - The ID of the local gateway route table.

                                        + *
                                      • + *
                                      • + *

                                        + * local-gateway-route-table-vpc-association-id - The ID of the association.

                                        + *
                                      • + *
                                      • + *

                                        + * state - The state of the association.

                                        + *
                                      • + *
                                      • + *

                                        + * vpc-id - The ID of the VPC.

                                        + *
                                      • + *
                                      */ - OfferingType?: OfferingTypeValues | string; + Filters?: Filter[]; /** - *

                                      The pricing details of the Reserved Instance offering.

                                      + *

                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                      */ - PricingDetails?: PricingDetail[]; + MaxResults?: number; /** - *

                                      The recurring charge tag assigned to the resource.

                                      + *

                                      The token for the next page of results.

                                      */ - RecurringCharges?: RecurringCharge[]; + NextToken?: string; /** - *

                                      Whether the Reserved Instance is applied to instances in a Region or an 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.

                                      */ - Scope?: Scope | string; + DryRun?: boolean; } -export namespace ReservedInstancesOffering { +export namespace DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesOffering): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsRequest): any => ({ ...obj, }); } -/** - *

                                      Contains the output of DescribeReservedInstancesOfferings.

                                      - */ -export interface DescribeReservedInstancesOfferingsResult { +export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { /** - *

                                      A list of Reserved Instances offerings.

                                      + *

                                      Information about the associations.

                                      */ - ReservedInstancesOfferings?: ReservedInstancesOffering[]; + LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[]; /** - *

                                      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 DescribeReservedInstancesOfferingsResult { +export namespace DescribeLocalGatewayRouteTableVpcAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsResult): any => ({ ...obj, }); } -export interface DescribeRouteTablesRequest { +export interface DescribeLocalGatewaysRequest { /** *

                                      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 Amazon Web Services 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 Amazon Web 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.

                                          - *
                                        • + *

                                          + * local-gateway-id - The ID of a local gateway.

                                          + * *
                                        • - *

                                          - * 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).

                                          - *
                                        • + *

                                          + * local-gateway-route-table-id - The ID of the local gateway route table.

                                          + * *
                                        • - *

                                          - * route.vpc-peering-connection-id - The ID of a VPC peering - * connection specified in a route in the table.

                                          - *
                                        • + *

                                          + * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                          + * *
                                        • - *

                                          - * 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.

                                          - *
                                        • + *

                                          + * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                          + * *
                                        • - *

                                          - * 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.

                                          - *
                                        • + *

                                          + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                          + * *
                                        • - *

                                          - * vpc-id - The ID of the VPC for the route table.

                                          - *
                                        • + *

                                          + * state - The state of the association.

                                          + * *
                                        */ - Filters?: Filter[]; + LocalGatewayIds?: 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.

                                        + *

                                        One or more filters.

                                        */ - DryRun?: boolean; + Filters?: Filter[]; /** - *

                                        One or more route table IDs.

                                        - *

                                        Default: Describes all your route tables.

                                        + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ - RouteTableIds?: string[]; + MaxResults?: number; /** *

                                        The token for the next page of results.

                                        @@ -9790,361 +9040,315 @@ export interface DescribeRouteTablesRequest { 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.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - MaxResults?: number; + DryRun?: boolean; } -export namespace DescribeRouteTablesRequest { +export namespace DescribeLocalGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeRouteTablesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewaysRequest): any => ({ ...obj, }); } /** - *

                                        Contains the output of DescribeRouteTables.

                                        + *

                                        Describes a local gateway.

                                        */ -export interface DescribeRouteTablesResult { +export interface LocalGateway { /** - *

                                        Information about one or more route tables.

                                        + *

                                        The ID of the local gateway.

                                        */ - RouteTables?: RouteTable[]; + LocalGatewayId?: 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 Amazon Resource Name (ARN) of the Outpost.

                                        */ - NextToken?: string; -} + OutpostArn?: string; -export namespace DescribeRouteTablesResult { /** - * @internal + *

                                        The ID of the Amazon Web Services account that owns the local gateway.

                                        */ - export const filterSensitiveLog = (obj: DescribeRouteTablesResult): any => ({ - ...obj, - }); -} + OwnerId?: string; -/** - *

                                        Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

                                        - */ -export interface SlotDateTimeRangeRequest { /** - *

                                        The earliest date and time, in UTC, for the Scheduled Instance to start.

                                        + *

                                        The state of the local gateway.

                                        */ - EarliestTime: Date | undefined; + State?: string; /** - *

                                        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.

                                        + *

                                        The tags assigned to the local gateway.

                                        */ - LatestTime: Date | undefined; + Tags?: Tag[]; } -export namespace SlotDateTimeRangeRequest { +export namespace LocalGateway { /** * @internal */ - export const filterSensitiveLog = (obj: SlotDateTimeRangeRequest): any => ({ + export const filterSensitiveLog = (obj: LocalGateway): any => ({ ...obj, }); } -/** - *

                                        Describes the recurring schedule for a Scheduled Instance.

                                        - */ -export interface ScheduledInstanceRecurrenceRequest { - /** - *

                                        The frequency (Daily, Weekly, or Monthly).

                                        - */ - Frequency?: string; - - /** - *

                                        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[]; - +export interface DescribeLocalGatewaysResult { /** - *

                                        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.

                                        + *

                                        Information about the local gateways.

                                        */ - OccurrenceRelativeToEnd?: boolean; + LocalGateways?: LocalGateway[]; /** - *

                                        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.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - OccurrenceUnit?: string; + NextToken?: string; } -export namespace ScheduledInstanceRecurrenceRequest { +export namespace DescribeLocalGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstanceRecurrenceRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewaysResult): any => ({ ...obj, }); } -/** - *

                                        Contains the parameters for DescribeScheduledInstanceAvailability.

                                        - */ -export interface DescribeScheduledInstanceAvailabilityRequest { +export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** - *

                                        Checks whether you have the required permissions for the action, without 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 virtual interface groups.

                                        */ - DryRun?: boolean; + LocalGatewayVirtualInterfaceGroupIds?: string[]; /** - *

                                        The filters.

                                        + *

                                        One or more filters.

                                        *
                                          *
                                        • *

                                          - * availability-zone - The Availability Zone (for example, us-west-2a).

                                          - *
                                        • - *
                                        • - *

                                          - * instance-type - The instance type (for example, c4.large).

                                          + * local-gateway-id - The ID of a local gateway.

                                          *
                                        • *
                                        • *

                                          - * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                          + * local-gateway-virtual-interface-id - The ID of the virtual interface.

                                          *
                                        • *
                                        • *

                                          - * platform - The platform (Linux/UNIX or Windows).

                                          + * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

                                          *
                                        • *
                                        */ Filters?: Filter[]; /** - *

                                        The time period for the first schedule to start.

                                        - */ - FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; - - /** - *

                                        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.

                                        + *

                                        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 maximum available duration, in hours. This value must be greater than MinSlotDurationInHours - * and less than 1,720.

                                        - */ - MaxSlotDurationInHours?: number; - - /** - *

                                        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 token for the next set of results.

                                        + *

                                        The token for the next page of results.

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

                                        The schedule recurrence.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - Recurrence: ScheduledInstanceRecurrenceRequest | undefined; + DryRun?: boolean; } -export namespace DescribeScheduledInstanceAvailabilityRequest { +export namespace DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsRequest): any => ({ ...obj, }); } /** - *

                                        Describes the recurring schedule for a Scheduled Instance.

                                        + *

                                        Describes a local gateway virtual interface group.

                                        */ -export interface ScheduledInstanceRecurrence { +export interface LocalGatewayVirtualInterfaceGroup { /** - *

                                        The frequency (Daily, Weekly, or Monthly).

                                        + *

                                        The ID of the virtual interface group.

                                        */ - Frequency?: string; + LocalGatewayVirtualInterfaceGroupId?: string; /** - *

                                        The interval quantity. The interval unit depends on the value of frequency. For example, every 2 - * weeks or every 2 months.

                                        + *

                                        The IDs of the virtual interfaces.

                                        */ - Interval?: number; + LocalGatewayVirtualInterfaceIds?: string[]; /** - *

                                        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 ID of the local gateway.

                                        */ - OccurrenceDaySet?: number[]; + LocalGatewayId?: string; /** - *

                                        Indicates whether the occurrence is relative to the end of the specified week or month.

                                        + *

                                        The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

                                        */ - OccurrenceRelativeToEnd?: boolean; + OwnerId?: string; /** - *

                                        The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

                                        + *

                                        The tags assigned to the virtual interface group.

                                        */ - OccurrenceUnit?: string; + Tags?: Tag[]; } -export namespace ScheduledInstanceRecurrence { +export namespace LocalGatewayVirtualInterfaceGroup { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstanceRecurrence): any => ({ + export const filterSensitiveLog = (obj: LocalGatewayVirtualInterfaceGroup): any => ({ ...obj, }); } -/** - *

                                        Describes a schedule that is available for your Scheduled Instances.

                                        - */ -export interface ScheduledInstanceAvailability { +export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { /** - *

                                        The Availability Zone.

                                        + *

                                        The virtual interface groups.

                                        */ - AvailabilityZone?: string; + LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; /** - *

                                        The number of available instances.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - AvailableInstanceCount?: number; + NextToken?: string; +} +export namespace DescribeLocalGatewayVirtualInterfaceGroupsResult { /** - *

                                        The time period for the first schedule to start.

                                        + * @internal */ - FirstSlotStartTime?: Date; + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsResult): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayVirtualInterfacesRequest { /** - *

                                        The hourly price for a single instance.

                                        + *

                                        The IDs of the virtual interfaces.

                                        */ - HourlyPrice?: string; + LocalGatewayVirtualInterfaceIds?: string[]; /** - *

                                        The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

                                        + *

                                        One or more filters.

                                        */ - InstanceType?: string; + 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; /** - *

                                        The maximum term. The only possible value is 365 days.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - MaxTermDurationInDays?: number; + DryRun?: boolean; +} +export namespace DescribeLocalGatewayVirtualInterfacesRequest { /** - *

                                        The minimum term. The only possible value is 365 days.

                                        + * @internal */ - MinTermDurationInDays?: number; + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesRequest): any => ({ + ...obj, + }); +} +/** + *

                                        Describes a local gateway virtual interface.

                                        + */ +export interface LocalGatewayVirtualInterface { /** - *

                                        The network platform (EC2-Classic or EC2-VPC).

                                        + *

                                        The ID of the virtual interface.

                                        */ - NetworkPlatform?: string; + LocalGatewayVirtualInterfaceId?: string; /** - *

                                        The platform (Linux/UNIX or Windows).

                                        + *

                                        The ID of the local gateway.

                                        */ - Platform?: string; + LocalGatewayId?: string; /** - *

                                        The purchase token. This token expires in two hours.

                                        + *

                                        The ID of the VLAN.

                                        */ - PurchaseToken?: string; + Vlan?: number; /** - *

                                        The schedule recurrence.

                                        + *

                                        The local address.

                                        */ - Recurrence?: ScheduledInstanceRecurrence; + LocalAddress?: string; /** - *

                                        The number of hours in the schedule.

                                        + *

                                        The peer address.

                                        */ - SlotDurationInHours?: number; + PeerAddress?: string; /** - *

                                        The total number of hours for a single instance for the entire term.

                                        + *

                                        The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

                                        */ - TotalScheduledInstanceHours?: number; -} + LocalBgpAsn?: number; -export namespace ScheduledInstanceAvailability { /** - * @internal + *

                                        The peer BGP ASN.

                                        */ - export const filterSensitiveLog = (obj: ScheduledInstanceAvailability): any => ({ - ...obj, - }); -} + PeerBgpAsn?: number; -/** - *

                                        Contains the output of DescribeScheduledInstanceAvailability.

                                        - */ -export interface DescribeScheduledInstanceAvailabilityResult { /** - *

                                        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 Amazon Web Services account that owns the local gateway virtual interface.

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

                                        Information about the available Scheduled Instances.

                                        + *

                                        The tags assigned to the virtual interface.

                                        */ - ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; + Tags?: Tag[]; } -export namespace DescribeScheduledInstanceAvailabilityResult { +export namespace LocalGatewayVirtualInterface { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityResult): any => ({ + export const filterSensitiveLog = (obj: LocalGatewayVirtualInterface): any => ({ ...obj, }); } -/** - *

                                        Describes the time period for a Scheduled Instance to start its first schedule.

                                        - */ -export interface SlotStartTimeRangeRequest { +export interface DescribeLocalGatewayVirtualInterfacesResult { /** - *

                                        The earliest date and time, in UTC, for the Scheduled Instance to start.

                                        + *

                                        Information about the virtual interfaces.

                                        */ - EarliestTime?: Date; + LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; /** - *

                                        The latest date and time, in UTC, for the Scheduled Instance to start.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - LatestTime?: Date; + NextToken?: string; } -export namespace SlotStartTimeRangeRequest { +export namespace DescribeLocalGatewayVirtualInterfacesResult { /** * @internal */ - export const filterSensitiveLog = (obj: SlotStartTimeRangeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesResult): any => ({ ...obj, }); } -/** - *

                                        Contains the parameters for DescribeScheduledInstances.

                                        - */ -export interface DescribeScheduledInstancesRequest { +export interface DescribeManagedPrefixListsRequest { /** *

                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -10153,550 +9357,528 @@ export interface DescribeScheduledInstancesRequest { DryRun?: boolean; /** - *

                                        The filters.

                                        - *
                                          - *
                                        • - *

                                          - * availability-zone - The Availability Zone (for example, us-west-2a).

                                          - *
                                        • + *

                                          One or more filters.

                                          + *
                                            *
                                          • *

                                            - * instance-type - The instance type (for example, c4.large).

                                            + * owner-id - The ID of the prefix list owner.

                                            *
                                          • *
                                          • *

                                            - * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                            + * prefix-list-id - The ID of the prefix list.

                                            *
                                          • *
                                          • *

                                            - * platform - The platform (Linux/UNIX or Windows).

                                            + * prefix-list-name - The name of the prefix list.

                                            *
                                          • *
                                          */ Filters?: Filter[]; /** - *

                                          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 with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                          */ MaxResults?: number; /** - *

                                          The token for the next set of results.

                                          + *

                                          The token for the next page of results.

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

                                          The Scheduled Instance IDs.

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

                                          The time period for the first schedule to start.

                                          + *

                                          One or more prefix list IDs.

                                          */ - SlotStartTimeRange?: SlotStartTimeRangeRequest; + PrefixListIds?: string[]; } -export namespace DescribeScheduledInstancesRequest { +export namespace DescribeManagedPrefixListsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeManagedPrefixListsRequest): any => ({ ...obj, }); } -/** - *

                                          Describes a Scheduled Instance.

                                          - */ -export interface ScheduledInstance { - /** - *

                                          The Availability Zone.

                                          - */ - AvailabilityZone?: string; - - /** - *

                                          The date when the Scheduled Instance was purchased.

                                          - */ - CreateDate?: Date; - - /** - *

                                          The hourly price for a single instance.

                                          - */ - HourlyPrice?: string; - - /** - *

                                          The number of instances.

                                          - */ - InstanceCount?: number; - - /** - *

                                          The instance type.

                                          - */ - InstanceType?: string; - - /** - *

                                          The network platform (EC2-Classic or EC2-VPC).

                                          - */ - NetworkPlatform?: string; - - /** - *

                                          The time for the next schedule to start.

                                          - */ - NextSlotStartTime?: Date; - - /** - *

                                          The platform (Linux/UNIX or Windows).

                                          - */ - Platform?: string; - - /** - *

                                          The time that the previous schedule ended or will end.

                                          - */ - PreviousSlotEndTime?: Date; - - /** - *

                                          The schedule recurrence.

                                          - */ - Recurrence?: ScheduledInstanceRecurrence; - - /** - *

                                          The Scheduled Instance ID.

                                          - */ - ScheduledInstanceId?: string; - - /** - *

                                          The number of hours in the schedule.

                                          - */ - SlotDurationInHours?: number; - - /** - *

                                          The end date for the Scheduled Instance.

                                          - */ - TermEndDate?: Date; - +export interface DescribeManagedPrefixListsResult { /** - *

                                          The start date for the Scheduled Instance.

                                          + *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          */ - TermStartDate?: Date; + NextToken?: string; /** - *

                                          The total number of hours for a single instance for the entire term.

                                          + *

                                          Information about the prefix lists.

                                          */ - TotalScheduledInstanceHours?: number; + PrefixLists?: ManagedPrefixList[]; } -export namespace ScheduledInstance { +export namespace DescribeManagedPrefixListsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstance): any => ({ + export const filterSensitiveLog = (obj: DescribeManagedPrefixListsResult): any => ({ ...obj, }); } -/** - *

                                          Contains the output of DescribeScheduledInstances.

                                          - */ -export interface DescribeScheduledInstancesResult { +export interface DescribeMovingAddressesRequest { /** - *

                                          The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                          + *

                                          One or more filters.

                                          + *
                                            + *
                                          • + *

                                            + * moving-status - The status of the Elastic IP address + * (MovingToVpc | RestoringToClassic).

                                            + *
                                          • + *
                                          */ - NextToken?: string; + Filters?: Filter[]; /** - *

                                          Information about the Scheduled 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.

                                          */ - ScheduledInstanceSet?: ScheduledInstance[]; -} + DryRun?: boolean; -export namespace DescribeScheduledInstancesResult { /** - * @internal + *

                                          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 1000; if + * MaxResults is given a value outside of this range, an error is returned.

                                          + *

                                          Default: If no value is provided, the default is 1000.

                                          */ - export const filterSensitiveLog = (obj: DescribeScheduledInstancesResult): any => ({ - ...obj, - }); -} + MaxResults?: 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 token for the next page of results.

                                          */ - DryRun?: boolean; + NextToken?: string; /** - *

                                          The IDs of the security groups in your account.

                                          + *

                                          One or more Elastic IP addresses.

                                          */ - GroupId: string[] | undefined; + PublicIps?: string[]; } -export namespace DescribeSecurityGroupReferencesRequest { +export namespace DescribeMovingAddressesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeMovingAddressesRequest): any => ({ ...obj, }); } +export type MoveStatus = "movingToVpc" | "restoringToClassic"; + /** - *

                                          Describes a VPC with a security group that references your security group.

                                          + *

                                          Describes the status of a moving Elastic IP address.

                                          */ -export interface SecurityGroupReference { - /** - *

                                          The ID of your security group.

                                          - */ - GroupId?: string; - +export interface MovingAddressStatus { /** - *

                                          The ID of the VPC with the referencing security group.

                                          + *

                                          The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

                                          */ - ReferencingVpcId?: string; + MoveStatus?: MoveStatus | string; /** - *

                                          The ID of the VPC peering connection.

                                          + *

                                          The Elastic IP address.

                                          */ - VpcPeeringConnectionId?: string; + PublicIp?: string; } -export namespace SecurityGroupReference { +export namespace MovingAddressStatus { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupReference): any => ({ + export const filterSensitiveLog = (obj: MovingAddressStatus): any => ({ ...obj, }); } -export interface DescribeSecurityGroupReferencesResult { +export interface DescribeMovingAddressesResult { + /** + *

                                          The status for each Elastic IP address.

                                          + */ + MovingAddressStatuses?: MovingAddressStatus[]; + /** - *

                                          Information about the VPCs with the referencing security groups.

                                          + *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          */ - SecurityGroupReferenceSet?: SecurityGroupReference[]; + NextToken?: string; } -export namespace DescribeSecurityGroupReferencesResult { +export namespace DescribeMovingAddressesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeMovingAddressesResult): any => ({ ...obj, }); } -export interface DescribeSecurityGroupRulesRequest { +export interface DescribeNatGatewaysRequest { + /** + *

                                          Checks whether you have the required permissions for the action, without 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.

                                          - *
                                            + *
                                              *
                                            • - *

                                              - * group-id - The ID of the security group.

                                              + *

                                              + * nat-gateway-id - The ID of the NAT gateway.

                                              *
                                            • *
                                            • - *

                                              - * security-group-rule-id - The ID of the security group rule.

                                              + *

                                              + * 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.

                                              *
                                            • *
                                            */ - Filters?: Filter[]; + Filter?: Filter[]; /** - *

                                            The IDs of the security group rules.

                                            + *

                                            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                            */ - SecurityGroupRuleIds?: 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.

                                            + *

                                            One or more NAT gateway IDs.

                                            */ - DryRun?: boolean; + NatGatewayIds?: string[]; /** *

                                            The token for 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 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.

                                            - */ - MaxResults?: number; } -export namespace DescribeSecurityGroupRulesRequest { +export namespace DescribeNatGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNatGatewaysRequest): any => ({ ...obj, }); } -export interface DescribeSecurityGroupRulesResult { +export interface DescribeNatGatewaysResult { /** - *

                                            Information about security group rules.

                                            + *

                                            Information about the NAT gateways.

                                            */ - SecurityGroupRules?: SecurityGroupRule[]; + NatGateways?: NatGateway[]; /** - *

                                            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 DescribeSecurityGroupRulesResult { +export namespace DescribeNatGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeNatGatewaysResult): any => ({ ...obj, }); } -export interface DescribeSecurityGroupsRequest { +export interface DescribeNetworkAclsRequest { /** - *

                                            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 is 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.

                                              - *
                                            • + *

                                              One or more filters.

                                              + *
                                                *
                                              • - *

                                                - * egress.ip-permission.protocol - The IP protocol for an - * outbound security group rule (tcp | udp | - * icmp, a protocol number, or -1 for all protocols).

                                                - *
                                              • + *

                                                + * association.association-id - The ID of an association ID for the ACL.

                                                + * *
                                              • - *

                                                - * egress.ip-permission.to-port - For an outbound rule, the end - * of port range for the TCP and UDP protocols, or an ICMP code.

                                                - *
                                              • + *

                                                + * association.network-acl-id - The ID of the network ACL involved in the association.

                                                + * *
                                              • - *

                                                - * egress.ip-permission.user-id - The ID of an Amazon Web Services account that - * has been referenced in an outbound security group rule.

                                                - *
                                              • + *

                                                + * association.subnet-id - The ID of the subnet involved in the association.

                                                + * *
                                              • - *

                                                - * group-id - The ID of the security group.

                                                - *
                                              • + *

                                                + * default - Indicates whether the ACL is the default network ACL for the VPC.

                                                + * *
                                              • - *

                                                - * group-name - The name of the security group.

                                                - *
                                              • + *

                                                + * entry.cidr - The IPv4 CIDR range specified in the entry.

                                                + * *
                                              • - *

                                                - * ip-permission.cidr - An IPv4 CIDR block for an inbound security - * group rule.

                                                - *
                                              • + *

                                                + * entry.icmp.code - The ICMP code specified in the entry, if any.

                                                + * *
                                              • - *

                                                - * ip-permission.from-port - For an inbound rule, the start of port - * range for the TCP and UDP protocols, or an ICMP type number.

                                                - *
                                              • + *

                                                + * entry.icmp.type - The ICMP type specified in the entry, if any.

                                                + * *
                                              • - *

                                                - * ip-permission.group-id - The ID of a security group that has been - * referenced in an inbound security group rule.

                                                - *
                                              • + *

                                                + * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

                                                + * *
                                              • - *

                                                - * ip-permission.group-name - The name of a security group that is - * referenced in an inbound security group rule.

                                                - *
                                              • + *

                                                + * entry.port-range.from - The start of the port range specified in the entry.

                                                + * *
                                              • - *

                                                - * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security - * group rule.

                                                - *
                                              • + *

                                                + * entry.port-range.to - The end of the port range specified in the entry.

                                                + * *
                                              • - *

                                                - * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

                                                - *
                                              • + *

                                                + * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

                                                + * *
                                              • - *

                                                - * ip-permission.protocol - The IP protocol for an inbound security - * group rule (tcp | udp | icmp, a - * protocol number, or -1 for all protocols).

                                                - *
                                              • + *

                                                + * entry.rule-action - Allows or denies the matching traffic (allow | deny).

                                                + * *
                                              • - *

                                                - * ip-permission.to-port - For an inbound rule, the end of port range - * for the TCP and UDP protocols, or an ICMP code.

                                                - *
                                              • + *

                                                + * entry.rule-number - The number of an entry (in other words, rule) in + * the set of ACL entries.

                                                + * *
                                              • - *

                                                - * ip-permission.user-id - The ID of an Amazon Web Services account that has been - * referenced in an inbound security group rule.

                                                - *
                                              • + *

                                                + * network-acl-id - The ID of the network ACL.

                                                + * *
                                              • - *

                                                - * owner-id - The Amazon Web Services account ID of the owner of the security group.

                                                - *
                                              • + *

                                                + * owner-id - The ID of the Amazon Web Services 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 specified when the security group was created.

                                                - *
                                              • + *

                                                + * vpc-id - The ID of the VPC for the network ACL.

                                                + * *
                                              */ Filters?: Filter[]; /** - *

                                              The IDs of the security groups. Required for security groups in a nondefault VPC.

                                              - *

                                              Default: Describes all of your 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.

                                              */ - GroupIds?: string[]; + DryRun?: boolean; /** - *

                                              [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 of your security groups.

                                              + *

                                              One or more network ACL IDs.

                                              + *

                                              Default: Describes all your network ACLs.

                                              */ - GroupNames?: string[]; + NetworkAclIds?: 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 token for the next page of results.

                                              */ - DryRun?: boolean; + NextToken?: string; /** - *

                                              The token to request 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.

                                              + */ + MaxResults?: number; +} + +export namespace DescribeNetworkAclsRequest { + /** + * @internal + */ + 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 { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeNetworkAclsResult): any => ({ + ...obj, + }); +} + +export interface DescribeNetworkInsightsAccessScopeAnalysesRequest { + /** + *

                                              The IDs of the Network Access Scope analyses.

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

                                              The ID of the Network Access Scope.

                                              + */ + NetworkInsightsAccessScopeId?: string; + + /** + *

                                              Filters the results based on the start time. The analysis must have started on or after this time.

                                              + */ + AnalysisStartTimeBegin?: Date; + + /** + *

                                              Filters the results based on the start time. The analysis must have started on or before this time.

                                              + */ + AnalysisStartTimeEnd?: Date; + + /** + *

                                              There are no supported filters.

                                              + */ + 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. + * Otherwise, it is UnauthorizedOperation.

                                              + */ + DryRun?: boolean; /** - *

                                              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 token for the next page of results.

                                              */ - MaxResults?: number; + NextToken?: string; } -export namespace DescribeSecurityGroupsRequest { +export namespace DescribeNetworkInsightsAccessScopeAnalysesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAccessScopeAnalysesRequest): any => ({ ...obj, }); } +export enum FindingsFound { + false = "false", + true = "true", + unknown = "unknown", +} + +export type AnalysisStatus = "failed" | "running" | "succeeded"; + /** - *

                                              Describes a security group.

                                              + *

                                              Describes a Network Access Scope analysis.

                                              */ -export interface SecurityGroup { +export interface NetworkInsightsAccessScopeAnalysis { /** - *

                                              A description of the security group.

                                              + *

                                              The ID of the Network Access Scope analysis.

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

                                              The name of the security group.

                                              + *

                                              The Amazon Resource Name (ARN) of the Network Access Scope analysis.

                                              */ - GroupName?: string; + NetworkInsightsAccessScopeAnalysisArn?: string; /** - *

                                              The inbound rules associated with the security group.

                                              + *

                                              The ID of the Network Access Scope.

                                              */ - IpPermissions?: IpPermission[]; + NetworkInsightsAccessScopeId?: string; /** - *

                                              The Amazon Web Services account ID of the owner of the security group.

                                              + *

                                              The status.

                                              */ - OwnerId?: string; + Status?: AnalysisStatus | string; /** - *

                                              The ID of the security group.

                                              + *

                                              The status message.

                                              */ - GroupId?: string; + StatusMessage?: string; /** - *

                                              [VPC only] The outbound rules associated with the security group.

                                              + *

                                              The warning message.

                                              */ - IpPermissionsEgress?: IpPermission[]; + WarningMessage?: string; /** - *

                                              Any tags assigned to the security group.

                                              + *

                                              The analysis start date.

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

                                              [VPC only] The ID of the VPC for the security group.

                                              + *

                                              The analysis end date.

                                              */ - VpcId?: string; + EndDate?: Date; + + /** + *

                                              Indicates whether there are findings.

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

                                              The number of network interfaces analyzed.

                                              + */ + AnalyzedEniCount?: number; + + /** + *

                                              The tags.

                                              + */ + Tags?: Tag[]; } -export namespace SecurityGroup { +export namespace NetworkInsightsAccessScopeAnalysis { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroup): any => ({ + export const filterSensitiveLog = (obj: NetworkInsightsAccessScopeAnalysis): any => ({ ...obj, }); } -export interface DescribeSecurityGroupsResult { +export interface DescribeNetworkInsightsAccessScopeAnalysesResult { /** - *

                                              Information about the security groups.

                                              + *

                                              The Network Access Scope analyses.

                                              */ - SecurityGroups?: SecurityGroup[]; + NetworkInsightsAccessScopeAnalyses?: NetworkInsightsAccessScopeAnalysis[]; /** *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              @@ -10704,27 +9886,31 @@ export interface DescribeSecurityGroupsResult { NextToken?: string; } -export namespace DescribeSecurityGroupsResult { +export namespace DescribeNetworkInsightsAccessScopeAnalysesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAccessScopeAnalysesResult): any => ({ ...obj, }); } -export type SnapshotAttributeName = "createVolumePermission" | "productCodes"; +export interface DescribeNetworkInsightsAccessScopesRequest { + /** + *

                                              The IDs of the Network Access Scopes.

                                              + */ + NetworkInsightsAccessScopeIds?: string[]; -export interface DescribeSnapshotAttributeRequest { /** - *

                                              The snapshot attribute you would like to view.

                                              + *

                                              There are no supported filters.

                                              */ - Attribute: SnapshotAttributeName | string | undefined; + Filters?: Filter[]; /** - *

                                              The ID of the EBS snapshot.

                                              + *

                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                              */ - SnapshotId: string | undefined; + MaxResults?: number; /** *

                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -10732,1804 +9918,1619 @@ export interface DescribeSnapshotAttributeRequest { * Otherwise, it is UnauthorizedOperation.

                                              */ DryRun?: boolean; + + /** + *

                                              The token for the next page of results.

                                              + */ + NextToken?: string; } -export namespace DescribeSnapshotAttributeRequest { +export namespace DescribeNetworkInsightsAccessScopesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSnapshotAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAccessScopesRequest): any => ({ ...obj, }); } -/** - *

                                              Describes the user or group to be added or removed from the list of create volume - * permissions for a volume.

                                              - */ -export interface CreateVolumePermission { +export interface DescribeNetworkInsightsAccessScopesResult { /** - *

                                              The group to be added or removed. The possible value is all.

                                              + *

                                              The Network Access Scopes.

                                              */ - Group?: PermissionGroup | string; + NetworkInsightsAccessScopes?: NetworkInsightsAccessScope[]; /** - *

                                              The ID of the Amazon Web Services account to be added or removed.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - UserId?: string; + NextToken?: string; } -export namespace CreateVolumePermission { +export namespace DescribeNetworkInsightsAccessScopesResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVolumePermission): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAccessScopesResult): any => ({ ...obj, }); } -export interface DescribeSnapshotAttributeResult { +export interface DescribeNetworkInsightsAnalysesRequest { /** - *

                                              The users and groups that have the permissions for creating volumes from the - * snapshot.

                                              + *

                                              The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

                                              */ - CreateVolumePermissions?: CreateVolumePermission[]; + NetworkInsightsAnalysisIds?: string[]; /** - *

                                              The product codes.

                                              + *

                                              The ID of the path. You must specify either a path ID or analysis IDs.

                                              */ - ProductCodes?: ProductCode[]; + NetworkInsightsPathId?: string; /** - *

                                              The ID of the EBS snapshot.

                                              + *

                                              The time when the network insights analyses started.

                                              */ - SnapshotId?: string; -} + AnalysisStartTime?: Date; -export namespace DescribeSnapshotAttributeResult { /** - * @internal + *

                                              The time when the network insights analyses ended.

                                              */ - export const filterSensitiveLog = (obj: DescribeSnapshotAttributeResult): any => ({ - ...obj, - }); -} + AnalysisEndTime?: Date; -export interface DescribeSnapshotsRequest { /** - *

                                              The filters.

                                              + *

                                              The filters. The following are possible values:

                                              *
                                                *
                                              • - *

                                                - * 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 Amazon Web Services account alias set using the IAM console. - * We recommend that you use the related parameter instead of this filter.

                                                - *
                                              • - *
                                              • - *

                                                - * owner-id - The Amazon Web Services 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).

                                                - *
                                              • - *
                                              • - *

                                                - * storage-tier - The storage tier of the snapshot (archive | - * standard).

                                                - *
                                              • - *
                                              • - *

                                                - * 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.

                                                + *

                                                PathFound - A Boolean value that indicates whether a feasible path is found.

                                                *
                                              • *
                                              • - *

                                                - * volume-size - The size of the volume, in GiB.

                                                + *

                                                Status - The status of the analysis (running | succeeded | failed).

                                                *
                                              • *
                                              */ Filters?: Filter[]; /** - *

                                              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 1,000; if MaxResults is given a value larger than 1,000, - * only 1,000 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 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 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.

                                              + *

                                              Checks whether you have the required permissions for the action, without 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; /** - *

                                              Scopes the results to snapshots with the specified owners. You can specify a combination of - * Amazon Web Services account IDs, self, and amazon.

                                              + *

                                              The token for the next page of results.

                                              */ - OwnerIds?: string[]; + NextToken?: string; +} +export namespace DescribeNetworkInsightsAnalysesRequest { /** - *

                                              The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

                                              + * @internal */ - RestorableByUserIds?: string[]; + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesRequest): any => ({ + ...obj, + }); +} +/** + *

                                              Describes a load balancer listener.

                                              + */ +export interface AnalysisLoadBalancerListener { /** - *

                                              The snapshot IDs.

                                              - *

                                              Default: Describes the snapshots for which you have create volume permissions.

                                              + *

                                              The port on which the load balancer is listening.

                                              */ - SnapshotIds?: string[]; + LoadBalancerPort?: 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.

                                              + *

                                              [Classic Load Balancers] The back-end port for the listener.

                                              */ - DryRun?: boolean; + InstancePort?: number; } -export namespace DescribeSnapshotsRequest { +export namespace AnalysisLoadBalancerListener { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ + export const filterSensitiveLog = (obj: AnalysisLoadBalancerListener): any => ({ ...obj, }); } -export interface DescribeSnapshotsResult { +/** + *

                                              Describes a load balancer target.

                                              + */ +export interface AnalysisLoadBalancerTarget { /** - *

                                              Information about the snapshots.

                                              + *

                                              The IP address.

                                              */ - Snapshots?: Snapshot[]; + Address?: 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 Availability Zone.

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

                                              Information about the instance.

                                              + */ + Instance?: AnalysisComponent; + + /** + *

                                              The port on which the target is listening.

                                              + */ + Port?: number; } -export namespace DescribeSnapshotsResult { +export namespace AnalysisLoadBalancerTarget { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSnapshotsResult): any => ({ + export const filterSensitiveLog = (obj: AnalysisLoadBalancerTarget): any => ({ ...obj, }); } -export interface DescribeSnapshotTierStatusRequest { +/** + *

                                              Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

                                              + */ +export interface Explanation { + /** + *

                                              The network ACL.

                                              + */ + Acl?: AnalysisComponent; + /** - *

                                              The filters.

                                              + *

                                              The network ACL rule.

                                              + */ + AclRule?: AnalysisAclRule; + + /** + *

                                              The IPv4 address, in CIDR notation.

                                              + */ + Address?: string; + + /** + *

                                              The IPv4 addresses, in CIDR notation.

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

                                              The resource to which the component is attached.

                                              + */ + AttachedTo?: AnalysisComponent; + + /** + *

                                              The Availability Zones.

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

                                              The CIDR ranges.

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

                                              The component.

                                              + */ + Component?: AnalysisComponent; + + /** + *

                                              The customer gateway.

                                              + */ + CustomerGateway?: AnalysisComponent; + + /** + *

                                              The destination.

                                              + */ + Destination?: AnalysisComponent; + + /** + *

                                              The destination VPC.

                                              + */ + DestinationVpc?: AnalysisComponent; + + /** + *

                                              The direction. The following are possible values:

                                              *
                                                *
                                              • - *

                                                - * snapshot-id - The snapshot ID.

                                                - *
                                              • - *
                                              • - *

                                                - * volume-id - The ID of the volume the snapshot is for.

                                                + *

                                                egress

                                                *
                                              • *
                                              • - *

                                                - * last-tiering-operation - The state of the last archive or restore action. (archiving | archival_error | - * archival_complete | restoring | restore_error | restore_complete)

                                                + *

                                                ingress

                                                *
                                              • *
                                              */ - Filters?: Filter[]; + Direction?: 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 explanation code.

                                              */ - DryRun?: boolean; + ExplanationCode?: string; /** - *

                                              The token for the next page of results.

                                              + *

                                              The route table.

                                              */ - NextToken?: string; + IngressRouteTable?: AnalysisComponent; + + /** + *

                                              The internet gateway.

                                              + */ + InternetGateway?: AnalysisComponent; + + /** + *

                                              The Amazon Resource Name (ARN) of the load balancer.

                                              + */ + LoadBalancerArn?: string; + + /** + *

                                              The listener for a Classic Load Balancer.

                                              + */ + ClassicLoadBalancerListener?: AnalysisLoadBalancerListener; + + /** + *

                                              The listener port of the load balancer.

                                              + */ + LoadBalancerListenerPort?: 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 target.

                                              */ - MaxResults?: number; -} + LoadBalancerTarget?: AnalysisLoadBalancerTarget; -export namespace DescribeSnapshotTierStatusRequest { /** - * @internal + *

                                              The target group.

                                              */ - export const filterSensitiveLog = (obj: DescribeSnapshotTierStatusRequest): any => ({ - ...obj, - }); -} + LoadBalancerTargetGroup?: AnalysisComponent; -export enum TieringOperationStatus { - archival_completed = "archival-completed", - archival_failed = "archival-failed", - archival_in_progress = "archival-in-progress", - permanent_restore_completed = "permanent-restore-completed", - permanent_restore_failed = "permanent-restore-failed", - permanent_restore_in_progress = "permanent-restore-in-progress", - temporary_restore_completed = "temporary-restore-completed", - temporary_restore_failed = "temporary-restore-failed", - temporary_restore_in_progress = "temporary-restore-in-progress", -} + /** + *

                                              The target groups.

                                              + */ + LoadBalancerTargetGroups?: AnalysisComponent[]; -/** - *

                                              Provides information about a snapshot's storage tier.

                                              - */ -export interface SnapshotTierStatus { /** - *

                                              The ID of the snapshot.

                                              + *

                                              The target port.

                                              */ - SnapshotId?: string; + LoadBalancerTargetPort?: number; /** - *

                                              The ID of the volume from which the snapshot was created.

                                              + *

                                              The load balancer listener.

                                              */ - VolumeId?: string; + ElasticLoadBalancerListener?: AnalysisComponent; /** - *

                                              The state of the snapshot.

                                              + *

                                              The missing component.

                                              */ - Status?: SnapshotState | string; + MissingComponent?: string; /** - *

                                              The ID of the Amazon Web Services account that owns the snapshot.

                                              + *

                                              The NAT gateway.

                                              */ - OwnerId?: string; + NatGateway?: AnalysisComponent; /** - *

                                              The tags that are assigned to the snapshot.

                                              + *

                                              The network interface.

                                              */ - Tags?: Tag[]; + NetworkInterface?: AnalysisComponent; /** - *

                                              The storage tier in which the snapshot is stored. standard indicates - * that the snapshot is stored in the standard snapshot storage tier and that it is ready - * for use. archive indicates that the snapshot is currently archived and that - * it must be restored before it can be used.

                                              + *

                                              The packet field.

                                              */ - StorageTier?: StorageTier | string; + PacketField?: string; /** - *

                                              The date and time when the last archive or restore process was started.

                                              + *

                                              The VPC peering connection.

                                              */ - LastTieringStartTime?: Date; + VpcPeeringConnection?: AnalysisComponent; /** - *

                                              The progress of the last archive or restore process, as a percentage.

                                              + *

                                              The port.

                                              */ - LastTieringProgress?: number; + Port?: number; /** - *

                                              The status of the last archive or restore process.

                                              + *

                                              The port ranges.

                                              */ - LastTieringOperationStatus?: TieringOperationStatus | string; + PortRanges?: PortRange[]; /** - *

                                              A message describing the status of the last archive or restore process.

                                              + *

                                              The prefix list.

                                              */ - LastTieringOperationStatusDetail?: string; + PrefixList?: AnalysisComponent; /** - *

                                              The date and time when the last archive process was completed.

                                              + *

                                              The protocols.

                                              */ - ArchivalCompleteTime?: Date; + Protocols?: string[]; /** - *

                                              Only for archived snapshots that are temporarily restored. Indicates the date and - * time when a temporarily restored snapshot will be automatically re-archived.

                                              + *

                                              The route table route.

                                              */ - RestoreExpiryTime?: Date; -} + RouteTableRoute?: AnalysisRouteTableRoute; -export namespace SnapshotTierStatus { /** - * @internal + *

                                              The route table.

                                              */ - export const filterSensitiveLog = (obj: SnapshotTierStatus): any => ({ - ...obj, - }); -} + RouteTable?: AnalysisComponent; -export interface DescribeSnapshotTierStatusResult { /** - *

                                              Information about the snapshot's storage tier.

                                              + *

                                              The security group.

                                              */ - SnapshotTierStatuses?: SnapshotTierStatus[]; + SecurityGroup?: AnalysisComponent; /** - *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              + *

                                              The security group rule.

                                              */ - NextToken?: string; -} + SecurityGroupRule?: AnalysisSecurityGroupRule; -export namespace DescribeSnapshotTierStatusResult { /** - * @internal + *

                                              The security groups.

                                              */ - export const filterSensitiveLog = (obj: DescribeSnapshotTierStatusResult): any => ({ - ...obj, - }); -} + SecurityGroups?: AnalysisComponent[]; -/** - *

                                              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 source VPC.

                                              */ - DryRun?: boolean; -} + SourceVpc?: AnalysisComponent; -export namespace DescribeSpotDatafeedSubscriptionRequest { /** - * @internal + *

                                              The state.

                                              */ - export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionRequest): any => ({ - ...obj, - }); -} + State?: string; -/** - *

                                              Contains the output of DescribeSpotDatafeedSubscription.

                                              - */ -export interface DescribeSpotDatafeedSubscriptionResult { /** - *

                                              The Spot Instance data feed subscription.

                                              + *

                                              The subnet.

                                              */ - SpotDatafeedSubscription?: SpotDatafeedSubscription; -} + Subnet?: AnalysisComponent; -export namespace DescribeSpotDatafeedSubscriptionResult { /** - * @internal + *

                                              The route table for the subnet.

                                              */ - export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionResult): any => ({ - ...obj, - }); -} + SubnetRouteTable?: AnalysisComponent; -/** - *

                                              Contains the parameters for DescribeSpotFleetInstances.

                                              - */ -export interface DescribeSpotFleetInstancesRequest { /** - *

                                              Checks whether you have the required permissions for the action, without 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 component VPC.

                                              */ - DryRun?: boolean; + Vpc?: AnalysisComponent; /** - *

                                              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 VPC endpoint.

                                              */ - MaxResults?: number; + VpcEndpoint?: AnalysisComponent; /** - *

                                              The token for the next set of results.

                                              + *

                                              The VPN connection.

                                              */ - NextToken?: string; + VpnConnection?: AnalysisComponent; /** - *

                                              The ID of the Spot Fleet request.

                                              + *

                                              The VPN gateway.

                                              */ - SpotFleetRequestId: string | undefined; + VpnGateway?: AnalysisComponent; } -export namespace DescribeSpotFleetInstancesRequest { +export namespace Explanation { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: Explanation): any => ({ ...obj, }); } /** - *

                                              Contains the output of DescribeSpotFleetInstances.

                                              + *

                                              Describes a network insights analysis.

                                              */ -export interface DescribeSpotFleetInstancesResponse { +export interface NetworkInsightsAnalysis { /** - *

                                              The running instances. This list is refreshed periodically and might be out of - * date.

                                              + *

                                              The ID of the network insights analysis.

                                              */ - ActiveInstances?: ActiveInstance[]; + NetworkInsightsAnalysisId?: string; /** - *

                                              The token required to retrieve the next set of results. This value is - * null when there are no more results to return.

                                              + *

                                              The Amazon Resource Name (ARN) of the network insights analysis.

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

                                              The ID of the Spot Fleet request.

                                              + *

                                              The ID of the path.

                                              */ - SpotFleetRequestId?: string; -} + NetworkInsightsPathId?: string; -export namespace DescribeSpotFleetInstancesResponse { /** - * @internal + *

                                              The Amazon Resource Names (ARN) of the Amazon Web Services resources that the path must traverse.

                                              */ - export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesResponse): any => ({ - ...obj, - }); -} - -export enum EventType { - BATCH_CHANGE = "fleetRequestChange", - ERROR = "error", - INFORMATION = "information", - INSTANCE_CHANGE = "instanceChange", -} + FilterInArns?: string[]; -/** - *

                                              Contains the parameters for DescribeSpotFleetRequestHistory.

                                              - */ -export interface DescribeSpotFleetRequestHistoryRequest { /** - *

                                              Checks whether you have the required permissions for the action, without 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 the analysis started.

                                              */ - DryRun?: boolean; + StartDate?: Date; /** - *

                                              The type of events to describe. By default, all events are described.

                                              + *

                                              The status of the network insights analysis.

                                              */ - EventType?: EventType | string; + Status?: AnalysisStatus | 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 status message, if the status is failed.

                                              */ - MaxResults?: number; + StatusMessage?: string; /** - *

                                              The token for the next set of results.

                                              + *

                                              The warning message.

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

                                              The ID of the Spot Fleet request.

                                              + *

                                              Indicates whether the destination is reachable from the source.

                                              */ - SpotFleetRequestId: string | undefined; + NetworkPathFound?: boolean; /** - *

                                              The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                              + *

                                              The components in the path from source to destination.

                                              */ - StartTime: Date | undefined; -} + ForwardPathComponents?: PathComponent[]; -export namespace DescribeSpotFleetRequestHistoryRequest { /** - * @internal + *

                                              The components in the path from destination to source.

                                              */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryRequest): any => ({ - ...obj, - }); -} + ReturnPathComponents?: PathComponent[]; -/** - *

                                              Describes an event in the history of the Spot Fleet request.

                                              - */ -export interface HistoryRecord { /** - *

                                              Information about the event.

                                              + *

                                              The explanations. For more information, see Reachability Analyzer explanation codes.

                                              */ - EventInformation?: EventInformation; + Explanations?: Explanation[]; /** - *

                                              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.

                                                - *
                                              • - *
                                              + *

                                              Potential intermediate components.

                                              */ - EventType?: EventType | string; + AlternatePathHints?: AlternatePathHint[]; /** - *

                                              The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                              + *

                                              The tags.

                                              */ - Timestamp?: Date; + Tags?: Tag[]; } -export namespace HistoryRecord { +export namespace NetworkInsightsAnalysis { /** * @internal */ - export const filterSensitiveLog = (obj: HistoryRecord): any => ({ + export const filterSensitiveLog = (obj: NetworkInsightsAnalysis): any => ({ ...obj, }); } -/** - *

                                              Contains the output of DescribeSpotFleetRequestHistory.

                                              - */ -export interface DescribeSpotFleetRequestHistoryResponse { - /** - *

                                              Information about the events in the history of the Spot Fleet request.

                                              - */ - HistoryRecords?: HistoryRecord[]; - +export interface DescribeNetworkInsightsAnalysesResult { /** - *

                                              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.

                                              + *

                                              Information about the network insights analyses.

                                              */ - LastEvaluatedTime?: Date; + NetworkInsightsAnalyses?: NetworkInsightsAnalysis[]; /** - *

                                              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; - - /** - *

                                              The ID of the Spot Fleet request.

                                              - */ - SpotFleetRequestId?: string; - - /** - *

                                              The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                              - */ - StartTime?: Date; } -export namespace DescribeSpotFleetRequestHistoryResponse { +export namespace DescribeNetworkInsightsAnalysesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesResult): any => ({ ...obj, }); } -/** - *

                                              Contains the parameters for DescribeSpotFleetRequests.

                                              - */ -export interface DescribeSpotFleetRequestsRequest { +export interface DescribeNetworkInsightsPathsRequest { /** - *

                                              Checks whether you have the required permissions for the action, without 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 paths.

                                              */ - DryRun?: boolean; + NetworkInsightsPathIds?: string[]; + + /** + *

                                              The filters. The following are possible values:

                                              + *
                                                + *
                                              • + *

                                                Destination - The ID of the resource.

                                                + *
                                              • + *
                                              • + *

                                                DestinationPort - The destination port.

                                                + *
                                              • + *
                                              • + *

                                                Name - The path name.

                                                + *
                                              • + *
                                              • + *

                                                Protocol - The protocol.

                                                + *
                                              • + *
                                              • + *

                                                Source - The ID of the resource.

                                                + *
                                              • + *
                                              + */ + Filters?: Filter[]; /** - *

                                              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 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 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 IDs of the Spot Fleet requests.

                                              + *

                                              The token for the next page of results.

                                              */ - SpotFleetRequestIds?: string[]; + NextToken?: string; } -export namespace DescribeSpotFleetRequestsRequest { +export namespace DescribeNetworkInsightsPathsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsRequest): any => ({ ...obj, }); } -export enum ExcessCapacityTerminationPolicy { - DEFAULT = "default", - NO_TERMINATION = "noTermination", -} +export interface DescribeNetworkInsightsPathsResult { + /** + *

                                              Information about the paths.

                                              + */ + NetworkInsightsPaths?: NetworkInsightsPath[]; -/** - *

                                              Describes whether monitoring is enabled.

                                              - */ -export interface SpotFleetMonitoring { /** - *

                                              Enables monitoring for the instance.

                                              - *

                                              Default: false - *

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - Enabled?: boolean; + NextToken?: string; } -export namespace SpotFleetMonitoring { +export namespace DescribeNetworkInsightsPathsResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetMonitoring): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsResult): any => ({ ...obj, }); } +export type NetworkInterfaceAttribute = "attachment" | "description" | "groupSet" | "sourceDestCheck"; + /** - *

                                              Describes a network interface.

                                              + *

                                              Contains the parameters for DescribeNetworkInterfaceAttribute.

                                              */ -export interface InstanceNetworkInterfaceSpecification { +export interface DescribeNetworkInterfaceAttributeRequest { /** - *

                                              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 attribute of the network interface. This parameter is required.

                                              */ - AssociatePublicIpAddress?: boolean; + Attribute?: NetworkInterfaceAttribute | 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.

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - DeleteOnTermination?: boolean; + DryRun?: boolean; /** - *

                                              The description of the network interface. Applies only if creating a network interface when launching an instance.

                                              + *

                                              The ID of the network interface.

                                              */ - Description?: string; + NetworkInterfaceId: string | undefined; +} +export namespace DescribeNetworkInterfaceAttributeRequest { /** - *

                                              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.

                                              + * @internal */ - DeviceIndex?: number; + export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeRequest): any => ({ + ...obj, + }); +} +/** + *

                                              Contains the output of DescribeNetworkInterfaceAttribute.

                                              + */ +export interface DescribeNetworkInterfaceAttributeResult { /** - *

                                              The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

                                              + *

                                              The attachment (if any) of the network interface.

                                              */ - Groups?: string[]; + Attachment?: NetworkInterfaceAttachment; /** - *

                                              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 description of the network interface.

                                              */ - Ipv6AddressCount?: number; + Description?: AttributeValue; /** - *

                                              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 security groups associated with the network interface.

                                              */ - Ipv6Addresses?: InstanceIpv6Address[]; + Groups?: GroupIdentifier[]; /** *

                                              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; /** - *

                                              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.

                                              + *

                                              Indicates whether source/destination checking is enabled.

                                              */ - PrivateIpAddress?: string; + SourceDestCheck?: AttributeBooleanValue; +} +export namespace DescribeNetworkInterfaceAttributeResult { /** - *

                                              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.

                                              + * @internal */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeResult): any => ({ + ...obj, + }); +} +/** + *

                                              Contains the parameters for DescribeNetworkInterfacePermissions.

                                              + */ +export interface DescribeNetworkInterfacePermissionsRequest { /** - *

                                              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.

                                              + *

                                              One or more network interface permission IDs.

                                              */ - SecondaryPrivateIpAddressCount?: number; + NetworkInterfacePermissionIds?: string[]; /** - *

                                              The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

                                              + *

                                              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 Amazon Web Services account ID.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-permission.aws-service - The Amazon Web Service.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-permission.permission - The type of + * permission (INSTANCE-ATTACH | + * EIP-ASSOCIATE).

                                                + *
                                              • + *
                                              */ - SubnetId?: string; + Filters?: Filter[]; /** - *

                                              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 Amazon Web Services Wavelength Developer Guide.

                                              + *

                                              The token to request the next page of results.

                                              */ - AssociateCarrierIpAddress?: boolean; + NextToken?: 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.

                                              - * - *

                                              Valid values: interface | efa - *

                                              + *

                                              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.

                                              */ - InterfaceType?: string; + MaxResults?: number; +} +export namespace DescribeNetworkInterfacePermissionsRequest { /** - *

                                              The index of the network card. Some instance types support multiple network cards. - * The primary network interface must be assigned to network card index 0. - * The default is network card index 0.

                                              - *

                                              If you are using RequestSpotInstances to create Spot Instances, omit this parameter because - * you can’t specify the network card index when using this API. To specify the network - * card index, use RunInstances.

                                              + * @internal */ - NetworkCardIndex?: number; + export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsRequest): any => ({ + ...obj, + }); +} +/** + *

                                              Contains the output for DescribeNetworkInterfacePermissions.

                                              + */ +export interface DescribeNetworkInterfacePermissionsResult { /** - *

                                              One or more IPv4 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv4PrefixCount option.

                                              + *

                                              The network interface permissions.

                                              */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + NetworkInterfacePermissions?: NetworkInterfacePermission[]; /** - *

                                              The number of IPv4 delegated prefixes to be automatically assigned to the network interface. - * You cannot use this option if you use the Ipv4Prefix option.

                                              + *

                                              The token to use to retrieve the next page of results.

                                              */ - Ipv4PrefixCount?: number; + NextToken?: string; +} +export namespace DescribeNetworkInterfacePermissionsResult { /** - *

                                              One or more IPv6 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv6PrefixCount option.

                                              + * @internal */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsResult): any => ({ + ...obj, + }); +} +/** + *

                                              Contains the parameters for DescribeNetworkInterfaces.

                                              + */ +export interface DescribeNetworkInterfacesRequest { /** - *

                                              The number of IPv6 delegated prefixes to be automatically assigned to the network interface. - * You cannot use this option if you use the Ipv6Prefix option.

                                              + *

                                              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 Amazon Web Services 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 alias or Amazon Web Services account ID of the principal or service that created the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service + * (for example, Amazon Web Services 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.

                                                + *
                                              • + *
                                              */ - Ipv6PrefixCount?: number; -} + Filters?: Filter[]; -export namespace InstanceNetworkInterfaceSpecification { /** - * @internal + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceSpecification): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

                                              Describes Spot Instance placement.

                                              - */ -export interface SpotPlacement { /** - *

                                              The Availability Zone.

                                              - *

                                              [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; - * for example, "us-west-2a, us-west-2b".

                                              + *

                                              One or more network interface IDs.

                                              + *

                                              Default: Describes all your network interfaces.

                                              */ - AvailabilityZone?: string; + NetworkInterfaceIds?: string[]; /** - *

                                              The name of the placement group.

                                              + *

                                              The token to retrieve the next page of results.

                                              */ - GroupName?: string; + NextToken?: 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 Spot Instances.

                                              + *

                                              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.

                                              */ - Tenancy?: Tenancy | string; + MaxResults?: number; } -export namespace SpotPlacement { +export namespace DescribeNetworkInterfacesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotPlacement): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInterfacesRequest): any => ({ ...obj, }); } /** - *

                                              The tags for a Spot Fleet resource.

                                              + *

                                              Contains the output of DescribeNetworkInterfaces.

                                              */ -export interface SpotFleetTagSpecification { +export interface DescribeNetworkInterfacesResult { /** - *

                                              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 - * .

                                              + *

                                              Information about one or more network interfaces.

                                              */ - ResourceType?: ResourceType | string; + NetworkInterfaces?: NetworkInterface[]; /** - *

                                              The tags.

                                              + *

                                              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 SpotFleetTagSpecification { +export namespace DescribeNetworkInterfacesResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetTagSpecification): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInterfacesResult): any => ({ ...obj, }); } -/** - *

                                              Describes the launch specification for one or more Spot Instances. If you include - * On-Demand capacity in your fleet request or want to specify an EFA network device, you - * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

                                              - */ -export interface SpotFleetLaunchSpecification { - /** - *

                                              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.

                                              - */ - SecurityGroups?: GroupIdentifier[]; - - /** - *

                                              Deprecated.

                                              - */ - AddressingType?: string; - - /** - *

                                              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.

                                              - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

                                              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; - - /** - *

                                              The IAM instance profile.

                                              - */ - IamInstanceProfile?: IamInstanceProfileSpecification; - - /** - *

                                              The ID of the AMI.

                                              - */ - ImageId?: string; - - /** - *

                                              The instance type.

                                              - */ - InstanceType?: _InstanceType | string; - +export interface DescribePlacementGroupsRequest { /** - *

                                              The ID of the kernel.

                                              + *

                                              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.

                                                + *
                                              • + *
                                              */ - KernelId?: string; + Filters?: Filter[]; /** - *

                                              The name of the key pair.

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - KeyName?: string; + DryRun?: boolean; /** - *

                                              Enable or disable monitoring for the instances.

                                              + *

                                              The names of the placement groups.

                                              + *

                                              Default: Describes all your placement groups, or only those otherwise + * specified.

                                              */ - Monitoring?: SpotFleetMonitoring; + GroupNames?: 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.

                                              - * - *

                                              - * SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

                                              - *
                                              + *

                                              The IDs of the placement groups.

                                              */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + GroupIds?: string[]; +} +export namespace DescribePlacementGroupsRequest { /** - *

                                              The placement information.

                                              + * @internal */ - Placement?: SpotPlacement; + export const filterSensitiveLog = (obj: DescribePlacementGroupsRequest): any => ({ + ...obj, + }); +} +export interface DescribePlacementGroupsResult { /** - *

                                              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 Amazon Web Services Resource Center and search for the kernel ID.

                                              + *

                                              Information about the placement groups.

                                              */ - RamdiskId?: string; + PlacementGroups?: PlacementGroup[]; +} +export namespace DescribePlacementGroupsResult { /** - *

                                              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.

                                              + * @internal */ - SpotPrice?: string; + export const filterSensitiveLog = (obj: DescribePlacementGroupsResult): any => ({ + ...obj, + }); +} +export interface DescribePrefixListsRequest { /** - *

                                              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".

                                              + *

                                              Checks whether you have the required permissions for the action, without 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 Base64-encoded user data that instances use when starting up.

                                              + *

                                              One or more filters.

                                              + *
                                                + *
                                              • + *

                                                + * prefix-list-id: The ID of a prefix list.

                                                + *
                                              • + *
                                              • + *

                                                + * prefix-list-name: The name of a prefix list.

                                                + *
                                              • + *
                                              */ - UserData?: string; + Filters?: Filter[]; /** - *

                                              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.

                                              + *

                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                              */ - WeightedCapacity?: number; + MaxResults?: number; /** - *

                                              The tags to apply during creation.

                                              + *

                                              The token for the next page of results.

                                              */ - TagSpecifications?: SpotFleetTagSpecification[]; + NextToken?: string; /** - *

                                              The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

                                              - * - *

                                              If you specify InstanceRequirements, you can't specify - * InstanceTypes.

                                              - *
                                              + *

                                              One or more prefix list IDs.

                                              */ - InstanceRequirements?: InstanceRequirements; + PrefixListIds?: string[]; } -export namespace SpotFleetLaunchSpecification { +export namespace DescribePrefixListsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: DescribePrefixListsRequest): any => ({ ...obj, }); } /** - *

                                              Describes overrides for a launch template.

                                              + *

                                              Describes prefixes for Amazon Web Services services.

                                              */ -export interface LaunchTemplateOverrides { - /** - *

                                              The instance type.

                                              - */ - InstanceType?: _InstanceType | string; - - /** - *

                                              The maximum price per unit hour that you are willing to pay for a Spot - * Instance.

                                              - */ - SpotPrice?: string; - - /** - *

                                              The ID of the subnet in which to launch the instances.

                                              - */ - SubnetId?: string; - - /** - *

                                              The Availability Zone in which to launch the instances.

                                              - */ - AvailabilityZone?: string; - +export interface PrefixList { /** - *

                                              The number of units provided by the specified instance type.

                                              + *

                                              The IP address range of the Amazon Web Service.

                                              */ - WeightedCapacity?: number; + Cidrs?: string[]; /** - *

                                              The priority for the launch template override. The highest priority is launched - * first.

                                              - *

                                              If OnDemandAllocationStrategy is set to prioritized, Spot Fleet - * uses priority to determine which launch template override to use first in fulfilling - * On-Demand capacity.

                                              - *

                                              If the Spot AllocationStrategy is set to - * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis - * to determine which launch template override to use in fulfilling Spot capacity, but - * optimizes for capacity 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. You can set the same priority for different launch template overrides.

                                              + *

                                              The ID of the prefix.

                                              */ - Priority?: number; + PrefixListId?: string; /** - *

                                              The instance requirements. When you specify instance requirements, Amazon EC2 will identify - * instance types with the provided requirements, and then use your On-Demand and Spot - * allocation strategies to launch instances from these instance types, in the same way as - * when you specify a list of instance types.

                                              - * - *

                                              If you specify InstanceRequirements, you can't specify - * InstanceTypes.

                                              - *
                                              + *

                                              The name of the prefix.

                                              */ - InstanceRequirements?: InstanceRequirements; + PrefixListName?: string; } -export namespace LaunchTemplateOverrides { +export namespace PrefixList { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateOverrides): any => ({ + export const filterSensitiveLog = (obj: PrefixList): any => ({ ...obj, }); } -/** - *

                                              Describes a launch template and overrides.

                                              - */ -export interface LaunchTemplateConfig { +export interface DescribePrefixListsResult { /** - *

                                              The launch template.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + NextToken?: string; /** - *

                                              Any parameters that you specify override the same parameters in the launch - * template.

                                              + *

                                              All available prefix lists.

                                              */ - Overrides?: LaunchTemplateOverrides[]; + PrefixLists?: PrefixList[]; } -export namespace LaunchTemplateConfig { +export namespace DescribePrefixListsResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateConfig): any => ({ + export const filterSensitiveLog = (obj: DescribePrefixListsResult): any => ({ ...obj, }); } -/** - *

                                              Describes a Classic Load Balancer.

                                              - */ -export interface ClassicLoadBalancer { +export interface DescribePrincipalIdFormatRequest { /** - *

                                              The name of the load balancer.

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - Name?: string; -} + DryRun?: boolean; + + /** + *

                                              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 + *

                                              + */ + Resources?: string[]; -export namespace ClassicLoadBalancer { /** - * @internal + *

                                              The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

                                              */ - export const filterSensitiveLog = (obj: ClassicLoadBalancer): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                                              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 { /** - *

                                              One or more Classic Load Balancers.

                                              + *

                                              The token to request the next page of results.

                                              */ - ClassicLoadBalancers?: ClassicLoadBalancer[]; + NextToken?: string; } -export namespace ClassicLoadBalancersConfig { +export namespace DescribePrincipalIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClassicLoadBalancersConfig): any => ({ + export const filterSensitiveLog = (obj: DescribePrincipalIdFormatRequest): any => ({ ...obj, }); } /** - *

                                              Describes a load balancer target group.

                                              + *

                                              PrincipalIdFormat description

                                              */ -export interface TargetGroup { +export interface PrincipalIdFormat { /** - *

                                              The Amazon Resource Name (ARN) of the target group.

                                              + *

                                              PrincipalIdFormatARN description

                                              */ Arn?: string; -} - -export namespace TargetGroup { - /** - * @internal - */ - 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 { /** - *

                                              One or more target groups.

                                              + *

                                              PrincipalIdFormatStatuses description

                                              */ - TargetGroups?: TargetGroup[]; + Statuses?: IdFormat[]; } -export namespace TargetGroupsConfig { +export namespace PrincipalIdFormat { /** * @internal */ - export const filterSensitiveLog = (obj: TargetGroupsConfig): any => ({ + export const filterSensitiveLog = (obj: PrincipalIdFormat): any => ({ ...obj, }); } -/** - *

                                              Describes the Classic Load Balancers and target groups to attach to a Spot Fleet - * request.

                                              - */ -export interface LoadBalancersConfig { +export interface DescribePrincipalIdFormatResult { /** - *

                                              The Classic Load Balancers.

                                              + *

                                              Information about the ID format settings for the ARN.

                                              */ - ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; + Principals?: PrincipalIdFormat[]; /** - *

                                              The target groups.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - TargetGroupsConfig?: TargetGroupsConfig; + NextToken?: string; } -export namespace LoadBalancersConfig { +export namespace DescribePrincipalIdFormatResult { /** * @internal */ - export const filterSensitiveLog = (obj: LoadBalancersConfig): any => ({ + export const filterSensitiveLog = (obj: DescribePrincipalIdFormatResult): any => ({ ...obj, }); } -export enum OnDemandAllocationStrategy { - LOWEST_PRICE = "lowestPrice", - PRIORITIZED = "prioritized", -} - -export enum ReplacementStrategy { - LAUNCH = "launch", - LAUNCH_BEFORE_TERMINATE = "launch-before-terminate", -} - -/** - *

                                              The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your - * Spot Instance is at an elevated risk of being interrupted. For more information, see - * Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

                                              - */ -export interface SpotCapacityRebalance { +export interface DescribePublicIpv4PoolsRequest { /** - *

                                              The replacement strategy to use. Only available for fleets of type - * maintain.

                                              - *

                                              - * launch - Spot Fleet launches a new replacement Spot Instance when a - * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet - * does not terminate the instances that receive a rebalance notification. You can - * terminate the old instances, or you can leave them running. You are charged for all - * instances while they are running.

                                              - *

                                              - * launch-before-terminate - Spot Fleet launches a new replacement Spot - * Instance when a rebalance notification is emitted for an existing Spot Instance in the - * fleet, and then, after a delay that you specify (in TerminationDelay), - * terminates the instances that received a rebalance notification.

                                              + *

                                              The IDs of the address pools.

                                              */ - ReplacementStrategy?: ReplacementStrategy | string; + PoolIds?: string[]; /** - *

                                              The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot - * Instance after launching a new replacement Spot Instance.

                                              - *

                                              Valid only when ReplacementStrategy is set to launch-before-terminate.

                                              - *

                                              Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

                                              + *

                                              The token for the next page of results.

                                              */ - TerminationDelay?: number; -} + NextToken?: string; -export namespace SpotCapacityRebalance { /** - * @internal + *

                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                              */ - export const filterSensitiveLog = (obj: SpotCapacityRebalance): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                                              The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

                                              - */ -export interface SpotMaintenanceStrategies { /** - *

                                              The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

                                              + *

                                              One or more filters.

                                              + *
                                                + *
                                              • + *

                                                + * 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.

                                                + *
                                              • + *
                                              */ - CapacityRebalance?: SpotCapacityRebalance; + Filters?: Filter[]; } -export namespace SpotMaintenanceStrategies { +export namespace DescribePublicIpv4PoolsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotMaintenanceStrategies): any => ({ + export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsRequest): any => ({ ...obj, }); } /** - *

                                              Describes the configuration of a Spot Fleet request.

                                              + *

                                              Describes an address range of an IPv4 address pool.

                                              */ -export interface SpotFleetRequestConfigData { +export interface PublicIpv4PoolRange { /** - *

                                              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 (recommended), Spot Fleet - * launches instances from Spot Instance pools with optimal capacity for the number of instances - * that are launching. To give certain instance types a higher chance of launching first, - * use capacityOptimizedPrioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You - * can assign the same priority to different LaunchTemplateOverrides. EC2 - * implements the priorities on a best-effort basis, but optimizes for capacity first. - * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a - * launch template. Note that if the OnDemandAllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

                                              + *

                                              The first IP address in the range.

                                              */ - AllocationStrategy?: AllocationStrategy | string; + FirstAddress?: string; /** - *

                                              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 last IP address in the range.

                                              */ - OnDemandAllocationStrategy?: OnDemandAllocationStrategy | string; + LastAddress?: string; /** - *

                                              The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

                                              + *

                                              The number of addresses in the range.

                                              */ - SpotMaintenanceStrategies?: SpotMaintenanceStrategies; + AddressCount?: number; /** - *

                                              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 number of available addresses in the range.

                                              */ - ClientToken?: string; + AvailableAddressCount?: number; +} +export namespace PublicIpv4PoolRange { /** - *

                                              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.

                                              + * @internal */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + export const filterSensitiveLog = (obj: PublicIpv4PoolRange): any => ({ + ...obj, + }); +} +/** + *

                                              Describes an IPv4 address pool.

                                              + */ +export interface PublicIpv4Pool { /** - *

                                              The number of units fulfilled by this request compared to the set target capacity. You - * cannot set this value.

                                              + *

                                              The ID of the address pool.

                                              */ - FulfilledCapacity?: number; + PoolId?: string; /** - *

                                              The number of On-Demand units fulfilled by this request compared to the set target - * On-Demand capacity.

                                              + *

                                              A description of the address pool.

                                              */ - OnDemandFulfilledCapacity?: number; + Description?: string; /** - *

                                              The Amazon Resource Name (ARN) of an 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 address ranges.

                                              */ - IamFleetRole: string | undefined; + PoolAddressRanges?: PublicIpv4PoolRange[]; /** - *

                                              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.

                                              + *

                                              The total number of addresses.

                                              */ - LaunchSpecifications?: SpotFleetLaunchSpecification[]; + TotalAddressCount?: number; /** - *

                                              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.

                                              + *

                                              The total number of available addresses.

                                              */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; + TotalAvailableAddressCount?: number; /** - *

                                              The maximum price per unit hour that you are willing to pay for a Spot Instance. The - * default is the On-Demand price.

                                              + *

                                              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 Amazon Web Services advertises public IP addresses.

                                              */ - SpotPrice?: string; + NetworkBorderGroup?: string; /** - *

                                              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.

                                              + *

                                              Any tags for the address pool.

                                              */ - TargetCapacity: number | undefined; + Tags?: Tag[]; +} +export namespace PublicIpv4Pool { /** - *

                                              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.

                                              + * @internal */ - OnDemandTargetCapacity?: number; + export const filterSensitiveLog = (obj: PublicIpv4Pool): any => ({ + ...obj, + }); +} +export interface DescribePublicIpv4PoolsResult { /** - *

                                              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.

                                              + *

                                              Information about the address pools.

                                              */ - OnDemandMaxTotalPrice?: string; + PublicIpv4Pools?: PublicIpv4Pool[]; /** - *

                                              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 token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - SpotMaxTotalPrice?: string; + NextToken?: string; +} +export namespace DescribePublicIpv4PoolsResult { /** - *

                                              Indicates whether running Spot Instances are terminated when the Spot Fleet request - * expires.

                                              + * @internal */ - TerminateInstancesWithExpiration?: boolean; + export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsResult): any => ({ + ...obj, + }); +} +export interface DescribeRegionsRequest { /** - *

                                              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 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).

                                                + *
                                              • + *
                                              */ - Type?: FleetType | string; + Filters?: Filter[]; /** - *

                                              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 names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

                                              */ - ValidFrom?: Date; + RegionNames?: string[]; /** - *

                                              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.

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - ValidUntil?: Date; + DryRun?: boolean; /** - *

                                              Indicates whether Spot Fleet should replace unhealthy instances.

                                              + *

                                              Indicates whether to display all Regions, including Regions that are disabled for your account.

                                              */ - ReplaceUnhealthyInstances?: boolean; + AllRegions?: boolean; +} +export namespace DescribeRegionsRequest { /** - *

                                              The behavior when a Spot Instance is interrupted. The default is - * terminate.

                                              + * @internal */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ + ...obj, + }); +} +/** + *

                                              Describes a Region.

                                              + */ +export interface Region { /** - *

                                              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 Region service endpoint.

                                              */ - LoadBalancersConfig?: LoadBalancersConfig; + Endpoint?: string; /** - *

                                              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.

                                              - *

                                              Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of - * pools that you specified.

                                              + *

                                              The name of the Region.

                                              */ - InstancePoolsToUseCount?: number; + RegionName?: string; /** - *

                                              Reserved.

                                              + *

                                              The Region opt-in status. The possible values are opt-in-not-required, opted-in, and + * not-opted-in.

                                              */ - Context?: string; + OptInStatus?: string; +} +export namespace Region { /** - *

                                              The unit for the target capacity.

                                              - *

                                              Default: units (translates to number of instances)

                                              + * @internal */ - TargetCapacityUnitType?: TargetCapacityUnitType | string; + export const filterSensitiveLog = (obj: Region): any => ({ + ...obj, + }); +} +export interface DescribeRegionsResult { /** - *

                                              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.

                                              + *

                                              Information about the Regions.

                                              */ - TagSpecifications?: TagSpecification[]; + Regions?: Region[]; } -export namespace SpotFleetRequestConfigData { +export namespace DescribeRegionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ + export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ ...obj, }); } -/** - *

                                              Describes a Spot Fleet request.

                                              - */ -export interface SpotFleetRequestConfig { - /** - *

                                              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.

                                              - */ - ActivityStatus?: ActivityStatus | string; - +export interface DescribeReplaceRootVolumeTasksRequest { /** - *

                                              The creation date and time of the request.

                                              + *

                                              The ID of the root volume replacement task to view.

                                              */ - CreateTime?: Date; + ReplaceRootVolumeTaskIds?: string[]; /** - *

                                              The configuration of the Spot Fleet request.

                                              + *

                                              Filter to use:

                                              + *
                                                + *
                                              • + *

                                                + * instance-id - The ID of the instance for which the root volume replacement task was created.

                                                + *
                                              • + *
                                              */ - SpotFleetRequestConfig?: SpotFleetRequestConfigData; + Filters?: Filter[]; /** - *

                                              The ID of the Spot Fleet 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.

                                              */ - SpotFleetRequestId?: string; + MaxResults?: number; /** - *

                                              The state of the Spot Fleet request.

                                              + *

                                              The token for the next page of results.

                                              */ - SpotFleetRequestState?: BatchState | string; + NextToken?: string; /** - *

                                              The tags for a Spot Fleet 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; } -export namespace SpotFleetRequestConfig { +export namespace DescribeReplaceRootVolumeTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetRequestConfig): any => ({ + export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksRequest): any => ({ ...obj, }); } -/** - *

                                              Contains the output of DescribeSpotFleetRequests.

                                              - */ -export interface DescribeSpotFleetRequestsResponse { +export interface DescribeReplaceRootVolumeTasksResult { /** - *

                                              The token required to retrieve the next set of results. This value is - * null when there are no more results to return.

                                              + *

                                              Information about the root volume replacement task.

                                              */ - NextToken?: string; + ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[]; /** - *

                                              Information about the configuration of your Spot Fleet.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; + NextToken?: string; } -export namespace DescribeSpotFleetRequestsResponse { +export namespace DescribeReplaceRootVolumeTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksResult): 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 DescribeSpotInstanceRequests.

                                              + *

                                              Contains the parameters for DescribeReservedInstances.

                                              */ -export interface DescribeSpotInstanceRequestsRequest { +export interface DescribeReservedInstancesRequest { /** *

                                              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.

                                                  + *

                                                  + * availability-zone - The Availability Zone where the Reserved Instance can be used.

                                                  *
                                                • *
                                                • - *

                                                  - * network-interface.network-interface-id - The ID of the network - * interface.

                                                  + *

                                                  + * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

                                                  *
                                                • *
                                                • - *

                                                  - * network-interface.private-ip-address - The primary private IP - * address of the network interface.

                                                  + *

                                                  + * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

                                                  *
                                                • *
                                                • - *

                                                  - * network-interface.subnet-id - The ID of the subnet for the - * instance.

                                                  + *

                                                  + * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

                                                  *
                                                • *
                                                • - *

                                                  - * product-description - The product description associated with the - * instance (Linux/UNIX | Windows).

                                                  + *

                                                  + * instance-type - The instance type that is covered by the reservation.

                                                  *
                                                • *
                                                • - *

                                                  - * spot-instance-request-id - The Spot Instance request ID.

                                                  + *

                                                  + * scope - The scope of the Reserved Instance (Region or Availability Zone).

                                                  *
                                                • *
                                                • - *

                                                  - * spot-price - The maximum hourly price for any Spot Instance - * launched to fulfill the request.

                                                  + *

                                                  + * 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) | Red Hat + * Enterprise Linux with HA (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)).

                                                  *
                                                • *
                                                • - *

                                                  - * 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.

                                                  + *

                                                  + * reserved-instances-id - The ID of the Reserved Instance.

                                                  *
                                                • *
                                                • - *

                                                  - * status-code - The short code describing the most recent - * evaluation of your Spot Instance request.

                                                  + *

                                                  + * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

                                                  *
                                                • *
                                                • - *

                                                  - * status-message - The message explaining the status of the Spot - * Instance request.

                                                  + *

                                                  + * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

                                                  *
                                                • *
                                                • *

                                                  @@ -12541,451 +11542,506 @@ export interface DescribeSpotInstanceRequestsRequest { * 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.

                                                  + *

                                                  + * 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.

                                                + *

                                                Describes whether the Reserved Instance is Standard or Convertible.

                                                */ - DryRun?: boolean; + OfferingClass?: OfferingClassType | string; /** - *

                                                One or more Spot Instance request IDs.

                                                + *

                                                One or more Reserved Instance IDs.

                                                + *

                                                Default: Describes all your Reserved Instances, or only those otherwise specified.

                                                */ - SpotInstanceRequestIds?: string[]; + ReservedInstancesIds?: string[]; /** - *

                                                The token to request the next set of results. This value is null when - * there are no more results to return.

                                                + *

                                                Checks whether you have the required permissions for the action, without 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. Specify a value between 5 - * and 1000. To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                + *

                                                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.

                                                */ - MaxResults?: number; + OfferingType?: OfferingTypeValues | string; } -export namespace DescribeSpotInstanceRequestsRequest { +export namespace DescribeReservedInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsRequest): any => ({ + 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 the monitoring of an instance.

                                                + *

                                                Describes a recurring charge.

                                                */ -export interface RunInstancesMonitoringEnabled { +export interface RecurringCharge { /** - *

                                                Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

                                                + *

                                                The amount of the recurring charge.

                                                + */ + Amount?: number; + + /** + *

                                                The frequency of the recurring charge.

                                                */ - Enabled: boolean | undefined; + Frequency?: RecurringChargeFrequency | string; } -export namespace RunInstancesMonitoringEnabled { +export namespace RecurringCharge { /** * @internal */ - export const filterSensitiveLog = (obj: RunInstancesMonitoringEnabled): any => ({ + 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 the launch specification for an instance.

                                                + *

                                                Describes a Reserved Instance.

                                                */ -export interface LaunchSpecification { +export interface ReservedInstances { /** - *

                                                The Base64-encoded user data for the instance.

                                                + *

                                                The Availability Zone in which the Reserved Instance can be used.

                                                */ - UserData?: string; + AvailabilityZone?: 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 duration of the Reserved Instance, in seconds.

                                                */ - SecurityGroups?: GroupIdentifier[]; + Duration?: number; /** - *

                                                Deprecated.

                                                + *

                                                The time when the Reserved Instance expires.

                                                */ - AddressingType?: string; + End?: Date; /** - *

                                                One or more block device mapping entries.

                                                + *

                                                The purchase price of the Reserved Instance.

                                                */ - BlockDeviceMappings?: BlockDeviceMapping[]; + FixedPrice?: number; /** - *

                                                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 number of reservations purchased.

                                                */ - EbsOptimized?: boolean; + InstanceCount?: number; /** - *

                                                The IAM instance profile.

                                                + *

                                                The instance type on which the Reserved Instance can be used.

                                                */ - IamInstanceProfile?: IamInstanceProfileSpecification; + InstanceType?: _InstanceType | string; /** - *

                                                The ID of the AMI.

                                                + *

                                                The Reserved Instance product platform description.

                                                */ - ImageId?: string; + ProductDescription?: RIProductDescription | string; /** - *

                                                The instance type.

                                                + *

                                                The ID of the Reserved Instance.

                                                */ - InstanceType?: _InstanceType | string; + ReservedInstancesId?: string; /** - *

                                                The ID of the kernel.

                                                + *

                                                The date and time the Reserved Instance started.

                                                */ - KernelId?: string; + Start?: Date; /** - *

                                                The name of the key pair.

                                                + *

                                                The state of the Reserved Instance purchase.

                                                */ - KeyName?: string; + State?: ReservedInstanceState | 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 usage price of the Reserved Instance, per hour.

                                                */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + UsagePrice?: number; /** - *

                                                The placement information for the instance.

                                                + *

                                                The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. + * At this time, the only supported currency is USD.

                                                */ - Placement?: SpotPlacement; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                The ID of the RAM disk.

                                                + *

                                                The tenancy of the instance.

                                                */ - RamdiskId?: string; + InstanceTenancy?: Tenancy | string; /** - *

                                                The ID of the subnet in which to launch the instance.

                                                + *

                                                The offering class of the Reserved Instance.

                                                */ - SubnetId?: string; + OfferingClass?: OfferingClassType | string; /** - *

                                                Describes the monitoring of an instance.

                                                + *

                                                The Reserved Instance offering type.

                                                + */ + OfferingType?: OfferingTypeValues | string; + + /** + *

                                                The recurring charge tag assigned to the resource.

                                                + */ + RecurringCharges?: RecurringCharge[]; + + /** + *

                                                The scope of the Reserved Instance.

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

                                                Any tags assigned to the resource.

                                                */ - Monitoring?: RunInstancesMonitoringEnabled; + Tags?: Tag[]; } -export namespace LaunchSpecification { +export namespace ReservedInstances { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: ReservedInstances): any => ({ ...obj, }); } -export type SpotInstanceState = "active" | "cancelled" | "closed" | "failed" | "open"; - /** - *

                                                Describes the status of a Spot Instance request.

                                                + *

                                                Contains the output for DescribeReservedInstances.

                                                */ -export interface SpotInstanceStatus { - /** - *

                                                The status code. For a list of status codes, see Spot status codes in the Amazon EC2 User Guide for Linux Instances.

                                                - */ - Code?: string; - - /** - *

                                                The description for the status code.

                                                - */ - Message?: string; - +export interface DescribeReservedInstancesResult { /** - *

                                                The date and time of the most recent status update, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                + *

                                                A list of Reserved Instances.

                                                */ - UpdateTime?: Date; + ReservedInstances?: ReservedInstances[]; } -export namespace SpotInstanceStatus { +export namespace DescribeReservedInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotInstanceStatus): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ ...obj, }); } /** - *

                                                Describes a Spot Instance request.

                                                + *

                                                Contains the parameters for DescribeReservedInstancesListings.

                                                */ -export interface SpotInstanceRequest { - /** - *

                                                Deprecated.

                                                - */ - ActualBlockHourlyPrice?: string; - +export interface DescribeReservedInstancesListingsRequest { /** - *

                                                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.

                                                + *

                                                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.

                                                  + *
                                                • + *
                                                */ - AvailabilityZoneGroup?: string; + Filters?: Filter[]; /** - *

                                                Deprecated.

                                                + *

                                                One or more Reserved Instance IDs.

                                                */ - BlockDurationMinutes?: number; + ReservedInstancesId?: string; /** - *

                                                The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                + *

                                                One or more Reserved Instance listing IDs.

                                                */ - CreateTime?: Date; + ReservedInstancesListingId?: string; +} +export namespace DescribeReservedInstancesListingsRequest { /** - *

                                                The fault codes for the Spot Instance request, if any.

                                                + * @internal */ - Fault?: SpotInstanceStateFault; + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                Contains the output of DescribeReservedInstancesListings.

                                                + */ +export interface DescribeReservedInstancesListingsResult { /** - *

                                                The instance ID, if an instance has been launched to fulfill the Spot Instance request.

                                                + *

                                                Information about the Reserved Instance listing.

                                                */ - InstanceId?: string; + ReservedInstancesListings?: ReservedInstancesListing[]; +} +export namespace DescribeReservedInstancesListingsResult { /** - *

                                                The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                + * @internal */ - LaunchGroup?: string; + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ + ...obj, + }); +} +/** + *

                                                Contains the parameters for DescribeReservedInstancesModifications.

                                                + */ +export interface DescribeReservedInstancesModificationsRequest { /** - *

                                                Additional information for launching instances.

                                                + *

                                                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.

                                                  + *
                                                • + *
                                                • + *

                                                  + * update-date - The time when the modification request was last updated.

                                                  + *
                                                • + *
                                                */ - LaunchSpecification?: LaunchSpecification; + Filters?: Filter[]; /** - *

                                                The Availability Zone in which the request is launched.

                                                + *

                                                IDs for the submitted modification request.

                                                */ - LaunchedAvailabilityZone?: string; + ReservedInstancesModificationIds?: string[]; /** - *

                                                The product description associated with the Spot Instance.

                                                + *

                                                The token to retrieve the next page of results.

                                                */ - ProductDescription?: RIProductDescription | string; + NextToken?: string; +} +export namespace DescribeReservedInstancesModificationsRequest { /** - *

                                                The ID of the Spot Instance request.

                                                + * @internal */ - SpotInstanceRequestId?: string; + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                Describes the configuration settings for the modified Reserved Instances.

                                                + */ +export interface ReservedInstancesConfiguration { /** - *

                                                The maximum price per hour that you are willing to pay for a Spot Instance.

                                                + *

                                                The Availability Zone for the modified Reserved Instances.

                                                */ - SpotPrice?: string; + AvailabilityZone?: string; /** - *

                                                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 number of modified Reserved Instances.

                                                + * + *

                                                This is a required field for a request.

                                                + *
                                                */ - State?: SpotInstanceState | string; + InstanceCount?: number; /** - *

                                                The status code and status message describing the Spot Instance request.

                                                + *

                                                The instance type for the modified Reserved Instances.

                                                */ - Status?: SpotInstanceStatus; + InstanceType?: _InstanceType | string; /** - *

                                                Any tags assigned to the resource.

                                                + *

                                                The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

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

                                                The Spot Instance request type.

                                                + *

                                                Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

                                                */ - Type?: SpotInstanceType | string; + Scope?: Scope | string; +} +export namespace ReservedInstancesConfiguration { /** - *

                                                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.

                                                + * @internal */ - ValidFrom?: Date; + export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ + ...obj, + }); +} +/** + *

                                                Describes the modification request/s.

                                                + */ +export interface ReservedInstancesModificationResult { /** - *

                                                The end date of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ).

                                                - *
                                                  - *
                                                • - *

                                                  For a persistent request, the request remains active until the validUntil date - * and time is reached. Otherwise, the request remains active until you cancel it. - *

                                                  - *
                                                • - *
                                                • - *

                                                  For a one-time request, the request remains active until all instances launch, - * the request is canceled, or the validUntil date and time is reached. By default, the - * request is valid for 7 days from the date the request was created.

                                                  - *
                                                • - *
                                                + *

                                                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.

                                                */ - ValidUntil?: Date; + ReservedInstancesId?: string; /** - *

                                                The behavior when a Spot Instance is interrupted.

                                                + *

                                                The target Reserved Instances configurations supplied as part of the modification request.

                                                */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + TargetConfiguration?: ReservedInstancesConfiguration; } -export namespace SpotInstanceRequest { +export namespace ReservedInstancesModificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotInstanceRequest): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ ...obj, }); } /** - *

                                                Contains the output of DescribeSpotInstanceRequests.

                                                + *

                                                Describes the ID of a Reserved Instance.

                                                */ -export interface DescribeSpotInstanceRequestsResult { - /** - *

                                                One or more Spot Instance requests.

                                                - */ - SpotInstanceRequests?: SpotInstanceRequest[]; - +export interface ReservedInstancesId { /** - *

                                                The token to use 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.

                                                */ - NextToken?: string; + ReservedInstancesId?: string; } -export namespace DescribeSpotInstanceRequestsResult { +export namespace ReservedInstancesId { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsResult): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ ...obj, }); } /** - *

                                                Contains the parameters for DescribeSpotPriceHistory.

                                                + *

                                                Describes a Reserved Instance modification.

                                                */ -export interface DescribeSpotPriceHistoryRequest { +export interface ReservedInstancesModification { /** - *

                                                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 | Red Hat Enterprise Linux | - * SUSE Linux | Windows | Linux/UNIX (Amazon - * VPC) | Red Hat Enterprise Linux (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.

                                                  - *
                                                • - *
                                                + *

                                                A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. + * For more information, see Ensuring + * Idempotency.

                                                */ - Filters?: Filter[]; + ClientToken?: string; /** - *

                                                Filters the results by the specified Availability Zone.

                                                + *

                                                The time when the modification request was created.

                                                */ - AvailabilityZone?: string; + CreateDate?: 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 time for the modification to become effective.

                                                */ - DryRun?: boolean; + EffectiveDate?: Date; /** - *

                                                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).

                                                + *

                                                Contains target configurations along with their corresponding new Reserved Instance IDs.

                                                */ - EndTime?: Date; + ModificationResults?: ReservedInstancesModificationResult[]; /** - *

                                                Filters the results by the specified instance types.

                                                + *

                                                The IDs of one or more Reserved Instances.

                                                */ - InstanceTypes?: (_InstanceType | string)[]; + ReservedInstancesIds?: ReservedInstancesId[]; /** - *

                                                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.

                                                + *

                                                A unique ID for the Reserved Instance modification.

                                                */ - MaxResults?: number; + ReservedInstancesModificationId?: string; /** - *

                                                The token for the next set of results.

                                                + *

                                                The status of the Reserved Instances modification request.

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

                                                Filters the results by the specified basic product descriptions.

                                                + *

                                                The reason for the status.

                                                */ - ProductDescriptions?: string[]; + StatusMessage?: 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 time when the modification request was last updated.

                                                */ - StartTime?: Date; + UpdateDate?: Date; } -export namespace DescribeSpotPriceHistoryRequest { +export namespace ReservedInstancesModification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryRequest): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 3c413dbe94e5..fd0ba2fd07e9 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -1,33 +1,25 @@ -import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; - import { _InstanceType, - AddressAttribute, + ActiveInstance, + ActivityStatus, + AllocationStrategy, AllowedPrincipal, AssociationStatus, - AutoPlacement, + BatchState, CapacityReservationState, - ClientConnectOptions, - ConnectionLogOptions, CurrencyCodeValues, - EndDateType, - FleetExcessCapacityTerminationPolicy, - FleetLaunchTemplateConfigRequest, - HostRecovery, IamInstanceProfileAssociation, + IamInstanceProfileSpecification, InstanceEventWindow, - InstanceRequirementsRequest, - Placement, + IpamPoolAllocation, + IpPermission, ResourceType, - SelfServicePortal, + SecurityGroupRule, Subnet, - SubnetAssociation, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, - TargetCapacitySpecificationRequest, - TargetCapacityUnitType, - TargetConfigurationRequest, + Tenancy, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, @@ -43,485 +35,511 @@ import { VpcPeeringConnection, } from "./models_0"; import { + BlockDeviceMapping, DiskImageFormat, - DnsEntry, - PlatformValues, - ResponseLaunchTemplateData, - ShutdownBehavior, - State, - SubnetCidrReservation, + FleetLaunchTemplateSpecification, + FleetType, + GroupIdentifier, + InstanceInterruptionBehavior, + InstanceIpv6Address, + InstanceRequirements, + InstanceRequirementsRequest, + IpamResourceTag, + Ipv4PrefixSpecificationRequest, + Ipv6PrefixSpecificationRequest, + PrivateIpAddressSpecification, + RequestIpamResourceTag, + RouteTable, + Snapshot, + SnapshotState, + SpotDatafeedSubscription, + SpotInstanceStateFault, + SpotInstanceType, + StorageTier, + TargetCapacityUnitType, TrafficMirrorFilter, TrafficMirrorSession, TrafficMirrorTarget, TransitGateway, TransitGatewayConnect, - TransitGatewayConnectPeer, - TransitGatewayMulticastDomain, - TransitGatewayPrefixListReference, - TransitGatewayRouteTable, - Volume, VolumeType, - VpcEndpoint, } from "./models_1"; import { ConnectionNotification, - ConversionTask, + DnsEntry, DnsNameState, - ExportTaskS3Location, - FastSnapshotRestoreStateCode, Filter, - FpgaImageAttribute, - FpgaImageAttributeName, - PaymentOption, - PermissionGroup, - ProductCode, + IpamPoolCidr, ServiceConfiguration, ServiceTypeDetail, + State, + TransitGatewayConnectPeer, + TransitGatewayMulticastDomain, + TransitGatewayRouteTable, + Volume, + VpcEndpoint, VpnConnection, VpnGateway, } from "./models_2"; import { ArchitectureType, - ArchitectureValues, AttributeBooleanValue, - BootModeValues, - ImportImageLicenseConfigurationResponse, + EventInformation, + ExportTaskS3Location, + FastSnapshotRestoreStateCode, + OfferingClassType, + OfferingTypeValues, + PaymentOption, + PermissionGroup, + ProductCode, + RecurringCharge, + ReservedInstancesModification, RIProductDescription, - SnapshotDetail, - SnapshotTaskDetail, + Scope, VirtualizationType, } from "./models_3"; /** - *

                                                Describes the maximum price per hour that you are willing to pay for a Spot - * Instance.

                                                + *

                                                Contains the output of DescribeReservedInstancesModifications.

                                                */ -export interface SpotPrice { +export interface DescribeReservedInstancesModificationsResult { /** - *

                                                The Availability Zone.

                                                + *

                                                The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

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

                                                The instance type.

                                                + *

                                                The Reserved Instance modification information.

                                                */ - InstanceType?: _InstanceType | string; + ReservedInstancesModifications?: ReservedInstancesModification[]; +} +export namespace DescribeReservedInstancesModificationsResult { /** - *

                                                A general description of the AMI.

                                                + * @internal */ - ProductDescription?: RIProductDescription | string; + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ + ...obj, + }); +} +/** + *

                                                Contains the parameters for DescribeReservedInstancesOfferings.

                                                + */ +export interface DescribeReservedInstancesOfferingsRequest { /** - *

                                                The maximum price per hour that you are willing to pay for a Spot Instance.

                                                + *

                                                The Availability Zone in which the Reserved Instance can be used.

                                                */ - SpotPrice?: string; + AvailabilityZone?: string; /** - *

                                                The date and time the request was created, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                + *

                                                One or more filters.

                                                + *
                                                  + *
                                                • + *

                                                  + * 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).

                                                  + *
                                                • + *
                                                • + *

                                                  + * fixed-price - The purchase price of the Reserved Instance (for example, + * 9800.0).

                                                  + *
                                                • + *
                                                • + *

                                                  + * 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 Amazon Web Services 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) | Red Hat + * Enterprise Linux with HA (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).

                                                  + *
                                                • + *
                                                */ - Timestamp?: Date; -} + Filters?: Filter[]; -export namespace SpotPrice { /** - * @internal + *

                                                Include Reserved Instance Marketplace offerings in the response.

                                                */ - export const filterSensitiveLog = (obj: SpotPrice): any => ({ - ...obj, - }); -} + IncludeMarketplace?: boolean; -/** - *

                                                Contains the output of DescribeSpotPriceHistory.

                                                - */ -export interface DescribeSpotPriceHistoryResult { /** - *

                                                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 instance type that the reservation will cover (for example, m1.small). For more information, see + * Instance types in the + * Amazon EC2 User Guide.

                                                */ - NextToken?: string; + InstanceType?: _InstanceType | string; /** - *

                                                The historical Spot prices.

                                                + *

                                                The maximum duration (in seconds) to filter when searching for offerings.

                                                + *

                                                Default: 94608000 (3 years)

                                                */ - SpotPriceHistory?: SpotPrice[]; -} + MaxDuration?: number; -export namespace DescribeSpotPriceHistoryResult { /** - * @internal + *

                                                The maximum number of instances to filter when searching for offerings.

                                                + *

                                                Default: 20

                                                */ - export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryResult): any => ({ - ...obj, - }); -} + MaxInstanceCount?: number; -export interface DescribeStaleSecurityGroupsRequest { /** - *

                                                Checks whether you have the required permissions for the action, without 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 minimum duration (in seconds) to filter when searching for offerings.

                                                + *

                                                Default: 2592000 (1 month)

                                                */ - DryRun?: boolean; + MinDuration?: number; /** - *

                                                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 offering class of the Reserved Instance. Can be standard or convertible.

                                                */ - MaxResults?: number; + OfferingClass?: OfferingClassType | string; /** - *

                                                The token for the next set of items to return. (You received this token from a prior call.)

                                                + *

                                                The Reserved Instance product platform description. Instances that include (Amazon + * VPC) in the description are for use with Amazon VPC.

                                                */ - NextToken?: string; + ProductDescription?: RIProductDescription | string; /** - *

                                                The ID of the VPC.

                                                + *

                                                One or more Reserved Instances offering IDs.

                                                */ - VpcId: string | undefined; -} + ReservedInstancesOfferingIds?: string[]; -export namespace DescribeStaleSecurityGroupsRequest { /** - * @internal + *

                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                */ - export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsRequest): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

                                                Describes a stale rule in a security group.

                                                - */ -export interface StaleIpPermission { /** - *

                                                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.

                                                + *

                                                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 + *

                                                */ - FromPort?: number; + InstanceTenancy?: Tenancy | string; /** - *

                                                The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

                                                + *

                                                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

                                                */ - IpProtocol?: string; + MaxResults?: number; /** - *

                                                The IP ranges. Not applicable for stale security group rules.

                                                + *

                                                The token to retrieve the next page of results.

                                                */ - IpRanges?: string[]; + NextToken?: string; /** - *

                                                The prefix list IDs. Not applicable for stale security group rules.

                                                + *

                                                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.

                                                */ - PrefixListIds?: string[]; + OfferingType?: OfferingTypeValues | string; +} +export namespace DescribeReservedInstancesOfferingsRequest { /** - *

                                                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.

                                                + * @internal */ - ToPort?: number; + export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                Describes a Reserved Instance offering.

                                                + */ +export interface PricingDetail { /** - *

                                                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 number of reservations available for the price.

                                                */ - UserIdGroupPairs?: UserIdGroupPair[]; + Count?: number; + + /** + *

                                                The price per instance.

                                                + */ + Price?: number; } -export namespace StaleIpPermission { +export namespace PricingDetail { /** * @internal */ - export const filterSensitiveLog = (obj: StaleIpPermission): any => ({ + export const filterSensitiveLog = (obj: PricingDetail): any => ({ ...obj, }); } /** - *

                                                Describes a stale security group (a security group that contains stale rules).

                                                + *

                                                Describes a Reserved Instance offering.

                                                */ -export interface StaleSecurityGroup { +export interface ReservedInstancesOffering { /** - *

                                                The description of the security group.

                                                + *

                                                The Availability Zone in which the Reserved Instance can be used.

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

                                                The ID of the security group.

                                                + *

                                                The duration of the Reserved Instance, in seconds.

                                                */ - GroupId?: string; + Duration?: number; /** - *

                                                The name of the security group.

                                                + *

                                                The purchase price of the Reserved Instance.

                                                */ - GroupName?: string; + FixedPrice?: number; /** - *

                                                Information about the stale inbound rules in the security group.

                                                + *

                                                The instance type on which the Reserved Instance can be used.

                                                */ - StaleIpPermissions?: StaleIpPermission[]; + InstanceType?: _InstanceType | string; /** - *

                                                Information about the stale outbound rules in the security group.

                                                + *

                                                The Reserved Instance product platform description.

                                                */ - StaleIpPermissionsEgress?: StaleIpPermission[]; + ProductDescription?: RIProductDescription | string; /** - *

                                                The ID of the VPC for the security group.

                                                + *

                                                The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote + * to confirm that an exchange can be made.

                                                */ - VpcId?: string; -} + ReservedInstancesOfferingId?: string; -export namespace StaleSecurityGroup { /** - * @internal + *

                                                The usage price of the Reserved Instance, per hour.

                                                */ - export const filterSensitiveLog = (obj: StaleSecurityGroup): any => ({ - ...obj, - }); -} + UsagePrice?: number; -export interface DescribeStaleSecurityGroupsResult { /** - *

                                                The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                + *

                                                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.

                                                */ - NextToken?: string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                Information about the stale security groups.

                                                + *

                                                The tenancy of the instance.

                                                */ - StaleSecurityGroupSet?: StaleSecurityGroup[]; -} + InstanceTenancy?: Tenancy | string; -export namespace DescribeStaleSecurityGroupsResult { /** - * @internal + *

                                                Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. + * If it's a Reserved Instance Marketplace offering, this is true.

                                                */ - export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsResult): any => ({ - ...obj, - }); -} + Marketplace?: boolean; -export interface DescribeStoreImageTasksRequest { /** - *

                                                The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

                                                + *

                                                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.

                                                */ - ImageIds?: string[]; + OfferingClass?: OfferingClassType | 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 Reserved Instance offering type.

                                                */ - DryRun?: boolean; + OfferingType?: OfferingTypeValues | string; /** - *

                                                The filters.

                                                - *
                                                  - *
                                                • - *

                                                  - * task-state - Returns tasks in a certain state (InProgress | - * Completed | Failed)

                                                  - *
                                                • - *
                                                • - *

                                                  - * bucket - Returns task information for tasks that targeted a specific - * bucket. For the filter value, specify the bucket name.

                                                  - *
                                                • - *
                                                + *

                                                The pricing details of the Reserved Instance offering.

                                                */ - Filters?: Filter[]; + PricingDetails?: PricingDetail[]; /** - *

                                                The token for the next page of results.

                                                + *

                                                The recurring charge tag assigned to the resource.

                                                */ - NextToken?: string; + RecurringCharges?: RecurringCharge[]; /** - *

                                                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. You cannot specify this parameter and the ImageIDs parameter - * in the same call.

                                                + *

                                                Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

                                                */ - MaxResults?: number; + Scope?: Scope | string; } -export namespace DescribeStoreImageTasksRequest { +export namespace ReservedInstancesOffering { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeStoreImageTasksRequest): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesOffering): any => ({ ...obj, }); } /** - *

                                                The information about the AMI store task, including the progress of the task.

                                                + *

                                                Contains the output of DescribeReservedInstancesOfferings.

                                                */ -export interface StoreImageTaskResult { - /** - *

                                                The ID of the AMI that is being stored.

                                                - */ - AmiId?: string; - - /** - *

                                                The time the task started.

                                                - */ - TaskStartTime?: Date; - +export interface DescribeReservedInstancesOfferingsResult { /** - *

                                                The name of the Amazon S3 bucket that contains the stored AMI object.

                                                + *

                                                A list of Reserved Instances offerings.

                                                */ - Bucket?: string; + ReservedInstancesOfferings?: ReservedInstancesOffering[]; /** - *

                                                The name of the stored AMI object in the bucket.

                                                + *

                                                The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

                                                */ - S3objectKey?: string; + NextToken?: string; +} +export namespace DescribeReservedInstancesOfferingsResult { /** - *

                                                The progress of the task as a percentage.

                                                + * @internal */ - ProgressPercentage?: number; + export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsResult): any => ({ + ...obj, + }); +} - /** - *

                                                The state of the store task (InProgress, Completed, or - * Failed).

                                                - */ - StoreTaskState?: string; - - /** - *

                                                If the tasks fails, the reason for the failure is returned. If the task succeeds, - * null is returned.

                                                - */ - StoreTaskFailureReason?: string; -} - -export namespace StoreImageTaskResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StoreImageTaskResult): any => ({ - ...obj, - }); -} - -export interface DescribeStoreImageTasksResult { - /** - *

                                                The information about the AMI store tasks.

                                                - */ - StoreImageTaskResults?: StoreImageTaskResult[]; - - /** - *

                                                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 DescribeStoreImageTasksResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeStoreImageTasksResult): any => ({ - ...obj, - }); -} - -export interface DescribeSubnetsRequest { +export interface DescribeRouteTablesRequest { /** *

                                                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 (true | false). You can also use - * defaultForAz as the filter name.

                                                  - *
                                                • + *
                                                    *
                                                  • - *

                                                    - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the subnet.

                                                    - *
                                                  • + *

                                                    + * association.route-table-association-id - The ID of an association + * ID for the route table.

                                                    + * *
                                                  • - *

                                                    - * ipv6-cidr-block-association.association-id - An association ID - * for an IPv6 CIDR block associated with the subnet.

                                                    - *
                                                  • + *

                                                    + * association.route-table-id - The ID of the route table involved in + * the association.

                                                    + * *
                                                  • - *

                                                    - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the subnet.

                                                    - *
                                                  • + *

                                                    + * association.subnet-id - The ID of the subnet involved in the + * association.

                                                    + * *
                                                  • - *

                                                    - * ipv6-native - Indicates whether this is an IPv6 only subnet (true | false).

                                                    - *
                                                  • + *

                                                    + * 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.

                                                    + * *
                                                  • - *

                                                    - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                                    - *
                                                  • + *

                                                    + * owner-id - The ID of the Amazon Web Services account that owns the route table.

                                                    + * *
                                                  • - *

                                                    - * owner-id - The ID of the Amazon Web Services account that owns the subnet.

                                                    - *
                                                  • + *

                                                    + * route-table-id - The ID of the route table.

                                                    + * *
                                                  • - *

                                                    - * state - The state of the subnet (pending | available).

                                                    - *
                                                  • + *

                                                    + * route.destination-cidr-block - The IPv4 CIDR range specified in a + * route in the table.

                                                    + * *
                                                  • - *

                                                    - * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

                                                    - *
                                                  • + *

                                                    + * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

                                                    + * *
                                                  • - *

                                                    - * subnet-id - The ID of the subnet.

                                                    - *
                                                  • + *

                                                    + * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web 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 subnet.

                                                    - *
                                                  • + *

                                                    + * vpc-id - The ID of the VPC for the route table.

                                                    + * *
                                                  */ Filters?: Filter[]; - /** - *

                                                  One or more subnet IDs.

                                                  - *

                                                  Default: Describes all your subnets.

                                                  - */ - SubnetIds?: 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. @@ -529,6 +547,12 @@ export interface DescribeSubnetsRequest { */ DryRun?: boolean; + /** + *

                                                  One or more route table IDs.

                                                  + *

                                                  Default: Describes all your route tables.

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

                                                  The token for the next page of results.

                                                  */ @@ -541,20 +565,23 @@ export interface DescribeSubnetsRequest { MaxResults?: number; } -export namespace DescribeSubnetsRequest { +export namespace DescribeRouteTablesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSubnetsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeRouteTablesRequest): any => ({ ...obj, }); } -export interface DescribeSubnetsResult { +/** + *

                                                  Contains the output of DescribeRouteTables.

                                                  + */ +export interface DescribeRouteTablesResult { /** - *

                                                  Information about one or more subnets.

                                                  + *

                                                  Information about one or more route tables.

                                                  */ - Subnets?: Subnet[]; + RouteTables?: RouteTable[]; /** *

                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                  @@ -562,136 +589,86 @@ export interface DescribeSubnetsResult { NextToken?: string; } -export namespace DescribeSubnetsResult { +export namespace DescribeRouteTablesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSubnetsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeRouteTablesResult): any => ({ ...obj, }); } -export interface DescribeTagsRequest { - /** - *

                                                  Checks whether you have the required permissions for the action, without 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.

                                                  - *
                                                    - *
                                                  • - *

                                                    - * 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[]; - +/** + *

                                                  Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

                                                  + */ +export interface SlotDateTimeRangeRequest { /** - *

                                                  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 earliest date and time, in UTC, for the Scheduled Instance to start.

                                                  */ - MaxResults?: number; + EarliestTime: Date | undefined; /** - *

                                                  The token to retrieve the next page of results.

                                                  + *

                                                  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.

                                                  */ - NextToken?: string; + LatestTime: Date | undefined; } -export namespace DescribeTagsRequest { +export namespace SlotDateTimeRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTagsRequest): any => ({ + export const filterSensitiveLog = (obj: SlotDateTimeRangeRequest): any => ({ ...obj, }); } /** - *

                                                  Describes a tag.

                                                  + *

                                                  Describes the recurring schedule for a Scheduled Instance.

                                                  */ -export interface TagDescription { - /** - *

                                                  The tag key.

                                                  - */ - Key?: string; - - /** - *

                                                  The ID of the resource.

                                                  - */ - ResourceId?: string; - +export interface ScheduledInstanceRecurrenceRequest { /** - *

                                                  The resource type.

                                                  + *

                                                  The frequency (Daily, Weekly, or Monthly).

                                                  */ - ResourceType?: ResourceType | string; + Frequency?: string; /** - *

                                                  The tag value.

                                                  + *

                                                  The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 + * weeks or every 2 months.

                                                  */ - Value?: string; -} + Interval?: number; -export namespace TagDescription { /** - * @internal + *

                                                  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.

                                                  */ - export const filterSensitiveLog = (obj: TagDescription): any => ({ - ...obj, - }); -} + OccurrenceDays?: number[]; -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.

                                                  + *

                                                  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.

                                                  */ - NextToken?: string; + OccurrenceRelativeToEnd?: boolean; /** - *

                                                  The tags.

                                                  + *

                                                  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.

                                                  */ - Tags?: TagDescription[]; + OccurrenceUnit?: string; } -export namespace DescribeTagsResult { +export namespace ScheduledInstanceRecurrenceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTagsResult): any => ({ + export const filterSensitiveLog = (obj: ScheduledInstanceRecurrenceRequest): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorFiltersRequest { - /** - *

                                                  The ID of the Traffic Mirror filter.

                                                  - */ - TrafficMirrorFilterIds?: string[]; - +/** + *

                                                  Contains the parameters for DescribeScheduledInstanceAvailability.

                                                  + */ +export interface DescribeScheduledInstanceAvailabilityRequest { /** *

                                                  Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -700,463 +677,519 @@ export interface DescribeTrafficMirrorFiltersRequest { DryRun?: boolean; /** - *

                                                  One or more filters. The possible values are:

                                                  + *

                                                  The filters.

                                                  *
                                                    *
                                                  • *

                                                    - * description: The Traffic Mirror filter description.

                                                    + * availability-zone - The Availability Zone (for example, us-west-2a).

                                                    *
                                                  • *
                                                  • *

                                                    - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                    + * 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).

                                                    *
                                                  • *
                                                  */ 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 time period for the first schedule to start.

                                                  */ - MaxResults?: number; + FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; /** - *

                                                  The token for the next page of results.

                                                  + *

                                                  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.

                                                  */ - NextToken?: string; -} + MaxResults?: number; -export namespace DescribeTrafficMirrorFiltersRequest { /** - * @internal + *

                                                  The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours + * and less than 1,720.

                                                  */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersRequest): any => ({ - ...obj, - }); -} + MaxSlotDurationInHours?: number; -export interface DescribeTrafficMirrorFiltersResult { /** - *

                                                  Information about one or more Traffic Mirror filters.

                                                  + *

                                                  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.

                                                  */ - TrafficMirrorFilters?: TrafficMirrorFilter[]; + MinSlotDurationInHours?: number; /** - *

                                                  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; + + /** + *

                                                  The schedule recurrence.

                                                  + */ + Recurrence: ScheduledInstanceRecurrenceRequest | undefined; } -export namespace DescribeTrafficMirrorFiltersResult { +export namespace DescribeScheduledInstanceAvailabilityRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersResult): any => ({ + export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityRequest): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorSessionsRequest { +/** + *

                                                  Describes the recurring schedule for a Scheduled Instance.

                                                  + */ +export interface ScheduledInstanceRecurrence { /** - *

                                                  The ID of the Traffic Mirror session.

                                                  + *

                                                  The frequency (Daily, Weekly, or Monthly).

                                                  */ - TrafficMirrorSessionIds?: string[]; + Frequency?: 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 interval quantity. The interval unit depends on the value of frequency. For example, every 2 + * weeks or every 2 months.

                                                  */ - DryRun?: boolean; + Interval?: number; /** - *

                                                  One or more filters. The possible values are:

                                                  - *
                                                    - *
                                                  • - *

                                                    - * 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.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * traffic-mirror-session-id: The ID of the Traffic Mirror session.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * virtual-network-id: The virtual network ID of the Traffic Mirror session.

                                                    - *
                                                  • - *
                                                  + *

                                                  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).

                                                  */ - Filters?: Filter[]; + OccurrenceDaySet?: 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.

                                                  + *

                                                  Indicates whether the occurrence is relative to the end of the specified week or month.

                                                  */ - MaxResults?: number; + OccurrenceRelativeToEnd?: boolean; /** - *

                                                  The token for the next page of results.

                                                  + *

                                                  The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

                                                  */ - NextToken?: string; + OccurrenceUnit?: string; } -export namespace DescribeTrafficMirrorSessionsRequest { +export namespace ScheduledInstanceRecurrence { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsRequest): any => ({ + export const filterSensitiveLog = (obj: ScheduledInstanceRecurrence): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorSessionsResult { +/** + *

                                                  Describes a schedule that is available for your Scheduled Instances.

                                                  + */ +export interface ScheduledInstanceAvailability { /** - *

                                                  Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

                                                  + *

                                                  The Availability Zone.

                                                  */ - TrafficMirrorSessions?: TrafficMirrorSession[]; + AvailabilityZone?: string; /** - *

                                                  The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                  + *

                                                  The number of available instances.

                                                  */ - NextToken?: string; -} + AvailableInstanceCount?: number; -export namespace DescribeTrafficMirrorSessionsResult { /** - * @internal + *

                                                  The time period for the first schedule to start.

                                                  */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsResult): any => ({ - ...obj, - }); -} + FirstSlotStartTime?: Date; -export interface DescribeTrafficMirrorTargetsRequest { /** - *

                                                  The ID of the Traffic Mirror targets.

                                                  + *

                                                  The hourly price for a single instance.

                                                  */ - TrafficMirrorTargetIds?: string[]; + HourlyPrice?: 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 type. You can specify one of the C3, C4, M4, or R3 instance types.

                                                  */ - DryRun?: boolean; + InstanceType?: 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.

                                                    - *
                                                  • - *
                                                  + *

                                                  The maximum term. The only possible value is 365 days.

                                                  */ - Filters?: Filter[]; + MaxTermDurationInDays?: 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 minimum term. The only possible value is 365 days.

                                                  */ - MaxResults?: number; + MinTermDurationInDays?: number; /** - *

                                                  The token for the next page of results.

                                                  + *

                                                  The network platform (EC2-Classic or EC2-VPC).

                                                  + */ + NetworkPlatform?: string; + + /** + *

                                                  The platform (Linux/UNIX or Windows).

                                                  + */ + Platform?: string; + + /** + *

                                                  The purchase token. This token expires in two hours.

                                                  + */ + PurchaseToken?: string; + + /** + *

                                                  The schedule recurrence.

                                                  + */ + Recurrence?: ScheduledInstanceRecurrence; + + /** + *

                                                  The number of hours in the schedule.

                                                  + */ + SlotDurationInHours?: number; + + /** + *

                                                  The total number of hours for a single instance for the entire term.

                                                  + */ + TotalScheduledInstanceHours?: number; +} + +export namespace ScheduledInstanceAvailability { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstanceAvailability): any => ({ + ...obj, + }); +} + +/** + *

                                                  Contains the output of DescribeScheduledInstanceAvailability.

                                                  + */ +export interface DescribeScheduledInstanceAvailabilityResult { + /** + *

                                                  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 available Scheduled Instances.

                                                  + */ + ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; } -export namespace DescribeTrafficMirrorTargetsRequest { +export namespace DescribeScheduledInstanceAvailabilityResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityResult): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorTargetsResult { +/** + *

                                                  Describes the time period for a Scheduled Instance to start its first schedule.

                                                  + */ +export interface SlotStartTimeRangeRequest { /** - *

                                                  Information about one or more Traffic Mirror targets.

                                                  + *

                                                  The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                  */ - TrafficMirrorTargets?: TrafficMirrorTarget[]; + EarliestTime?: Date; /** - *

                                                  The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                  + *

                                                  The latest date and time, in UTC, for the Scheduled Instance to start.

                                                  */ - NextToken?: string; + LatestTime?: Date; } -export namespace DescribeTrafficMirrorTargetsResult { +export namespace SlotStartTimeRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsResult): any => ({ + export const filterSensitiveLog = (obj: SlotStartTimeRangeRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayAttachmentsRequest { +/** + *

                                                  Contains the parameters for DescribeScheduledInstances.

                                                  + */ +export interface DescribeScheduledInstancesRequest { /** - *

                                                  The IDs of the attachments.

                                                  + *

                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                  */ - TransitGatewayAttachmentIds?: string[]; + DryRun?: boolean; /** - *

                                                  One or more filters. The possible values are:

                                                  + *

                                                  The filters.

                                                  *
                                                    *
                                                  • *

                                                    - * 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 Amazon Web Services account that owns the resource.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                    + * availability-zone - The Availability Zone (for example, us-west-2a).

                                                    *
                                                  • *
                                                  • *

                                                    - * transit-gateway-attachment-id - The ID of the attachment.

                                                    + * instance-type - The instance type (for example, c4.large).

                                                    *
                                                  • *
                                                  • *

                                                    - * transit-gateway-id - The ID of the transit gateway.

                                                    + * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                    *
                                                  • *
                                                  • *

                                                    - * transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                    + * platform - The platform (Linux/UNIX or Windows).

                                                    *
                                                  • *
                                                  */ 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 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; /** - *

                                                  The token for the next page of results.

                                                  + *

                                                  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.

                                                  + *

                                                  The Scheduled Instance IDs.

                                                  */ - DryRun?: boolean; + ScheduledInstanceIds?: string[]; + + /** + *

                                                  The time period for the first schedule to start.

                                                  + */ + SlotStartTimeRange?: SlotStartTimeRangeRequest; } -export namespace DescribeTransitGatewayAttachmentsRequest { +export namespace DescribeScheduledInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeScheduledInstancesRequest): any => ({ ...obj, }); } /** - *

                                                  Describes an association.

                                                  + *

                                                  Describes a Scheduled Instance.

                                                  */ -export interface TransitGatewayAttachmentAssociation { +export interface ScheduledInstance { /** - *

                                                  The ID of the route table for the transit gateway.

                                                  + *

                                                  The Availability Zone.

                                                  */ - TransitGatewayRouteTableId?: string; + AvailabilityZone?: string; /** - *

                                                  The state of the association.

                                                  + *

                                                  The date when the Scheduled Instance was purchased.

                                                  */ - State?: TransitGatewayAssociationState | string; -} + CreateDate?: Date; -export namespace TransitGatewayAttachmentAssociation { /** - * @internal + *

                                                  The hourly price for a single instance.

                                                  */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentAssociation): any => ({ - ...obj, - }); -} + HourlyPrice?: string; -/** - *

                                                  Describes an attachment between a resource and a transit gateway.

                                                  - */ -export interface TransitGatewayAttachment { /** - *

                                                  The ID of the attachment.

                                                  + *

                                                  The number of instances.

                                                  */ - TransitGatewayAttachmentId?: string; + InstanceCount?: number; /** - *

                                                  The ID of the transit gateway.

                                                  + *

                                                  The instance type.

                                                  */ - TransitGatewayId?: string; + InstanceType?: string; /** - *

                                                  The ID of the Amazon Web Services account that owns the transit gateway.

                                                  + *

                                                  The network platform (EC2-Classic or EC2-VPC).

                                                  */ - TransitGatewayOwnerId?: string; + NetworkPlatform?: string; /** - *

                                                  The ID of the Amazon Web Services account that owns the resource.

                                                  + *

                                                  The time for the next schedule to start.

                                                  */ - ResourceOwnerId?: string; + NextSlotStartTime?: Date; /** - *

                                                  The resource type. Note that the tgw-peering resource type has been deprecated.

                                                  + *

                                                  The platform (Linux/UNIX or Windows).

                                                  */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Platform?: string; /** - *

                                                  The ID of the resource.

                                                  + *

                                                  The time that the previous schedule ended or will end.

                                                  */ - ResourceId?: string; + PreviousSlotEndTime?: Date; /** - *

                                                  The attachment state. Note that the initiating state has been deprecated.

                                                  + *

                                                  The schedule recurrence.

                                                  */ - State?: TransitGatewayAttachmentState | string; + Recurrence?: ScheduledInstanceRecurrence; /** - *

                                                  The association.

                                                  + *

                                                  The Scheduled Instance ID.

                                                  */ - Association?: TransitGatewayAttachmentAssociation; + ScheduledInstanceId?: string; /** - *

                                                  The creation time.

                                                  + *

                                                  The number of hours in the schedule.

                                                  */ - CreationTime?: Date; + SlotDurationInHours?: number; /** - *

                                                  The tags for the attachment.

                                                  + *

                                                  The end date for the Scheduled Instance.

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

                                                  The start date for the Scheduled Instance.

                                                  + */ + TermStartDate?: Date; + + /** + *

                                                  The total number of hours for a single instance for the entire term.

                                                  + */ + TotalScheduledInstanceHours?: number; } -export namespace TransitGatewayAttachment { +export namespace ScheduledInstance { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAttachment): any => ({ + export const filterSensitiveLog = (obj: ScheduledInstance): any => ({ ...obj, }); } -export interface DescribeTransitGatewayAttachmentsResult { - /** - *

                                                  Information about the attachments.

                                                  +/** + *

                                                  Contains the output of DescribeScheduledInstances.

                                                  + */ +export interface DescribeScheduledInstancesResult { + /** + *

                                                  The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                  */ - TransitGatewayAttachments?: TransitGatewayAttachment[]; + 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 Scheduled Instances.

                                                  */ - NextToken?: string; + ScheduledInstanceSet?: ScheduledInstance[]; } -export namespace DescribeTransitGatewayAttachmentsResult { +export namespace DescribeScheduledInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeScheduledInstancesResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayConnectPeersRequest { +export interface DescribeSecurityGroupReferencesRequest { /** - *

                                                  The IDs of the Connect peers.

                                                  + *

                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                  */ - TransitGatewayConnectPeerIds?: string[]; + DryRun?: boolean; /** - *

                                                  One or more filters. The possible values are:

                                                  + *

                                                  The IDs of the security groups in your account.

                                                  + */ + GroupId: string[] | undefined; +} + +export namespace DescribeSecurityGroupReferencesRequest { + /** + * @internal + */ + 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.

                                                  + */ + GroupId?: string; + + /** + *

                                                  The ID of the VPC with the referencing security group.

                                                  + */ + ReferencingVpcId?: string; + + /** + *

                                                  The ID of the VPC peering connection.

                                                  + */ + VpcPeeringConnectionId?: string; +} + +export namespace SecurityGroupReference { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityGroupReference): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityGroupReferencesResult { + /** + *

                                                  Information about the VPCs with the referencing security groups.

                                                  + */ + SecurityGroupReferenceSet?: SecurityGroupReference[]; +} + +export namespace DescribeSecurityGroupReferencesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesResult): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityGroupRulesRequest { + /** + *

                                                  One or more filters.

                                                  *
                                                    *
                                                  • - *

                                                    - * state - The state of the Connect peer (pending | - * available | deleting | - * deleted).

                                                    + *

                                                    + * group-id - The ID of the security group.

                                                    *
                                                  • *
                                                  • - *

                                                    - * transit-gateway-attachment-id - The ID of the attachment.

                                                    + *

                                                    + * security-group-rule-id - The ID of the security group rule.

                                                    *
                                                  • *
                                                  • *

                                                    - * transit-gateway-connect-peer-id - The ID of the Connect peer.

                                                    + * 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.

                                                    *
                                                  • *
                                                  */ 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 IDs of the security group rules.

                                                  */ - MaxResults?: number; + SecurityGroupRuleIds?: 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.

                                                  @@ -1164,92 +1197,185 @@ export interface DescribeTransitGatewayConnectPeersRequest { 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 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.

                                                  */ - DryRun?: boolean; + MaxResults?: number; } -export namespace DescribeTransitGatewayConnectPeersRequest { +export namespace DescribeSecurityGroupRulesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayConnectPeersResult { +export interface DescribeSecurityGroupRulesResult { /** - *

                                                  Information about the Connect peers.

                                                  + *

                                                  Information about security group rules.

                                                  */ - TransitGatewayConnectPeers?: TransitGatewayConnectPeer[]; + SecurityGroupRules?: SecurityGroupRule[]; /** - *

                                                  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 DescribeTransitGatewayConnectPeersResult { +export namespace DescribeSecurityGroupRulesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayConnectsRequest { - /** - *

                                                  The IDs of the attachments.

                                                  - */ - TransitGatewayAttachmentIds?: string[]; - +export interface DescribeSecurityGroupsRequest { /** - *

                                                  One or more filters. The possible values are:

                                                  - *
                                                    + *

                                                    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.

                                                    + *
                                                      *
                                                    • *

                                                      - * options.protocol - The tunnel protocol (gre).

                                                      + * 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 is 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, a protocol number, or -1 for all protocols).

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * 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 Amazon Web Services account that + * has been referenced in an outbound security group rule.

                                                      *
                                                    • *
                                                    • *

                                                      - * state - The state of the attachment (initiating | - * initiatingRequest | pendingAcceptance | - * rollingBack | pending | available | - * modifying | deleting | deleted | - * failed | rejected | rejecting | - * failing).

                                                      + * 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 is + * referenced in an inbound security group rule.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security + * group rule.

                                                      *
                                                    • *
                                                    • *

                                                      - * transit-gateway-attachment-id - The ID of the - * Connect attachment.

                                                      + * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

                                                      *
                                                    • *
                                                    • *

                                                      - * transit-gateway-id - The ID of the transit gateway.

                                                      + * ip-permission.protocol - The IP protocol for an inbound security + * group rule (tcp | udp | icmp, a + * protocol number, or -1 for all protocols).

                                                      *
                                                    • *
                                                    • *

                                                      - * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

                                                      + * 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 Amazon Web Services account that has been + * referenced in an inbound security group rule.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * owner-id - The Amazon Web Services 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.

                                                      *
                                                    • *
                                                    */ 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 IDs of the security groups. Required for security groups in a nondefault VPC.

                                                    + *

                                                    Default: Describes all of your security groups.

                                                    */ - MaxResults?: number; + GroupIds?: string[]; /** - *

                                                    The token for the next page of results.

                                                    + *

                                                    [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 of your security groups.

                                                    */ - NextToken?: string; + GroupNames?: string[]; /** *

                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -1257,96 +1383,89 @@ export interface DescribeTransitGatewayConnectsRequest { * 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 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.

                                                    + */ + MaxResults?: number; } -export namespace DescribeTransitGatewayConnectsRequest { +export namespace DescribeSecurityGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSecurityGroupsRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayConnectsResult { +/** + *

                                                    Describes a security group.

                                                    + */ +export interface SecurityGroup { /** - *

                                                    Information about the Connect attachments.

                                                    + *

                                                    A description of the security group.

                                                    */ - TransitGatewayConnects?: TransitGatewayConnect[]; + 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 name of the security group.

                                                    */ - NextToken?: string; -} + GroupName?: string; -export namespace DescribeTransitGatewayConnectsResult { /** - * @internal + *

                                                    The inbound rules associated with the security group.

                                                    */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsResult): any => ({ - ...obj, - }); -} + IpPermissions?: IpPermission[]; -export interface DescribeTransitGatewayMulticastDomainsRequest { /** - *

                                                    The ID of the transit gateway multicast domain.

                                                    + *

                                                    The Amazon Web Services account ID of the owner of the security group.

                                                    */ - TransitGatewayMulticastDomainIds?: string[]; + OwnerId?: string; /** - *

                                                    One or more filters. The possible values are:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * transit-gateway-id - The ID of the transit gateway.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

                                                      - *
                                                    • - *
                                                    + *

                                                    The ID of the security group.

                                                    */ - Filters?: Filter[]; + GroupId?: 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.

                                                    + *

                                                    [VPC only] The outbound rules associated with the security group.

                                                    */ - MaxResults?: number; + IpPermissionsEgress?: IpPermission[]; /** - *

                                                    The token for the next page of results.

                                                    + *

                                                    Any tags assigned to the security group.

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

                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                    + *

                                                    [VPC only] The ID of the VPC for the security group.

                                                    */ - DryRun?: boolean; + VpcId?: string; } -export namespace DescribeTransitGatewayMulticastDomainsRequest { +export namespace SecurityGroup { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsRequest): any => ({ + export const filterSensitiveLog = (obj: SecurityGroup): any => ({ ...obj, }); } -export interface DescribeTransitGatewayMulticastDomainsResult { +export interface DescribeSecurityGroupsResult { /** - *

                                                    Information about the transit gateway multicast domains.

                                                    + *

                                                    Information about the security groups.

                                                    */ - TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; + SecurityGroups?: SecurityGroup[]; /** *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    @@ -1354,67 +1473,27 @@ export interface DescribeTransitGatewayMulticastDomainsResult { NextToken?: string; } -export namespace DescribeTransitGatewayMulticastDomainsResult { +export namespace DescribeSecurityGroupsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSecurityGroupsResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayPeeringAttachmentsRequest { +export type SnapshotAttributeName = "createVolumePermission" | "productCodes"; + +export interface DescribeSnapshotAttributeRequest { /** - *

                                                    One or more IDs of the transit gateway peering attachments.

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

                                                    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 Amazon Web Services account.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * remote-owner-id - The ID of the Amazon Web Services 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).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * 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.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * transit-gateway-id - The ID of the transit gateway.

                                                      - *
                                                    • - *
                                                    - */ - 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 snapshot attribute you would like to view.

                                                    */ - MaxResults?: number; + Attribute: SnapshotAttributeName | string | undefined; /** - *

                                                    The token for the next page of results.

                                                    + *

                                                    The ID of the EBS snapshot.

                                                    */ - NextToken?: string; + SnapshotId: string | undefined; /** *

                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -1424,190 +1503,175 @@ export interface DescribeTransitGatewayPeeringAttachmentsRequest { DryRun?: boolean; } -export namespace DescribeTransitGatewayPeeringAttachmentsRequest { +export namespace DescribeSnapshotAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSnapshotAttributeRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayPeeringAttachmentsResult { +/** + *

                                                    Describes the user or group to be added or removed from the list of create volume + * permissions for a volume.

                                                    + */ +export interface CreateVolumePermission { /** - *

                                                    The transit gateway peering attachments.

                                                    + *

                                                    The group to be added or removed. The possible value is all.

                                                    */ - TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; + Group?: PermissionGroup | 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 ID of the Amazon Web Services account to be added or removed.

                                                    */ - NextToken?: string; + UserId?: string; } -export namespace DescribeTransitGatewayPeeringAttachmentsResult { +export namespace CreateVolumePermission { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsResult): any => ({ + export const filterSensitiveLog = (obj: CreateVolumePermission): any => ({ ...obj, }); } -export interface DescribeTransitGatewayRouteTablesRequest { - /** - *

                                                    The IDs of the transit gateway route tables.

                                                    - */ - TransitGatewayRouteTableIds?: 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 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.

                                                      - *
                                                    • - *
                                                    - */ - 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; - - /** - *

                                                    Checks whether you have the required permissions for the action, without 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 DescribeTransitGatewayRouteTablesRequest { +export interface DescribeSnapshotAttributeResult { /** - * @internal + *

                                                    The users and groups that have the permissions for creating volumes from the + * snapshot.

                                                    */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesRequest): any => ({ - ...obj, - }); -} + CreateVolumePermissions?: CreateVolumePermission[]; -export interface DescribeTransitGatewayRouteTablesResult { /** - *

                                                    Information about the transit gateway route tables.

                                                    + *

                                                    The product codes.

                                                    */ - TransitGatewayRouteTables?: TransitGatewayRouteTable[]; + 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 EBS snapshot.

                                                    */ - NextToken?: string; + SnapshotId?: string; } -export namespace DescribeTransitGatewayRouteTablesResult { +export namespace DescribeSnapshotAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSnapshotAttributeResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewaysRequest { - /** - *

                                                    The IDs of the transit gateways.

                                                    - */ - TransitGatewayIds?: string[]; - +export interface DescribeSnapshotsRequest { /** - *

                                                    One or more filters. The possible values are:

                                                    + *

                                                    The filters.

                                                    *
                                                      *
                                                    • *

                                                      - * options.propagation-default-route-table-id - The ID of the default propagation route table.

                                                      + * description - A description of the snapshot.

                                                      *
                                                    • *
                                                    • *

                                                      - * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

                                                      + * encrypted - Indicates whether the snapshot is encrypted + * (true | false)

                                                      *
                                                    • *
                                                    • *

                                                      - * options.association-default-route-table-id - The ID of the default association route table.

                                                      + * owner-alias - The owner alias, from an Amazon-maintained list + * (amazon). + * This is not the user-configured Amazon Web Services account alias set using the IAM console. + * We recommend that you use the related parameter instead of this filter.

                                                      *
                                                    • *
                                                    • *

                                                      - * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

                                                      + * owner-id - The Amazon Web Services account ID of the owner. We recommend that + * you use the related parameter instead of this filter.

                                                      *
                                                    • *
                                                    • *

                                                      - * options.default-route-table-association - Indicates whether resource attachments are automatically - * associated with the default association route table (enable | disable).

                                                      + * progress - The progress of the snapshot, as a percentage (for example, + * 80%).

                                                      *
                                                    • *
                                                    • *

                                                      - * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate - * routes to the default propagation route table (enable | disable).

                                                      + * snapshot-id - The snapshot ID.

                                                      *
                                                    • *
                                                    • *

                                                      - * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

                                                      + * start-time - The time stamp when the snapshot was initiated.

                                                      *
                                                    • *
                                                    • *

                                                      - * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

                                                      + * status - The status of the snapshot (pending | + * completed | error).

                                                      *
                                                    • *
                                                    • *

                                                      - * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                      + * storage-tier - The storage tier of the snapshot (archive | + * standard).

                                                      *
                                                    • *
                                                    • *

                                                      - * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

                                                      + * 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.

                                                      *
                                                    • *
                                                    • *

                                                      - * transit-gateway-id - The ID of the transit 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.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * volume-id - The ID of the volume the snapshot is for.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * volume-size - The size of the volume, in GiB.

                                                      *
                                                    • *
                                                    */ 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 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 1,000; if MaxResults is given a value larger than 1,000, + * only 1,000 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 token for the next page of results.

                                                    + *

                                                    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; + /** + *

                                                    Scopes the results to snapshots with the specified owners. You can specify a combination of + * Amazon Web Services account IDs, self, and amazon.

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

                                                    The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

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

                                                    The snapshot IDs.

                                                    + *

                                                    Default: Describes the snapshots for which you have create volume permissions.

                                                    + */ + SnapshotIds?: 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. @@ -1616,70 +1680,66 @@ export interface DescribeTransitGatewaysRequest { DryRun?: boolean; } -export namespace DescribeTransitGatewaysRequest { +export namespace DescribeSnapshotsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewaysResult { +export interface DescribeSnapshotsResult { /** - *

                                                    Information about the transit gateways.

                                                    + *

                                                    Information about the snapshots.

                                                    */ - TransitGateways?: TransitGateway[]; + Snapshots?: Snapshot[]; /** - *

                                                    The token to use 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 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 DescribeTransitGatewaysResult { +export namespace DescribeSnapshotsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSnapshotsResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayVpcAttachmentsRequest { - /** - *

                                                    The IDs of the attachments.

                                                    - */ - TransitGatewayAttachmentIds?: string[]; - +export interface DescribeSnapshotTierStatusRequest { /** - *

                                                    One or more filters. The possible values are:

                                                    + *

                                                    The filters.

                                                    *
                                                      *
                                                    • *

                                                      - * 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.

                                                      + * snapshot-id - The snapshot ID.

                                                      *
                                                    • *
                                                    • *

                                                      - * transit-gateway-id - The ID of the transit gateway.

                                                      + * volume-id - The ID of the volume the snapshot is for.

                                                      *
                                                    • *
                                                    • *

                                                      - * vpc-id - The ID of the VPC.

                                                      + * last-tiering-operation - The state of the last archive or restore action. (archiving | archival_error | + * archival_complete | restoring | restore_error | restore_complete)

                                                      *
                                                    • *
                                                    */ 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.

                                                    + *

                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                    */ - MaxResults?: number; + DryRun?: boolean; /** *

                                                    The token for the next page of results.

                                                    @@ -1687,97 +1747,116 @@ export interface DescribeTransitGatewayVpcAttachmentsRequest { 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 maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                    */ - DryRun?: boolean; + MaxResults?: number; } -export namespace DescribeTransitGatewayVpcAttachmentsRequest { +export namespace DescribeSnapshotTierStatusRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSnapshotTierStatusRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayVpcAttachmentsResult { +export enum TieringOperationStatus { + archival_completed = "archival-completed", + archival_failed = "archival-failed", + archival_in_progress = "archival-in-progress", + permanent_restore_completed = "permanent-restore-completed", + permanent_restore_failed = "permanent-restore-failed", + permanent_restore_in_progress = "permanent-restore-in-progress", + temporary_restore_completed = "temporary-restore-completed", + temporary_restore_failed = "temporary-restore-failed", + temporary_restore_in_progress = "temporary-restore-in-progress", +} + +/** + *

                                                    Provides information about a snapshot's storage tier.

                                                    + */ +export interface SnapshotTierStatus { /** - *

                                                    Information about the VPC attachments.

                                                    + *

                                                    The ID of the snapshot.

                                                    */ - TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; + SnapshotId?: 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 ID of the volume from which the snapshot was created.

                                                    */ - NextToken?: string; -} + VolumeId?: string; -export namespace DescribeTransitGatewayVpcAttachmentsResult { /** - * @internal + *

                                                    The state of the snapshot.

                                                    */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsResult): any => ({ - ...obj, - }); -} + Status?: SnapshotState | string; -export interface DescribeTrunkInterfaceAssociationsRequest { /** - *

                                                    The IDs of the associations.

                                                    + *

                                                    The ID of the Amazon Web Services account that owns the snapshot.

                                                    */ - AssociationIds?: string[]; + OwnerId?: 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 that are assigned to the snapshot.

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

                                                    One or more filters.

                                                    - *
                                                      - *
                                                    • - *

                                                      - * gre-key - The ID of a trunk interface association.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

                                                      - *
                                                    • - *
                                                    + *

                                                    The storage tier in which the snapshot is stored. standard indicates + * that the snapshot is stored in the standard snapshot storage tier and that it is ready + * for use. archive indicates that the snapshot is currently archived and that + * it must be restored before it can be used.

                                                    */ - Filters?: Filter[]; + StorageTier?: StorageTier | string; /** - *

                                                    The token for the next page of results.

                                                    + *

                                                    The date and time when the last archive or restore process was started.

                                                    */ - NextToken?: string; + LastTieringStartTime?: 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.

                                                    + *

                                                    The progress of the last archive or restore process, as a percentage.

                                                    */ - MaxResults?: number; + LastTieringProgress?: number; + + /** + *

                                                    The status of the last archive or restore process.

                                                    + */ + LastTieringOperationStatus?: TieringOperationStatus | string; + + /** + *

                                                    A message describing the status of the last archive or restore process.

                                                    + */ + LastTieringOperationStatusDetail?: string; + + /** + *

                                                    The date and time when the last archive process was completed.

                                                    + */ + ArchivalCompleteTime?: Date; + + /** + *

                                                    Only for archived snapshots that are temporarily restored. Indicates the date and + * time when a temporarily restored snapshot will be automatically re-archived.

                                                    + */ + RestoreExpiryTime?: Date; } -export namespace DescribeTrunkInterfaceAssociationsRequest { +export namespace SnapshotTierStatus { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: SnapshotTierStatus): any => ({ ...obj, }); } -export interface DescribeTrunkInterfaceAssociationsResult { +export interface DescribeSnapshotTierStatusResult { /** - *

                                                    Information about the trunk associations.

                                                    + *

                                                    Information about the snapshot's storage tier.

                                                    */ - InterfaceAssociations?: TrunkInterfaceAssociation[]; + SnapshotTierStatuses?: SnapshotTierStatus[]; /** *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    @@ -1785,2137 +1864,1968 @@ export interface DescribeTrunkInterfaceAssociationsResult { NextToken?: string; } -export namespace DescribeTrunkInterfaceAssociationsResult { +export namespace DescribeSnapshotTierStatusResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSnapshotTierStatusResult): any => ({ ...obj, }); } -export type VolumeAttributeName = "autoEnableIO" | "productCodes"; - -export interface DescribeVolumeAttributeRequest { +/** + *

                                                    Contains the parameters for DescribeSpotDatafeedSubscription.

                                                    + */ +export interface DescribeSpotDatafeedSubscriptionRequest { /** - *

                                                    The attribute of the volume. This parameter is required.

                                                    + *

                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                    */ - Attribute: VolumeAttributeName | string | undefined; + DryRun?: boolean; +} +export namespace DescribeSpotDatafeedSubscriptionRequest { /** - *

                                                    The ID of the volume.

                                                    + * @internal */ - VolumeId: string | undefined; + export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionRequest): any => ({ + ...obj, + }); +} +/** + *

                                                    Contains the output of DescribeSpotDatafeedSubscription.

                                                    + */ +export interface DescribeSpotDatafeedSubscriptionResult { /** - *

                                                    Checks whether you have the required permissions for the action, without 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 Spot Instance data feed subscription.

                                                    */ - DryRun?: boolean; + SpotDatafeedSubscription?: SpotDatafeedSubscription; } -export namespace DescribeVolumeAttributeRequest { +export namespace DescribeSpotDatafeedSubscriptionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionResult): any => ({ ...obj, }); } -export interface DescribeVolumeAttributeResult { +/** + *

                                                    Contains the parameters for DescribeSpotFleetInstances.

                                                    + */ +export interface DescribeSpotFleetInstancesRequest { /** - *

                                                    The state of autoEnableIO attribute.

                                                    + *

                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                    */ - AutoEnableIO?: AttributeBooleanValue; + DryRun?: boolean; /** - *

                                                    A list of product codes.

                                                    + *

                                                    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.

                                                    */ - ProductCodes?: ProductCode[]; + MaxResults?: number; /** - *

                                                    The ID of the volume.

                                                    + *

                                                    The token for the next set of results.

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

                                                    The ID of the Spot Fleet request.

                                                    + */ + SpotFleetRequestId: string | undefined; } -export namespace DescribeVolumeAttributeResult { +export namespace DescribeSpotFleetInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesRequest): any => ({ ...obj, }); } -export interface DescribeVolumesRequest { +/** + *

                                                    Contains the output of DescribeSpotFleetInstances.

                                                    + */ +export interface DescribeSpotFleetInstancesResponse { /** - *

                                                    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 (gp2 | gp3 | io1 | io2 | - * st1 | sc1| standard)

                                                      - *
                                                    • - *
                                                    + *

                                                    The running instances. This list is refreshed periodically and might be out of + * date.

                                                    */ - Filters?: Filter[]; + ActiveInstances?: ActiveInstance[]; /** - *

                                                    The volume IDs.

                                                    + *

                                                    The token required to retrieve the next set of results. This value is + * null when there are no more results to return.

                                                    */ - VolumeIds?: string[]; + 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 ID of the Spot Fleet request.

                                                    + */ + SpotFleetRequestId?: string; +} + +export namespace DescribeSpotFleetInstancesResponse { + /** + * @internal + */ + 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 { + /** + *

                                                    Checks whether you have the required permissions for the action, without 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 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 type of events to describe. By default, all events are described.

                                                    + */ + EventType?: EventType | 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.

                                                    */ 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.

                                                    + *

                                                    The token for the next set of results.

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

                                                    The ID of the Spot Fleet request.

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

                                                    The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                    + */ + StartTime: Date | undefined; } -export namespace DescribeVolumesRequest { +export namespace DescribeSpotFleetRequestHistoryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryRequest): any => ({ ...obj, }); } -export interface DescribeVolumesResult { +/** + *

                                                    Describes an event in the history of the Spot Fleet request.

                                                    + */ +export interface HistoryRecord { /** - *

                                                    Information about the volumes.

                                                    + *

                                                    Information about the event.

                                                    */ - Volumes?: Volume[]; + EventInformation?: EventInformation; /** - *

                                                    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.

                                                    + *

                                                    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.

                                                      + *
                                                    • + *
                                                    */ - NextToken?: string; + EventType?: EventType | string; + + /** + *

                                                    The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                    + */ + Timestamp?: Date; } -export namespace DescribeVolumesResult { +export namespace HistoryRecord { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesResult): any => ({ + export const filterSensitiveLog = (obj: HistoryRecord): any => ({ ...obj, }); } -export interface DescribeVolumesModificationsRequest { +/** + *

                                                    Contains the output of DescribeSpotFleetRequestHistory.

                                                    + */ +export interface DescribeSpotFleetRequestHistoryResponse { /** - *

                                                    Checks whether you have the required permissions for the action, without 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 events in the history of the Spot Fleet request.

                                                    */ - DryRun?: boolean; + HistoryRecords?: HistoryRecord[]; /** - *

                                                    The IDs of the volumes.

                                                    + *

                                                    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.

                                                    */ - VolumeIds?: string[]; + LastEvaluatedTime?: Date; /** - *

                                                    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 | 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.

                                                      - *
                                                    • - *
                                                    + *

                                                    The token required to retrieve the next set of results. This value is + * null when there are no more results to return.

                                                    */ - Filters?: Filter[]; + NextToken?: string; /** - *

                                                    The nextToken value returned by a previous paginated request.

                                                    + *

                                                    The ID of the Spot Fleet request.

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

                                                    The maximum number of results (up to a limit of 500) to be returned in a paginated - * request.

                                                    + *

                                                    The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                    */ - MaxResults?: number; + StartTime?: Date; } -export namespace DescribeVolumesModificationsRequest { +export namespace DescribeSpotFleetRequestHistoryResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesModificationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryResponse): any => ({ ...obj, }); } -export type VolumeModificationState = "completed" | "failed" | "modifying" | "optimizing"; - /** - *

                                                    Describes the modification status of an EBS volume.

                                                    - *

                                                    If the volume has never been modified, some element values will be null.

                                                    + *

                                                    Contains the parameters for DescribeSpotFleetRequests.

                                                    */ -export interface VolumeModification { +export interface DescribeSpotFleetRequestsRequest { /** - *

                                                    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 current modification state. The modification state is null for unmodified - * volumes.

                                                    + *

                                                    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.

                                                    */ - ModificationState?: VolumeModificationState | string; + MaxResults?: number; /** - *

                                                    A status message about the modification progress or failure.

                                                    + *

                                                    The token for the next set of results.

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

                                                    The target size of the volume, in GiB.

                                                    + *

                                                    The IDs of the Spot Fleet requests.

                                                    */ - TargetSize?: number; + SpotFleetRequestIds?: string[]; +} +export namespace DescribeSpotFleetRequestsRequest { /** - *

                                                    The target IOPS rate of the volume.

                                                    + * @internal */ - TargetIops?: number; + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsRequest): any => ({ + ...obj, + }); +} + +export enum ExcessCapacityTerminationPolicy { + DEFAULT = "default", + NO_TERMINATION = "noTermination", +} +/** + *

                                                    Describes whether monitoring is enabled.

                                                    + */ +export interface SpotFleetMonitoring { /** - *

                                                    The target EBS volume type of the volume.

                                                    + *

                                                    Enables monitoring for the instance.

                                                    + *

                                                    Default: false + *

                                                    */ - TargetVolumeType?: VolumeType | string; + Enabled?: boolean; +} +export namespace SpotFleetMonitoring { /** - *

                                                    The target throughput of the volume, in MiB/s.

                                                    + * @internal */ - TargetThroughput?: number; + export const filterSensitiveLog = (obj: SpotFleetMonitoring): any => ({ + ...obj, + }); +} +/** + *

                                                    Describes a network interface.

                                                    + */ +export interface InstanceNetworkInterfaceSpecification { /** - *

                                                    The target setting for Amazon EBS Multi-Attach.

                                                    + *

                                                    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.

                                                    */ - TargetMultiAttachEnabled?: boolean; + AssociatePublicIpAddress?: boolean; /** - *

                                                    The original size of the volume, in GiB.

                                                    + *

                                                    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.

                                                    */ - OriginalSize?: number; + DeleteOnTermination?: boolean; /** - *

                                                    The original IOPS rate of the volume.

                                                    + *

                                                    The description of the network interface. Applies only if creating a network interface when launching an instance.

                                                    */ - OriginalIops?: number; + Description?: string; /** - *

                                                    The original EBS volume type of the volume.

                                                    + *

                                                    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.

                                                    */ - OriginalVolumeType?: VolumeType | string; + DeviceIndex?: number; /** - *

                                                    The original throughput of the volume, in MiB/s.

                                                    + *

                                                    The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

                                                    */ - OriginalThroughput?: number; + Groups?: string[]; /** - *

                                                    The original setting for Amazon EBS Multi-Attach.

                                                    + *

                                                    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.

                                                    */ - OriginalMultiAttachEnabled?: boolean; + Ipv6AddressCount?: number; /** - *

                                                    The modification progress, from 0 to 100 percent complete.

                                                    + *

                                                    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.

                                                    */ - Progress?: number; + Ipv6Addresses?: InstanceIpv6Address[]; /** - *

                                                    The modification start time.

                                                    + *

                                                    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.

                                                    */ - StartTime?: Date; + NetworkInterfaceId?: string; /** - *

                                                    The modification completion or failure time.

                                                    + *

                                                    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.

                                                    */ - EndTime?: Date; -} + PrivateIpAddress?: string; -export namespace VolumeModification { /** - * @internal + *

                                                    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.

                                                    */ - export const filterSensitiveLog = (obj: VolumeModification): any => ({ - ...obj, - }); -} + PrivateIpAddresses?: PrivateIpAddressSpecification[]; -export interface DescribeVolumesModificationsResult { /** - *

                                                    Information about the volume modifications.

                                                    + *

                                                    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.

                                                    */ - VolumesModifications?: VolumeModification[]; + SecondaryPrivateIpAddressCount?: number; /** - *

                                                    Token for pagination, null if there are no more results

                                                    + *

                                                    The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

                                                    */ - NextToken?: string; -} + SubnetId?: string; -export namespace DescribeVolumesModificationsResult { /** - * @internal + *

                                                    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 Amazon Web Services Wavelength Developer Guide.

                                                    */ - export const filterSensitiveLog = (obj: DescribeVolumesModificationsResult): any => ({ - ...obj, - }); -} + AssociateCarrierIpAddress?: boolean; -export interface DescribeVolumeStatusRequest { /** - *

                                                    The filters.

                                                    - *
                                                      - *
                                                    • - *

                                                      - * 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).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * event.not-after - The latest end time for the event.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * event.not-before - The earliest start time for the event.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * volume-status.details-name - The cause for - * volume-status.status (io-enabled | - * io-performance).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * volume-status.details-status - The status of - * volume-status.details-name (for io-enabled: - * passed | failed; for io-performance: - * normal | degraded | severely-degraded | - * stalled).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * volume-status.status - The status of the volume (ok | - * impaired | warning | insufficient-data).

                                                      - *
                                                    • - *
                                                    + *

                                                    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.

                                                    + * + *

                                                    Valid values: interface | efa + *

                                                    */ - Filters?: Filter[]; + InterfaceType?: string; /** - *

                                                    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 1,000; - * if MaxResults is given a value larger than 1,000, only 1,000 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.

                                                    + *

                                                    The index of the network card. Some instance types support multiple network cards. + * The primary network interface must be assigned to network card index 0. + * The default is network card index 0.

                                                    + *

                                                    If you are using RequestSpotInstances to create Spot Instances, omit this parameter because + * you can’t specify the network card index when using this API. To specify the network + * card index, use RunInstances.

                                                    */ - MaxResults?: number; + NetworkCardIndex?: 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.

                                                    + *

                                                    One or more IPv4 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv4PrefixCount option.

                                                    */ - NextToken?: string; + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; /** - *

                                                    The IDs of the volumes.

                                                    - *

                                                    Default: Describes all your volumes.

                                                    + *

                                                    The number of IPv4 delegated prefixes to be automatically assigned to the network interface. + * You cannot use this option if you use the Ipv4Prefix option.

                                                    */ - VolumeIds?: string[]; + Ipv4PrefixCount?: 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 IPv6 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv6PrefixCount option.

                                                    */ - DryRun?: boolean; + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + + /** + *

                                                    The number of IPv6 delegated prefixes to be automatically assigned to the network interface. + * You cannot use this option if you use the Ipv6Prefix option.

                                                    + */ + Ipv6PrefixCount?: number; } -export namespace DescribeVolumeStatusRequest { +export namespace InstanceNetworkInterfaceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeStatusRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceSpecification): any => ({ ...obj, }); } /** - *

                                                    Describes a volume status operation code.

                                                    + *

                                                    Describes Spot Instance placement.

                                                    */ -export interface VolumeStatusAction { +export interface SpotPlacement { /** - *

                                                    The code identifying the operation, for example, enable-volume-io.

                                                    - */ - Code?: string; - - /** - *

                                                    A description of the operation.

                                                    + *

                                                    The Availability Zone.

                                                    + *

                                                    [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; + * for example, "us-west-2a, us-west-2b".

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

                                                    The ID of the event associated with this operation.

                                                    + *

                                                    The name of the placement group.

                                                    */ - EventId?: string; + GroupName?: string; /** - *

                                                    The event type associated with this operation.

                                                    + *

                                                    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.

                                                    */ - EventType?: string; + Tenancy?: Tenancy | string; } -export namespace VolumeStatusAction { +export namespace SpotPlacement { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusAction): any => ({ + export const filterSensitiveLog = (obj: SpotPlacement): any => ({ ...obj, }); } /** - *

                                                    Information about the instances to which the volume is attached.

                                                    + *

                                                    The tags for a Spot Fleet resource.

                                                    */ -export interface VolumeStatusAttachmentStatus { +export interface SpotFleetTagSpecification { /** - *

                                                    The maximum IOPS supported by the attached instance.

                                                    + *

                                                    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 + * .

                                                    */ - IoPerformance?: string; + ResourceType?: ResourceType | string; /** - *

                                                    The ID of the attached instance.

                                                    + *

                                                    The tags.

                                                    */ - InstanceId?: string; + Tags?: Tag[]; } -export namespace VolumeStatusAttachmentStatus { +export namespace SpotFleetTagSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusAttachmentStatus): any => ({ + export const filterSensitiveLog = (obj: SpotFleetTagSpecification): any => ({ ...obj, }); } /** - *

                                                    Describes a volume status event.

                                                    + *

                                                    Describes the launch specification for one or more Spot Instances. If you include + * On-Demand capacity in your fleet request or want to specify an EFA network device, you + * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

                                                    */ -export interface VolumeStatusEvent { - /** - *

                                                    A description of the event.

                                                    - */ - Description?: string; - +export interface SpotFleetLaunchSpecification { /** - *

                                                    The ID of this event.

                                                    + *

                                                    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.

                                                    */ - EventId?: string; + SecurityGroups?: GroupIdentifier[]; /** - *

                                                    The type of this event.

                                                    + *

                                                    Deprecated.

                                                    */ - EventType?: string; + AddressingType?: string; /** - *

                                                    The latest end time of the event.

                                                    + *

                                                    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.

                                                    */ - NotAfter?: Date; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                    The earliest start time of the event.

                                                    + *

                                                    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 + *

                                                    */ - NotBefore?: Date; + EbsOptimized?: boolean; /** - *

                                                    The ID of the instance associated with the event.

                                                    + *

                                                    The IAM instance profile.

                                                    */ - InstanceId?: string; -} + IamInstanceProfile?: IamInstanceProfileSpecification; -export namespace VolumeStatusEvent { /** - * @internal + *

                                                    The ID of the AMI.

                                                    */ - export const filterSensitiveLog = (obj: VolumeStatusEvent): any => ({ - ...obj, - }); -} - -export type VolumeStatusName = "io-enabled" | "io-performance"; + ImageId?: string; -/** - *

                                                    Describes a volume status.

                                                    - */ -export interface VolumeStatusDetails { /** - *

                                                    The name of the volume status.

                                                    + *

                                                    The instance type.

                                                    */ - Name?: VolumeStatusName | string; + InstanceType?: _InstanceType | string; /** - *

                                                    The intended status of the volume status.

                                                    + *

                                                    The ID of the kernel.

                                                    */ - Status?: string; -} + KernelId?: string; -export namespace VolumeStatusDetails { /** - * @internal + *

                                                    The name of the key pair.

                                                    */ - export const filterSensitiveLog = (obj: VolumeStatusDetails): any => ({ - ...obj, - }); -} - -export type VolumeStatusInfoStatus = "impaired" | "insufficient-data" | "ok"; + KeyName?: string; -/** - *

                                                    Describes the status of a volume.

                                                    - */ -export interface VolumeStatusInfo { /** - *

                                                    The details of the volume status.

                                                    + *

                                                    Enable or disable monitoring for the instances.

                                                    */ - Details?: VolumeStatusDetails[]; + Monitoring?: SpotFleetMonitoring; /** - *

                                                    The status of the volume.

                                                    + *

                                                    One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                    + * + *

                                                    + * SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

                                                    + *
                                                    */ - Status?: VolumeStatusInfoStatus | string; -} + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; -export namespace VolumeStatusInfo { /** - * @internal + *

                                                    The placement information.

                                                    */ - export const filterSensitiveLog = (obj: VolumeStatusInfo): any => ({ - ...obj, - }); -} + Placement?: SpotPlacement; -/** - *

                                                    Describes the volume status.

                                                    - */ -export interface VolumeStatusItem { /** - *

                                                    The details of the operation.

                                                    + *

                                                    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 Amazon Web Services Resource Center and search for the kernel ID.

                                                    */ - Actions?: VolumeStatusAction[]; + RamdiskId?: string; /** - *

                                                    The Availability Zone of the volume.

                                                    + *

                                                    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.

                                                    */ - AvailabilityZone?: string; + SpotPrice?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the Outpost.

                                                    + *

                                                    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".

                                                    */ - OutpostArn?: string; + SubnetId?: string; /** - *

                                                    A list of events associated with the volume.

                                                    + *

                                                    The Base64-encoded user data that instances use when starting up.

                                                    */ - Events?: VolumeStatusEvent[]; + UserData?: string; /** - *

                                                    The volume ID.

                                                    + *

                                                    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.

                                                    */ - VolumeId?: string; + WeightedCapacity?: number; /** - *

                                                    The volume status.

                                                    + *

                                                    The tags to apply during creation.

                                                    */ - VolumeStatus?: VolumeStatusInfo; + TagSpecifications?: SpotFleetTagSpecification[]; /** - *

                                                    Information about the instances to which the volume is attached.

                                                    + *

                                                    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

                                                    + * + *

                                                    If you specify InstanceRequirements, you can't specify + * InstanceTypes.

                                                    + *
                                                    */ - AttachmentStatuses?: VolumeStatusAttachmentStatus[]; + InstanceRequirements?: InstanceRequirements; } -export namespace VolumeStatusItem { +export namespace SpotFleetLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusItem): any => ({ + export const filterSensitiveLog = (obj: SpotFleetLaunchSpecification): any => ({ ...obj, }); } -export interface DescribeVolumeStatusResult { +/** + *

                                                    Describes overrides for a launch template.

                                                    + */ +export interface LaunchTemplateOverrides { /** - *

                                                    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 type.

                                                    */ - NextToken?: string; + InstanceType?: _InstanceType | string; /** - *

                                                    Information about the status of the volumes.

                                                    + *

                                                    The maximum price per unit hour that you are willing to pay for a Spot + * Instance.

                                                    */ - VolumeStatuses?: VolumeStatusItem[]; -} + SpotPrice?: string; -export namespace DescribeVolumeStatusResult { /** - * @internal + *

                                                    The ID of the subnet in which to launch the instances.

                                                    */ - export const filterSensitiveLog = (obj: DescribeVolumeStatusResult): any => ({ - ...obj, - }); -} + SubnetId?: string; -export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; + /** + *

                                                    The Availability Zone in which to launch the instances.

                                                    + */ + AvailabilityZone?: string; -export interface DescribeVpcAttributeRequest { /** - *

                                                    The VPC attribute.

                                                    + *

                                                    The number of units provided by the specified instance type.

                                                    */ - Attribute: VpcAttributeName | string | undefined; + WeightedCapacity?: number; /** - *

                                                    The ID of the VPC.

                                                    + *

                                                    The priority for the launch template override. The highest priority is launched + * first.

                                                    + *

                                                    If OnDemandAllocationStrategy is set to prioritized, Spot Fleet + * uses priority to determine which launch template override to use first in fulfilling + * On-Demand capacity.

                                                    + *

                                                    If the Spot AllocationStrategy is set to + * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis + * to determine which launch template override to use in fulfilling Spot capacity, but + * optimizes for capacity 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. You can set the same priority for different launch template overrides.

                                                    */ - VpcId: string | undefined; + Priority?: 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 instance requirements. When you specify instance requirements, Amazon EC2 will identify + * instance types with the provided requirements, and then use your On-Demand and Spot + * allocation strategies to launch instances from these instance types, in the same way as + * when you specify a list of instance types.

                                                    + * + *

                                                    If you specify InstanceRequirements, you can't specify + * InstanceTypes.

                                                    + *
                                                    */ - DryRun?: boolean; + InstanceRequirements?: InstanceRequirements; } -export namespace DescribeVpcAttributeRequest { +export namespace LaunchTemplateOverrides { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateOverrides): any => ({ ...obj, }); } -export interface DescribeVpcAttributeResult { - /** - *

                                                    The ID of the VPC.

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

                                                    Describes a launch template and overrides.

                                                    + */ +export interface LaunchTemplateConfig { /** - *

                                                    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.

                                                    + *

                                                    The launch template.

                                                    */ - EnableDnsHostnames?: AttributeBooleanValue; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; /** - *

                                                    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.

                                                    + *

                                                    Any parameters that you specify override the same parameters in the launch + * template.

                                                    */ - EnableDnsSupport?: AttributeBooleanValue; + Overrides?: LaunchTemplateOverrides[]; } -export namespace DescribeVpcAttributeResult { +export namespace LaunchTemplateConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcAttributeResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateConfig): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkRequest { +/** + *

                                                    Describes a Classic Load Balancer.

                                                    + */ +export interface ClassicLoadBalancer { /** - *

                                                    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.

                                                      - *
                                                    • - *
                                                    + *

                                                    The name of the load balancer.

                                                    */ - Filters?: Filter[]; + Name?: string; +} +export namespace ClassicLoadBalancer { /** - *

                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                    + * @internal */ - DryRun?: boolean; + 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 { /** - *

                                                    One or more VPCs for which you want to describe the ClassicLink status.

                                                    + *

                                                    One or more Classic Load Balancers.

                                                    */ - VpcIds?: string[]; + ClassicLoadBalancers?: ClassicLoadBalancer[]; } -export namespace DescribeVpcClassicLinkRequest { +export namespace ClassicLoadBalancersConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: ClassicLoadBalancersConfig): any => ({ ...obj, }); } /** - *

                                                    Describes whether a VPC is enabled for ClassicLink.

                                                    + *

                                                    Describes a load balancer target group.

                                                    */ -export interface VpcClassicLink { +export interface TargetGroup { /** - *

                                                    Indicates whether the VPC is enabled for ClassicLink.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the target group.

                                                    */ - ClassicLinkEnabled?: boolean; + Arn?: string; +} +export namespace TargetGroup { /** - *

                                                    Any tags assigned to the VPC.

                                                    + * @internal */ - Tags?: Tag[]; + 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 ID of the VPC.

                                                    + *

                                                    One or more target groups.

                                                    */ - VpcId?: string; + TargetGroups?: TargetGroup[]; } -export namespace VpcClassicLink { +export namespace TargetGroupsConfig { /** * @internal */ - export const filterSensitiveLog = (obj: VpcClassicLink): any => ({ + export const filterSensitiveLog = (obj: TargetGroupsConfig): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkResult { +/** + *

                                                    Describes the Classic Load Balancers and target groups to attach to a Spot Fleet + * request.

                                                    + */ +export interface LoadBalancersConfig { /** - *

                                                    The ClassicLink status of one or more VPCs.

                                                    + *

                                                    The Classic Load Balancers.

                                                    */ - Vpcs?: VpcClassicLink[]; + ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; + + /** + *

                                                    The target groups.

                                                    + */ + TargetGroupsConfig?: TargetGroupsConfig; } -export namespace DescribeVpcClassicLinkResult { +export namespace LoadBalancersConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkResult): any => ({ + export const filterSensitiveLog = (obj: LoadBalancersConfig): any => ({ ...obj, }); } -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.

                                                    - */ - MaxResults?: number; +export enum OnDemandAllocationStrategy { + LOWEST_PRICE = "lowestPrice", + PRIORITIZED = "prioritized", +} + +export enum ReplacementStrategy { + LAUNCH = "launch", + LAUNCH_BEFORE_TERMINATE = "launch-before-terminate", +} +/** + *

                                                    The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your + * Spot Instance is at an elevated risk of being interrupted. For more information, see + * Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

                                                    + */ +export interface SpotCapacityRebalance { /** - *

                                                    The token for the next page of results.

                                                    + *

                                                    The replacement strategy to use. Only available for fleets of type + * maintain.

                                                    + *

                                                    + * launch - Spot Fleet launches a new replacement Spot Instance when a + * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet + * does not terminate the instances that receive a rebalance notification. You can + * terminate the old instances, or you can leave them running. You are charged for all + * instances while they are running.

                                                    + *

                                                    + * launch-before-terminate - Spot Fleet launches a new replacement Spot + * Instance when a rebalance notification is emitted for an existing Spot Instance in the + * fleet, and then, after a delay that you specify (in TerminationDelay), + * terminates the instances that received a rebalance notification.

                                                    */ - NextToken?: string; + ReplacementStrategy?: ReplacementStrategy | string; /** - *

                                                    One or more VPC IDs.

                                                    + *

                                                    The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot + * Instance after launching a new replacement Spot Instance.

                                                    + *

                                                    Valid only when ReplacementStrategy is set to launch-before-terminate.

                                                    + *

                                                    Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

                                                    */ - VpcIds?: string[]; + TerminationDelay?: number; } -export namespace DescribeVpcClassicLinkDnsSupportRequest { +export namespace SpotCapacityRebalance { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportRequest): any => ({ + export const filterSensitiveLog = (obj: SpotCapacityRebalance): any => ({ ...obj, }); } /** - *

                                                    Describes the ClassicLink DNS support status of a VPC.

                                                    + *

                                                    The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

                                                    */ -export interface ClassicLinkDnsSupport { - /** - *

                                                    Indicates whether ClassicLink DNS support is enabled for the VPC.

                                                    - */ - ClassicLinkDnsSupported?: boolean; - +export interface SpotMaintenanceStrategies { /** - *

                                                    The ID of the VPC.

                                                    + *

                                                    The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

                                                    */ - VpcId?: string; + CapacityRebalance?: SpotCapacityRebalance; } -export namespace ClassicLinkDnsSupport { +export namespace SpotMaintenanceStrategies { /** * @internal */ - export const filterSensitiveLog = (obj: ClassicLinkDnsSupport): any => ({ + export const filterSensitiveLog = (obj: SpotMaintenanceStrategies): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkDnsSupportResult { +/** + *

                                                    Describes the configuration of a Spot Fleet request.

                                                    + */ +export interface SpotFleetRequestConfigData { /** - *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    + *

                                                    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 (recommended), Spot Fleet + * launches instances from Spot Instance pools with optimal capacity for the number of instances + * that are launching. To give certain instance types a higher chance of launching first, + * use capacityOptimizedPrioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You + * can assign the same priority to different LaunchTemplateOverrides. EC2 + * implements the priorities on a best-effort basis, but optimizes for capacity first. + * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a + * launch template. Note that if the OnDemandAllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

                                                    */ - NextToken?: string; + AllocationStrategy?: AllocationStrategy | string; /** - *

                                                    Information about the ClassicLink DNS support status of the VPCs.

                                                    + *

                                                    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.

                                                    */ - Vpcs?: ClassicLinkDnsSupport[]; -} - -export namespace DescribeVpcClassicLinkDnsSupportResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportResult): any => ({ - ...obj, - }); -} - -export interface DescribeVpcEndpointConnectionNotificationsRequest { - /** - *

                                                    Checks whether you have the required permissions for the action, without 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; + OnDemandAllocationStrategy?: OnDemandAllocationStrategy | string; /** - *

                                                    The ID of the notification.

                                                    + *

                                                    The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

                                                    */ - ConnectionNotificationId?: string; + SpotMaintenanceStrategies?: SpotMaintenanceStrategies; /** - *

                                                    One or more filters.

                                                    - *
                                                      - *
                                                    • - *

                                                      - * connection-notification-arn - The ARN of the SNS topic for the - * notification.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * connection-notification-id - The ID of the - * notification.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * connection-notification-state - The state of the notification - * (Enabled | Disabled).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * connection-notification-type - The type of notification - * (Topic).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * service-id - The ID of the endpoint service.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * vpc-endpoint-id - The ID of the VPC endpoint.

                                                      - *
                                                    • - *
                                                    + *

                                                    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.

                                                    */ - Filters?: Filter[]; + ClientToken?: 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.

                                                    + *

                                                    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.

                                                    */ - MaxResults?: number; + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; /** - *

                                                    The token to request the next page of results.

                                                    + *

                                                    The number of units fulfilled by this request compared to the set target capacity. You + * cannot set this value.

                                                    */ - NextToken?: string; -} + FulfilledCapacity?: number; -export namespace DescribeVpcEndpointConnectionNotificationsRequest { /** - * @internal + *

                                                    The number of On-Demand units fulfilled by this request compared to the set target + * On-Demand capacity.

                                                    */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsRequest): any => ({ - ...obj, - }); -} + OnDemandFulfilledCapacity?: number; -export interface DescribeVpcEndpointConnectionNotificationsResult { /** - *

                                                    One or more notifications.

                                                    + *

                                                    The Amazon Resource Name (ARN) of an 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.

                                                    */ - ConnectionNotificationSet?: ConnectionNotification[]; + IamFleetRole: string | undefined; /** - *

                                                    The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                                    + *

                                                    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.

                                                    */ - NextToken?: string; -} + LaunchSpecifications?: SpotFleetLaunchSpecification[]; -export namespace DescribeVpcEndpointConnectionNotificationsResult { /** - * @internal + *

                                                    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.

                                                    */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsResult): any => ({ - ...obj, - }); -} + LaunchTemplateConfigs?: LaunchTemplateConfig[]; -export interface DescribeVpcEndpointConnectionsRequest { /** - *

                                                    Checks whether you have the required permissions for the action, without 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 price per unit hour that you are willing to pay for a Spot Instance. The + * default is the On-Demand price.

                                                    */ - DryRun?: boolean; + SpotPrice?: string; /** - *

                                                    One or more filters.

                                                    - *
                                                      - *
                                                    • - *

                                                      - * service-id - The ID of the service.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * vpc-endpoint-owner - The ID of the Amazon Web Services account ID - * that owns 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 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.

                                                    */ - Filters?: Filter[]; + TargetCapacity: number | undefined; /** - *

                                                    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 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.

                                                    */ - MaxResults?: number; + OnDemandTargetCapacity?: number; /** - *

                                                    The token to retrieve the next page of results.

                                                    + *

                                                    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.

                                                    */ - NextToken?: string; -} + OnDemandMaxTotalPrice?: string; -export namespace DescribeVpcEndpointConnectionsRequest { /** - * @internal + *

                                                    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.

                                                    */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsRequest): any => ({ - ...obj, - }); -} + SpotMaxTotalPrice?: string; -/** - *

                                                    Describes a VPC endpoint connection to a service.

                                                    - */ -export interface VpcEndpointConnection { /** - *

                                                    The ID of the service to which the endpoint is connected.

                                                    + *

                                                    Indicates whether running Spot Instances are terminated when the Spot Fleet request + * expires.

                                                    */ - ServiceId?: string; + TerminateInstancesWithExpiration?: boolean; /** - *

                                                    The ID of the VPC endpoint.

                                                    + *

                                                    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.

                                                    */ - VpcEndpointId?: string; + Type?: FleetType | string; /** - *

                                                    The ID of the Amazon Web Services account that owns the VPC endpoint.

                                                    + *

                                                    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.

                                                    */ - VpcEndpointOwner?: string; + ValidFrom?: Date; /** - *

                                                    The state of the VPC endpoint.

                                                    + *

                                                    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.

                                                    */ - VpcEndpointState?: State | string; + ValidUntil?: Date; /** - *

                                                    The date and time that the VPC endpoint was created.

                                                    + *

                                                    Indicates whether Spot Fleet should replace unhealthy instances.

                                                    */ - CreationTimestamp?: Date; + ReplaceUnhealthyInstances?: boolean; /** - *

                                                    The DNS entries for the VPC endpoint.

                                                    + *

                                                    The behavior when a Spot Instance is interrupted. The default is + * terminate.

                                                    */ - DnsEntries?: DnsEntry[]; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                                                    The Amazon Resource Names (ARNs) of the network load balancers for the service.

                                                    + *

                                                    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.

                                                    */ - NetworkLoadBalancerArns?: string[]; + LoadBalancersConfig?: LoadBalancersConfig; /** - *

                                                    The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

                                                    + *

                                                    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.

                                                    + *

                                                    Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of + * pools that you specified.

                                                    */ - GatewayLoadBalancerArns?: string[]; -} + InstancePoolsToUseCount?: number; -export namespace VpcEndpointConnection { /** - * @internal + *

                                                    Reserved.

                                                    */ - export const filterSensitiveLog = (obj: VpcEndpointConnection): any => ({ - ...obj, - }); -} + Context?: string; -export interface DescribeVpcEndpointConnectionsResult { /** - *

                                                    Information about one or more VPC endpoint connections.

                                                    + *

                                                    The unit for the target capacity.

                                                    + *

                                                    Default: units (translates to number of instances)

                                                    */ - VpcEndpointConnections?: VpcEndpointConnection[]; + TargetCapacityUnitType?: TargetCapacityUnitType | 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 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.

                                                    */ - NextToken?: string; + TagSpecifications?: TagSpecification[]; } -export namespace DescribeVpcEndpointConnectionsResult { +export namespace SpotFleetRequestConfigData { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ ...obj, }); } /** - *

                                                    Contains the parameters for DescribeVpcEndpoints.

                                                    + *

                                                    Describes a Spot Fleet request.

                                                    */ -export interface DescribeVpcEndpointsRequest { +export interface SpotFleetRequestConfig { /** - *

                                                    Checks whether you have the required permissions for the action, without 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 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.

                                                    */ - DryRun?: boolean; + ActivityStatus?: ActivityStatus | string; /** - *

                                                    One or more endpoint IDs.

                                                    + *

                                                    The creation date and time of the request.

                                                    */ - VpcEndpointIds?: string[]; + CreateTime?: Date; /** - *

                                                    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).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * 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 configuration of the Spot Fleet request.

                                                    */ - Filters?: Filter[]; + SpotFleetRequestConfig?: SpotFleetRequestConfigData; /** - *

                                                    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 ID of the Spot Fleet request.

                                                    */ - MaxResults?: number; + SpotFleetRequestId?: string; /** - *

                                                    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 tags for a Spot Fleet resource.

                                                    + */ + Tags?: Tag[]; } -export namespace DescribeVpcEndpointsRequest { +export namespace SpotFleetRequestConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointsRequest): any => ({ + export const filterSensitiveLog = (obj: SpotFleetRequestConfig): any => ({ ...obj, }); } /** - *

                                                    Contains the output of DescribeVpcEndpoints.

                                                    + *

                                                    Contains the output of DescribeSpotFleetRequests.

                                                    */ -export interface DescribeVpcEndpointsResult { +export interface DescribeSpotFleetRequestsResponse { /** - *

                                                    Information about the endpoints.

                                                    + *

                                                    The token required to retrieve the next set of results. This value is + * null when there are no more results to return.

                                                    */ - VpcEndpoints?: VpcEndpoint[]; + NextToken?: string; /** - *

                                                    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 configuration of your Spot Fleet.

                                                    */ - NextToken?: string; + SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; } -export namespace DescribeVpcEndpointsResult { +export namespace DescribeSpotFleetRequestsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsResponse): any => ({ ...obj, }); } -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.

                                                    - */ - DryRun?: boolean; - - /** - *

                                                    The IDs of one or more services.

                                                    - */ - ServiceIds?: string[]; - +/** + *

                                                    Contains the parameters for DescribeSpotInstanceRequests.

                                                    + */ +export interface DescribeSpotInstanceRequestsRequest { /** *

                                                    One or more filters.

                                                    - *
                                                      + *
                                                        *
                                                      • - *

                                                        - * service-name - The name of the service.

                                                        - *
                                                      • + *

                                                        + * availability-zone-group - The Availability Zone group.

                                                        + * *
                                                      • - *

                                                        - * service-id - The ID of the service.

                                                        - *
                                                      • + *

                                                        + * create-time - The time stamp when the Spot Instance request was + * created.

                                                        + * *
                                                      • - *

                                                        - * service-state - The state of the service (Pending | - * Available | Deleting | Deleted | - * Failed).

                                                        - *
                                                      • + *

                                                        + * fault-code - The fault code related to the 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.

                                                        - *
                                                      • + *

                                                        + * 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.

                                                        + *
                                                      • *
                                                      */ Filters?: Filter[]; /** - *

                                                      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.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                      */ - MaxResults?: number; + DryRun?: boolean; /** - *

                                                      The token to retrieve the next page of results.

                                                      + *

                                                      One or more Spot Instance request IDs.

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

                                                      The token to request the next set of results. This value is null when + * there are no more results to return.

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

                                                      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.

                                                      + */ + MaxResults?: number; } -export namespace DescribeVpcEndpointServiceConfigurationsRequest { +export namespace DescribeSpotInstanceRequestsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServiceConfigurationsResult { - /** - *

                                                      Information about one or more services.

                                                      - */ - ServiceConfigurations?: ServiceConfiguration[]; - +/** + *

                                                      Describes the monitoring of an instance.

                                                      + */ +export interface RunInstancesMonitoringEnabled { /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

                                                      */ - NextToken?: string; + Enabled: boolean | undefined; } -export namespace DescribeVpcEndpointServiceConfigurationsResult { +export namespace RunInstancesMonitoringEnabled { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsResult): any => ({ + export const filterSensitiveLog = (obj: RunInstancesMonitoringEnabled): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServicePermissionsRequest { +/** + *

                                                      Describes the launch specification for an instance.

                                                      + */ +export interface LaunchSpecification { /** - *

                                                      Checks whether you have the required permissions for the action, without 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 Base64-encoded user data for the instance.

                                                      */ - DryRun?: boolean; + UserData?: string; /** - *

                                                      The ID of the service.

                                                      + *

                                                      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.

                                                      */ - ServiceId: string | undefined; + SecurityGroups?: GroupIdentifier[]; /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * principal - The ARN of the principal.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * principal-type - The principal type (All | - * Service | OrganizationUnit | Account - * | User | Role).

                                                        - *
                                                      • - *
                                                      + *

                                                      Deprecated.

                                                      */ - Filters?: Filter[]; + AddressingType?: 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.

                                                      + *

                                                      One or more block device mapping entries.

                                                      */ - MaxResults?: number; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                      The token to retrieve the next page of results.

                                                      + *

                                                      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 + *

                                                      */ - NextToken?: string; -} + EbsOptimized?: boolean; -export namespace DescribeVpcEndpointServicePermissionsRequest { /** - * @internal + *

                                                      The IAM instance profile.

                                                      */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsRequest): any => ({ - ...obj, - }); -} + IamInstanceProfile?: IamInstanceProfileSpecification; -export interface DescribeVpcEndpointServicePermissionsResult { /** - *

                                                      Information about one or more allowed principals.

                                                      + *

                                                      The ID of the AMI.

                                                      */ - AllowedPrincipals?: AllowedPrincipal[]; + ImageId?: 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 instance type.

                                                      */ - NextToken?: string; -} + InstanceType?: _InstanceType | string; -export namespace DescribeVpcEndpointServicePermissionsResult { /** - * @internal + *

                                                      The ID of the kernel.

                                                      */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsResult): any => ({ - ...obj, - }); -} + KernelId?: string; -/** - *

                                                      Contains the parameters for DescribeVpcEndpointServices.

                                                      - */ -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.

                                                      + *

                                                      The name of the key pair.

                                                      */ - DryRun?: boolean; + KeyName?: string; /** - *

                                                      One or more service names.

                                                      + *

                                                      One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                      */ - ServiceNames?: string[]; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * service-name - The name of the service.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * service-type - The type of service (Interface | - * 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.

                                                        - *
                                                      • - *
                                                      + *

                                                      The placement information for the instance.

                                                      */ - Filters?: Filter[]; + Placement?: SpotPlacement; /** - *

                                                      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 ID of the RAM disk.

                                                      */ - MaxResults?: number; + RamdiskId?: string; /** - *

                                                      The token for the next set of items to return. (You received this token from a prior call.)

                                                      + *

                                                      The ID of the subnet in which to launch the instance.

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

                                                      Describes the monitoring of an instance.

                                                      + */ + Monitoring?: RunInstancesMonitoringEnabled; } -export namespace DescribeVpcEndpointServicesRequest { +export namespace LaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchSpecification): any => ({ ...obj, }); } +export type SpotInstanceState = "active" | "cancelled" | "closed" | "failed" | "open"; + /** - *

                                                      Information about the Private DNS name for interface endpoints.

                                                      + *

                                                      Describes the status of a Spot Instance request.

                                                      */ -export interface PrivateDnsDetails { +export interface SpotInstanceStatus { /** - *

                                                      The private DNS name assigned to the VPC endpoint service.

                                                      + *

                                                      The status code. For a list of status codes, see Spot status codes in the Amazon EC2 User Guide for Linux Instances.

                                                      */ - PrivateDnsName?: string; + Code?: string; + + /** + *

                                                      The description for the status code.

                                                      + */ + Message?: string; + + /** + *

                                                      The date and time of the most recent status update, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                      + */ + UpdateTime?: Date; } -export namespace PrivateDnsDetails { +export namespace SpotInstanceStatus { /** * @internal */ - export const filterSensitiveLog = (obj: PrivateDnsDetails): any => ({ + export const filterSensitiveLog = (obj: SpotInstanceStatus): any => ({ ...obj, }); } /** - *

                                                      Describes a VPC endpoint service.

                                                      + *

                                                      Describes a Spot Instance request.

                                                      */ -export interface ServiceDetail { - /** - *

                                                      The Amazon Resource Name (ARN) of the service.

                                                      - */ - ServiceName?: string; - +export interface SpotInstanceRequest { /** - *

                                                      The ID of the endpoint service.

                                                      + *

                                                      Deprecated.

                                                      */ - ServiceId?: string; + ActualBlockHourlyPrice?: string; /** - *

                                                      The type of service.

                                                      + *

                                                      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.

                                                      */ - ServiceType?: ServiceTypeDetail[]; + AvailabilityZoneGroup?: string; /** - *

                                                      The Availability Zones in which the service is available.

                                                      + *

                                                      Deprecated.

                                                      */ - AvailabilityZones?: string[]; + BlockDurationMinutes?: number; /** - *

                                                      The Amazon Web Services account ID of the service owner.

                                                      + *

                                                      The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                      */ - Owner?: string; + CreateTime?: Date; /** - *

                                                      The DNS names for the service.

                                                      + *

                                                      The fault codes for the Spot Instance request, if any.

                                                      */ - BaseEndpointDnsNames?: string[]; + Fault?: SpotInstanceStateFault; /** - *

                                                      The private DNS name for the service.

                                                      + *

                                                      The instance ID, if an instance has been launched to fulfill the Spot Instance request.

                                                      */ - PrivateDnsName?: string; + InstanceId?: string; /** - *

                                                      The private DNS names assigned to the VPC endpoint service.

                                                      + *

                                                      The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                      */ - PrivateDnsNames?: PrivateDnsDetails[]; + LaunchGroup?: string; /** - *

                                                      Indicates whether the service supports endpoint policies.

                                                      + *

                                                      Additional information for launching instances.

                                                      */ - VpcEndpointPolicySupported?: boolean; + LaunchSpecification?: LaunchSpecification; /** - *

                                                      Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

                                                      + *

                                                      The Availability Zone in which the request is launched.

                                                      */ - AcceptanceRequired?: boolean; + LaunchedAvailabilityZone?: string; /** - *

                                                      Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

                                                      + *

                                                      The product description associated with the Spot Instance.

                                                      */ - ManagesVpcEndpoints?: boolean; + ProductDescription?: RIProductDescription | string; /** - *

                                                      Any tags assigned to the service.

                                                      + *

                                                      The ID of the Spot Instance request.

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

                                                      The verification state of the VPC endpoint service.

                                                      - *

                                                      Consumers of the endpoint service cannot use the private name when the state is not verified.

                                                      + *

                                                      The maximum price per hour that you are willing to pay for a Spot Instance.

                                                      */ - PrivateDnsNameVerificationState?: DnsNameState | string; -} + SpotPrice?: string; -export namespace ServiceDetail { /** - * @internal + *

                                                      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.

                                                      */ - export const filterSensitiveLog = (obj: ServiceDetail): any => ({ - ...obj, - }); -} + State?: SpotInstanceState | string; -/** - *

                                                      Contains the output of DescribeVpcEndpointServices.

                                                      - */ -export interface DescribeVpcEndpointServicesResult { /** - *

                                                      A list of supported services.

                                                      + *

                                                      The status code and status message describing the Spot Instance request.

                                                      */ - ServiceNames?: string[]; + Status?: SpotInstanceStatus; /** - *

                                                      Information about the service.

                                                      + *

                                                      Any tags assigned to the resource.

                                                      */ - ServiceDetails?: ServiceDetail[]; + Tags?: Tag[]; /** - *

                                                      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                      + *

                                                      The Spot Instance request type.

                                                      */ - NextToken?: string; -} + Type?: SpotInstanceType | string; -export namespace DescribeVpcEndpointServicesResult { /** - * @internal + *

                                                      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.

                                                      */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesResult): any => ({ - ...obj, - }); -} + ValidFrom?: Date; -export interface DescribeVpcPeeringConnectionsRequest { /** - *

                                                      One or more filters.

                                                      + *

                                                      The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ).

                                                      *
                                                        *
                                                      • - *

                                                        - * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter - * VPC.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns 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 ID of the Amazon Web Services account that owns 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.

                                                        + *

                                                        For a persistent request, the request remains active until the validUntil date + * and time is reached. Otherwise, the request remains active until you cancel it. + *

                                                        *
                                                      • *
                                                      • - *

                                                        - * vpc-peering-connection-id - The ID of the VPC peering connection.

                                                        - *
                                                      • + *

                                                        For a one-time request, the request remains active until all instances launch, + * the request is canceled, or the validUntil date and time is reached. By default, the + * request is valid for 7 days from the date the request was created.

                                                        + * *
                                                      */ - 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 VPC peering connection IDs.

                                                      - *

                                                      Default: Describes all your VPC peering connections.

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

                                                      The token for the next page of results.

                                                      - */ - NextToken?: string; + ValidUntil?: 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.

                                                      + *

                                                      The behavior when a Spot Instance is interrupted.

                                                      */ - MaxResults?: number; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace DescribeVpcPeeringConnectionsRequest { +export namespace SpotInstanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: SpotInstanceRequest): any => ({ ...obj, }); } -export interface DescribeVpcPeeringConnectionsResult { +/** + *

                                                      Contains the output of DescribeSpotInstanceRequests.

                                                      + */ +export interface DescribeSpotInstanceRequestsResult { /** - *

                                                      Information about the VPC peering connections.

                                                      + *

                                                      One or more Spot Instance requests.

                                                      */ - VpcPeeringConnections?: VpcPeeringConnection[]; + SpotInstanceRequests?: SpotInstanceRequest[]; /** - *

                                                      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 set of results. This value is null + * when there are no more results to return.

                                                      */ NextToken?: string; } -export namespace DescribeVpcPeeringConnectionsResult { +export namespace DescribeSpotInstanceRequestsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsResult): any => ({ ...obj, }); } -export interface DescribeVpcsRequest { +/** + *

                                                      Contains the parameters for DescribeSpotPriceHistory.

                                                      + */ +export interface DescribeSpotPriceHistoryRequest { /** *

                                                      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.

                                                        + * availability-zone - The Availability Zone for which prices should + * be returned.

                                                        *
                                                      • *
                                                      • *

                                                        - * is-default - Indicates whether the VPC is the default VPC.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * owner-id - The ID of the Amazon Web Services account that owns the VPC.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * state - The state of the VPC (pending | available).

                                                        + * instance-type - The type of instance (for example, + * m3.medium).

                                                        *
                                                      • *
                                                      • *

                                                        - * 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.

                                                        + * product-description - The product description for the Spot price + * (Linux/UNIX | Red Hat Enterprise Linux | + * SUSE Linux | Windows | Linux/UNIX (Amazon + * VPC) | Red Hat Enterprise Linux (Amazon VPC) | + * SUSE Linux (Amazon VPC) | Windows (Amazon + * VPC)).

                                                        *
                                                      • *
                                                      • *

                                                        - * 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.

                                                        + * spot-price - The Spot price. The value must match exactly (or use + * wildcards; greater than or less than comparison is not supported).

                                                        *
                                                      • *
                                                      • *

                                                        - * vpc-id - The ID of the VPC.

                                                        + * 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[]; /** - *

                                                      One or more VPC IDs.

                                                      - *

                                                      Default: Describes all your VPCs.

                                                      + *

                                                      Filters the results by the specified Availability Zone.

                                                      */ - VpcIds?: string[]; + 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.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without 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.

                                                      + *

                                                      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 instance types.

                                                      */ - MaxResults?: number; -} + InstanceTypes?: (_InstanceType | string)[]; -export namespace DescribeVpcsRequest { /** - * @internal + *

                                                      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.

                                                      */ - export const filterSensitiveLog = (obj: DescribeVpcsRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DescribeVpcsResult { /** - *

                                                      Information about one or more VPCs.

                                                      + *

                                                      The token for the next set of results.

                                                      */ - 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.

                                                      + *

                                                      Filters the results by the specified basic product descriptions.

                                                      */ - NextToken?: string; -} + ProductDescriptions?: string[]; -export namespace DescribeVpcsResult { /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeVpcsResult): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the parameters for DescribeVpnConnections.

                                                      - */ -export interface DescribeVpnConnectionsRequest { - /** - *

                                                      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.

                                                        - *
                                                      • - *
                                                      - */ - Filters?: Filter[]; - - /** - *

                                                      One or more VPN connection IDs.

                                                      - *

                                                      Default: Describes your VPN connections.

                                                      - */ - VpnConnectionIds?: 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, 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).

                                                      */ - DryRun?: boolean; + StartTime?: Date; } -export namespace DescribeVpnConnectionsRequest { +export namespace DescribeSpotPriceHistoryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryRequest): any => ({ ...obj, }); } /** - *

                                                      Contains the output of DescribeVpnConnections.

                                                      + *

                                                      Describes the maximum price per hour that you are willing to pay for a Spot + * Instance.

                                                      */ -export interface DescribeVpnConnectionsResult { +export interface SpotPrice { /** - *

                                                      Information about one or more VPN connections.

                                                      + *

                                                      The Availability Zone.

                                                      */ - VpnConnections?: VpnConnection[]; -} + AvailabilityZone?: string; -export namespace DescribeVpnConnectionsResult { /** - * @internal + *

                                                      The instance type.

                                                      */ - export const filterSensitiveLog = (obj: DescribeVpnConnectionsResult): any => ({ - ...obj, - }); -} + InstanceType?: _InstanceType | string; -/** - *

                                                      Contains the parameters for DescribeVpnGateways.

                                                      - */ -export interface DescribeVpnGatewaysRequest { /** - *

                                                      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.

                                                        - *
                                                      • - *
                                                      + *

                                                      A general description of the AMI.

                                                      */ - Filters?: Filter[]; + ProductDescription?: RIProductDescription | string; /** - *

                                                      One or more virtual private gateway IDs.

                                                      - *

                                                      Default: Describes all your virtual private gateways.

                                                      + *

                                                      The maximum price per hour that you are willing to pay for a Spot Instance.

                                                      */ - VpnGatewayIds?: string[]; + SpotPrice?: 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; } -export namespace DescribeVpnGatewaysRequest { +export namespace SpotPrice { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: SpotPrice): any => ({ ...obj, }); } /** - *

                                                      Contains the output of DescribeVpnGateways.

                                                      + *

                                                      Contains the output of DescribeSpotPriceHistory.

                                                      */ -export interface DescribeVpnGatewaysResult { +export interface DescribeSpotPriceHistoryResult { /** - *

                                                      Information about one or more virtual private gateways.

                                                      + *

                                                      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.

                                                      */ - VpnGateways?: VpnGateway[]; + NextToken?: string; + + /** + *

                                                      The historical Spot prices.

                                                      + */ + SpotPriceHistory?: SpotPrice[]; } -export namespace DescribeVpnGatewaysResult { +export namespace DescribeSpotPriceHistoryResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryResult): any => ({ ...obj, }); } -export interface DetachClassicLinkVpcRequest { +export interface DescribeStaleSecurityGroupsRequest { /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3924,511 +3834,530 @@ export interface DetachClassicLinkVpcRequest { DryRun?: boolean; /** - *

                                                      The ID of the instance to unlink from the VPC.

                                                      + *

                                                      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.

                                                      */ - InstanceId: string | undefined; + MaxResults?: number; /** - *

                                                      The ID of the VPC to which the instance is linked.

                                                      + *

                                                      The token for the next set of items to return. (You received this token from a prior call.)

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

                                                      The ID of the VPC.

                                                      */ VpcId: string | undefined; } -export namespace DetachClassicLinkVpcRequest { +export namespace DescribeStaleSecurityGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DetachClassicLinkVpcRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsRequest): any => ({ ...obj, }); } -export interface DetachClassicLinkVpcResult { +/** + *

                                                      Describes a stale rule in a security group.

                                                      + */ +export interface StaleIpPermission { /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      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.

                                                      */ - Return?: boolean; -} + FromPort?: number; -export namespace DetachClassicLinkVpcResult { /** - * @internal + *

                                                      The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

                                                      */ - export const filterSensitiveLog = (obj: DetachClassicLinkVpcResult): any => ({ - ...obj, - }); -} + IpProtocol?: string; -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.

                                                      + *

                                                      The IP ranges. Not applicable for stale security group rules.

                                                      */ - DryRun?: boolean; + IpRanges?: string[]; /** - *

                                                      The ID of the internet gateway.

                                                      + *

                                                      The prefix list IDs. Not applicable for stale security group rules.

                                                      */ - InternetGatewayId: string | undefined; + PrefixListIds?: string[]; /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      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.

                                                      */ - VpcId: string | undefined; -} + ToPort?: number; -export namespace DetachInternetGatewayRequest { /** - * @internal - */ - export const filterSensitiveLog = (obj: DetachInternetGatewayRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the parameters for DetachNetworkInterface.

                                                      - */ -export interface DetachNetworkInterfaceRequest { - /** - *

                                                      The ID of the attachment.

                                                      - */ - AttachmentId: 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; - - /** - *

                                                      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.

                                                        - *
                                                      • - *
                                                      - *
                                                      + *

                                                      The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

                                                      */ - Force?: boolean; + UserIdGroupPairs?: UserIdGroupPair[]; } -export namespace DetachNetworkInterfaceRequest { +export namespace StaleIpPermission { /** * @internal */ - export const filterSensitiveLog = (obj: DetachNetworkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: StaleIpPermission): any => ({ ...obj, }); } -export interface DetachVolumeRequest { - /** - *

                                                      The device name.

                                                      - */ - Device?: string; - - /** - *

                                                      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; - +/** + *

                                                      Describes a stale security group (a security group that contains stale rules).

                                                      + */ +export interface StaleSecurityGroup { /** - *

                                                      The ID of the volume.

                                                      + *

                                                      The description of the security group.

                                                      */ - VolumeId: string | undefined; + 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 ID of the security group.

                                                      */ - DryRun?: boolean; -} + GroupId?: string; -export namespace DetachVolumeRequest { /** - * @internal + *

                                                      The name of the security group.

                                                      */ - export const filterSensitiveLog = (obj: DetachVolumeRequest): any => ({ - ...obj, - }); -} + GroupName?: string; -/** - *

                                                      Contains the parameters for DetachVpnGateway.

                                                      - */ -export interface DetachVpnGatewayRequest { /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      Information about the stale inbound rules in the security group.

                                                      */ - VpcId: string | undefined; + StaleIpPermissions?: StaleIpPermission[]; /** - *

                                                      The ID of the virtual private gateway.

                                                      + *

                                                      Information about the stale outbound rules in the security group.

                                                      */ - VpnGatewayId: string | undefined; + StaleIpPermissionsEgress?: StaleIpPermission[]; /** - *

                                                      Checks whether you have the required permissions for the action, without 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 VPC for the security group.

                                                      */ - DryRun?: boolean; + VpcId?: string; } -export namespace DetachVpnGatewayRequest { +export namespace StaleSecurityGroup { /** * @internal */ - export const filterSensitiveLog = (obj: DetachVpnGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: StaleSecurityGroup): any => ({ ...obj, }); } -export interface DisableEbsEncryptionByDefaultRequest { +export interface DescribeStaleSecurityGroupsResult { /** - *

                                                      Checks whether you have the required permissions for the action, without 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 when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                      */ - DryRun?: boolean; + NextToken?: string; + + /** + *

                                                      Information about the stale security groups.

                                                      + */ + StaleSecurityGroupSet?: StaleSecurityGroup[]; } -export namespace DisableEbsEncryptionByDefaultRequest { +export namespace DescribeStaleSecurityGroupsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsResult): any => ({ ...obj, }); } -export interface DisableEbsEncryptionByDefaultResult { +export interface DescribeStoreImageTasksRequest { /** - *

                                                      The updated status of encryption by default.

                                                      + *

                                                      The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

                                                      */ - EbsEncryptionByDefault?: boolean; -} + ImageIds?: string[]; -export namespace DisableEbsEncryptionByDefaultResult { /** - * @internal + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface DisableFastSnapshotRestoresRequest { /** - *

                                                      One or more Availability Zones. For example, us-east-2a.

                                                      + *

                                                      The filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * task-state - Returns tasks in a certain state (InProgress | + * Completed | Failed)

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * bucket - Returns task information for tasks that targeted a specific + * bucket. For the filter value, specify the bucket name.

                                                        + *
                                                      • + *
                                                      */ - AvailabilityZones: string[] | undefined; + Filters?: Filter[]; /** - *

                                                      The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - SourceSnapshotIds: string[] | undefined; + 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 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. You cannot specify this parameter and the ImageIDs parameter + * in the same call.

                                                      */ - DryRun?: boolean; + MaxResults?: number; } -export namespace DisableFastSnapshotRestoresRequest { +export namespace DescribeStoreImageTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeStoreImageTasksRequest): any => ({ ...obj, }); } /** - *

                                                      Describes fast snapshot restores that were successfully disabled.

                                                      + *

                                                      The information about the AMI store task, including the progress of the task.

                                                      */ -export interface DisableFastSnapshotRestoreSuccessItem { - /** - *

                                                      The ID of the snapshot.

                                                      - */ - SnapshotId?: string; - +export interface StoreImageTaskResult { /** - *

                                                      The Availability Zone.

                                                      + *

                                                      The ID of the AMI that is being stored.

                                                      */ - AvailabilityZone?: string; + AmiId?: string; /** - *

                                                      The state of fast snapshot restores for the snapshot.

                                                      + *

                                                      The time the task started.

                                                      */ - State?: FastSnapshotRestoreStateCode | string; + TaskStartTime?: Date; /** - *

                                                      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 name of the Amazon S3 bucket that contains the stored AMI object.

                                                      */ - StateTransitionReason?: string; + Bucket?: string; /** - *

                                                      The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                      + *

                                                      The name of the stored AMI object in the bucket.

                                                      */ - OwnerId?: string; + S3objectKey?: string; /** - *

                                                      The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                      + *

                                                      The progress of the task as a percentage.

                                                      */ - OwnerAlias?: string; + ProgressPercentage?: number; /** - *

                                                      The time at which fast snapshot restores entered the enabling state.

                                                      + *

                                                      The state of the store task (InProgress, Completed, or + * Failed).

                                                      */ - EnablingTime?: Date; + StoreTaskState?: string; /** - *

                                                      The time at which fast snapshot restores entered the optimizing state.

                                                      + *

                                                      If the tasks fails, the reason for the failure is returned. If the task succeeds, + * null is returned.

                                                      */ - OptimizingTime?: Date; + StoreTaskFailureReason?: string; +} +export namespace StoreImageTaskResult { /** - *

                                                      The time at which fast snapshot restores entered the enabled state.

                                                      + * @internal */ - EnabledTime?: Date; + export const filterSensitiveLog = (obj: StoreImageTaskResult): any => ({ + ...obj, + }); +} +export interface DescribeStoreImageTasksResult { /** - *

                                                      The time at which fast snapshot restores entered the disabling state.

                                                      + *

                                                      The information about the AMI store tasks.

                                                      */ - DisablingTime?: Date; + StoreImageTaskResults?: StoreImageTaskResult[]; /** - *

                                                      The time at which fast snapshot restores entered the disabled state.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                                      */ - DisabledTime?: Date; + NextToken?: string; } -export namespace DisableFastSnapshotRestoreSuccessItem { +export namespace DescribeStoreImageTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreSuccessItem): any => ({ + export const filterSensitiveLog = (obj: DescribeStoreImageTasksResult): any => ({ ...obj, }); } -/** - *

                                                      Describes an error that occurred when disabling fast snapshot restores.

                                                      - */ -export interface DisableFastSnapshotRestoreStateError { +export interface DescribeSubnetsRequest { /** - *

                                                      The error code.

                                                      + *

                                                      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 (true | false). 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.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * ipv6-native - Indicates whether this is an IPv6 only subnet (true | false).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * owner-id - The ID of the Amazon Web Services 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.

                                                        + *
                                                      • + *
                                                      */ - Code?: string; + Filters?: Filter[]; /** - *

                                                      The error message.

                                                      + *

                                                      One or more subnet IDs.

                                                      + *

                                                      Default: Describes all your subnets.

                                                      */ - Message?: string; -} + SubnetIds?: string[]; -export namespace DisableFastSnapshotRestoreStateError { /** - * @internal + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateError): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

                                                      Contains information about an error that occurred when disabling fast snapshot restores.

                                                      - */ -export interface DisableFastSnapshotRestoreStateErrorItem { /** - *

                                                      The Availability Zone.

                                                      + *

                                                      The token for the next page of results.

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

                                                      The error.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - Error?: DisableFastSnapshotRestoreStateError; + MaxResults?: number; } -export namespace DisableFastSnapshotRestoreStateErrorItem { +export namespace DescribeSubnetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateErrorItem): any => ({ + export const filterSensitiveLog = (obj: DescribeSubnetsRequest): any => ({ ...obj, }); } -/** - *

                                                      Contains information about the errors that occurred when disabling fast snapshot restores.

                                                      - */ -export interface DisableFastSnapshotRestoreErrorItem { +export interface DescribeSubnetsResult { /** - *

                                                      The ID of the snapshot.

                                                      + *

                                                      Information about one or more subnets.

                                                      */ - SnapshotId?: string; + Subnets?: Subnet[]; /** - *

                                                      The errors.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; + NextToken?: string; } -export namespace DisableFastSnapshotRestoreErrorItem { +export namespace DescribeSubnetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreErrorItem): any => ({ + export const filterSensitiveLog = (obj: DescribeSubnetsResult): any => ({ ...obj, }); } -export interface DisableFastSnapshotRestoresResult { +export interface DescribeTagsRequest { /** - *

                                                      Information about the snapshots for which fast snapshot restores were successfully disabled.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - Successful?: DisableFastSnapshotRestoreSuccessItem[]; + DryRun?: boolean; /** - *

                                                      Information about the snapshots for which fast snapshot restores could not be disabled.

                                                      + *

                                                      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.

                                                        + *
                                                      • + *
                                                      */ - Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; + Filters?: Filter[]; + + /** + *

                                                      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.

                                                      + */ + MaxResults?: number; + + /** + *

                                                      The token to retrieve the next page of results.

                                                      + */ + NextToken?: string; } -export namespace DisableFastSnapshotRestoresResult { +export namespace DescribeTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTagsRequest): any => ({ ...obj, }); } -export interface DisableImageDeprecationRequest { +/** + *

                                                      Describes a tag.

                                                      + */ +export interface TagDescription { /** - *

                                                      The ID of the AMI.

                                                      + *

                                                      The tag key.

                                                      */ - ImageId: string | undefined; + Key?: 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 resource.

                                                      */ - DryRun?: boolean; -} + ResourceId?: string; -export namespace DisableImageDeprecationRequest { /** - * @internal + *

                                                      The resource type.

                                                      */ - export const filterSensitiveLog = (obj: DisableImageDeprecationRequest): any => ({ - ...obj, - }); -} + ResourceType?: ResourceType | string; -export interface DisableImageDeprecationResult { /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      The tag value.

                                                      */ - Return?: boolean; + Value?: string; } -export namespace DisableImageDeprecationResult { +export namespace TagDescription { /** * @internal */ - export const filterSensitiveLog = (obj: DisableImageDeprecationResult): any => ({ + export const filterSensitiveLog = (obj: TagDescription): any => ({ ...obj, }); } -export interface DisableSerialConsoleAccessRequest { +export interface DescribeTagsResult { /** - *

                                                      Checks whether you have the required permissions for the action, without 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 tags.

                                                      + */ + Tags?: TagDescription[]; } -export namespace DisableSerialConsoleAccessRequest { +export namespace DescribeTagsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableSerialConsoleAccessRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTagsResult): any => ({ ...obj, }); } -export interface DisableSerialConsoleAccessResult { +export interface DescribeTrafficMirrorFiltersRequest { /** - *

                                                      If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

                                                      + *

                                                      The ID of the Traffic Mirror filter.

                                                      */ - SerialConsoleAccessEnabled?: boolean; -} - -export namespace DisableSerialConsoleAccessResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DisableSerialConsoleAccessResult): any => ({ - ...obj, - }); -} - -export interface DisableTransitGatewayRouteTablePropagationRequest { - /** - *

                                                      The ID of the propagation route table.

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

                                                      The ID of the attachment.

                                                      - */ - TransitGatewayAttachmentId: string | undefined; + TrafficMirrorFilterIds?: string[]; /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, @@ -4436,405 +4365,470 @@ export interface DisableTransitGatewayRouteTablePropagationRequest { * Otherwise, it is UnauthorizedOperation.

                                                      */ DryRun?: boolean; -} -export namespace DisableTransitGatewayRouteTablePropagationRequest { /** - * @internal + *

                                                      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.

                                                        + *
                                                      • + *
                                                      */ - export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationRequest): any => ({ - ...obj, - }); -} - -export type TransitGatewayPropagationState = "disabled" | "disabling" | "enabled" | "enabling"; + Filters?: Filter[]; -/** - *

                                                      Describes route propagation.

                                                      - */ -export interface TransitGatewayPropagation { /** - *

                                                      The ID of the 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.

                                                      */ - TransitGatewayAttachmentId?: string; + MaxResults?: number; /** - *

                                                      The ID of the resource.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - ResourceId?: string; + NextToken?: string; +} +export namespace DescribeTrafficMirrorFiltersRequest { /** - *

                                                      The resource type. Note that the tgw-peering resource type has been deprecated.

                                                      + * @internal */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersRequest): any => ({ + ...obj, + }); +} +export interface DescribeTrafficMirrorFiltersResult { /** - *

                                                      The ID of the transit gateway route table.

                                                      + *

                                                      Information about one or more Traffic Mirror filters.

                                                      */ - TransitGatewayRouteTableId?: string; + TrafficMirrorFilters?: TrafficMirrorFilter[]; /** - *

                                                      The state.

                                                      + *

                                                      The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                      */ - State?: TransitGatewayPropagationState | string; + NextToken?: string; } -export namespace TransitGatewayPropagation { +export namespace DescribeTrafficMirrorFiltersResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayPropagation): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersResult): any => ({ ...obj, }); } -export interface DisableTransitGatewayRouteTablePropagationResult { +export interface DescribeTrafficMirrorSessionsRequest { /** - *

                                                      Information about route propagation.

                                                      + *

                                                      The ID of the Traffic Mirror session.

                                                      */ - Propagation?: TransitGatewayPropagation; -} + TrafficMirrorSessionIds?: string[]; -export namespace DisableTransitGatewayRouteTablePropagationResult { /** - * @internal + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

                                                      Contains the parameters for DisableVgwRoutePropagation.

                                                      - */ -export interface DisableVgwRoutePropagationRequest { /** - *

                                                      The ID of the virtual private gateway.

                                                      + *

                                                      One or more filters. The possible values are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * 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.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * traffic-mirror-session-id: The ID of the Traffic Mirror session.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * virtual-network-id: The virtual network ID of the Traffic Mirror session.

                                                        + *
                                                      • + *
                                                      */ - GatewayId: string | undefined; + Filters?: Filter[]; /** - *

                                                      The ID of the route table.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - RouteTableId: string | undefined; + 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; } -export namespace DisableVgwRoutePropagationRequest { +export namespace DescribeTrafficMirrorSessionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVgwRoutePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsRequest): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkRequest { +export interface DescribeTrafficMirrorSessionsResult { /** - *

                                                      Checks whether you have the required permissions for the action, without 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 one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

                                                      */ - DryRun?: boolean; + TrafficMirrorSessions?: TrafficMirrorSession[]; /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                      */ - VpcId: string | undefined; + NextToken?: string; } -export namespace DisableVpcClassicLinkRequest { +export namespace DescribeTrafficMirrorSessionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsResult): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkResult { +export interface DescribeTrafficMirrorTargetsRequest { /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      The ID of the Traffic Mirror targets.

                                                      */ - Return?: boolean; -} + TrafficMirrorTargetIds?: string[]; -export namespace DisableVpcClassicLinkResult { /** - * @internal + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      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.

                                                        + *
                                                      • + *
                                                      */ - VpcId?: string; -} + Filters?: Filter[]; -export namespace DisableVpcClassicLinkDnsSupportRequest { /** - * @internal + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DisableVpcClassicLinkDnsSupportResult { /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - Return?: boolean; + NextToken?: string; } -export namespace DisableVpcClassicLinkDnsSupportResult { +export namespace DescribeTrafficMirrorTargetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsRequest): any => ({ ...obj, }); } -export interface DisassociateAddressRequest { - /** - *

                                                      [EC2-VPC] The association ID. Required for EC2-VPC.

                                                      - */ - AssociationId?: string; - +export interface DescribeTrafficMirrorTargetsResult { /** - *

                                                      [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                      + *

                                                      Information about one or more Traffic Mirror targets.

                                                      */ - PublicIp?: string; + TrafficMirrorTargets?: TrafficMirrorTarget[]; /** - *

                                                      Checks whether you have the required permissions for the action, without 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. The value is null when there are no more results to return.

                                                      */ - DryRun?: boolean; + NextToken?: string; } -export namespace DisassociateAddressRequest { +export namespace DescribeTrafficMirrorTargetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateAddressRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsResult): any => ({ ...obj, }); } -export interface DisassociateClientVpnTargetNetworkRequest { +export interface DescribeTransitGatewayAttachmentsRequest { /** - *

                                                      The ID of the Client VPN endpoint from which to disassociate the target network.

                                                      + *

                                                      The IDs of the attachments.

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

                                                      The ID of the target network association.

                                                      - */ - AssociationId: string | undefined; + TransitGatewayAttachmentIds?: 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.

                                                      + *

                                                      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 Amazon Web Services account that owns the resource.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * 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.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                        + *
                                                      • + *
                                                      */ - DryRun?: boolean; -} + Filters?: Filter[]; -export namespace DisassociateClientVpnTargetNetworkRequest { /** - * @internal + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DisassociateClientVpnTargetNetworkResult { /** - *

                                                      The ID of the target network association.

                                                      + *

                                                      The token for the next page of results.

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

                                                      The current state 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.

                                                      */ - Status?: AssociationStatus; + DryRun?: boolean; } -export namespace DisassociateClientVpnTargetNetworkResult { +export namespace DescribeTransitGatewayAttachmentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsRequest): any => ({ ...obj, }); } -export interface DisassociateEnclaveCertificateIamRoleRequest { - /** - *

                                                      The ARN of the ACM certificate from which to disassociate the IAM role.

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

                                                      Describes an association.

                                                      + */ +export interface TransitGatewayAttachmentAssociation { /** - *

                                                      The ARN of the IAM role to disassociate.

                                                      + *

                                                      The ID of the route table for the transit gateway.

                                                      */ - RoleArn?: string; + TransitGatewayRouteTableId?: 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 state of the association.

                                                      */ - DryRun?: boolean; + State?: TransitGatewayAssociationState | string; } -export namespace DisassociateEnclaveCertificateIamRoleRequest { +export namespace TransitGatewayAttachmentAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachmentAssociation): any => ({ ...obj, }); } -export interface DisassociateEnclaveCertificateIamRoleResult { +/** + *

                                                      Describes an attachment between a resource and a transit gateway.

                                                      + */ +export interface TransitGatewayAttachment { /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      The ID of the attachment.

                                                      */ - Return?: boolean; -} + TransitGatewayAttachmentId?: string; -export namespace DisassociateEnclaveCertificateIamRoleResult { /** - * @internal + *

                                                      The ID of the transit gateway.

                                                      */ - export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleResult): any => ({ - ...obj, - }); -} + TransitGatewayId?: string; -export interface DisassociateIamInstanceProfileRequest { /** - *

                                                      The ID of the IAM instance profile association.

                                                      + *

                                                      The ID of the Amazon Web Services account that owns the transit gateway.

                                                      */ - AssociationId: string | undefined; -} + TransitGatewayOwnerId?: string; -export namespace DisassociateIamInstanceProfileRequest { /** - * @internal + *

                                                      The ID of the Amazon Web Services account that owns the resource.

                                                      */ - export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileRequest): any => ({ - ...obj, - }); -} + ResourceOwnerId?: string; -export interface DisassociateIamInstanceProfileResult { /** - *

                                                      Information about the IAM instance profile association.

                                                      + *

                                                      The resource type. Note that the tgw-peering resource type has been deprecated.

                                                      */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; -} + ResourceType?: TransitGatewayAttachmentResourceType | string; -export namespace DisassociateIamInstanceProfileResult { /** - * @internal + *

                                                      The ID of the resource.

                                                      */ - export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileResult): any => ({ - ...obj, - }); -} + ResourceId?: string; -/** - *

                                                      The targets to disassociate from the specified event window.

                                                      - */ -export interface InstanceEventWindowDisassociationRequest { /** - *

                                                      The IDs of the instances to disassociate from the event window.

                                                      + *

                                                      The attachment state. Note that the initiating state has been deprecated.

                                                      */ - InstanceIds?: string[]; + State?: TransitGatewayAttachmentState | string; /** - *

                                                      The instance tags to disassociate from the event window. Any instances associated with - * the tags will be disassociated from the event window.

                                                      + *

                                                      The association.

                                                      */ - InstanceTags?: Tag[]; + Association?: TransitGatewayAttachmentAssociation; /** - *

                                                      The IDs of the Dedicated Hosts to disassociate from the event window.

                                                      + *

                                                      The creation time.

                                                      */ - DedicatedHostIds?: string[]; + CreationTime?: Date; + + /** + *

                                                      The tags for the attachment.

                                                      + */ + Tags?: Tag[]; } -export namespace InstanceEventWindowDisassociationRequest { +export namespace TransitGatewayAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceEventWindowDisassociationRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachment): any => ({ ...obj, }); } -export interface DisassociateInstanceEventWindowRequest { - /** - *

                                                      Checks whether you have the required permissions for the action, without 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 DescribeTransitGatewayAttachmentsResult { /** - *

                                                      The ID of the event window.

                                                      + *

                                                      Information about the attachments.

                                                      */ - InstanceEventWindowId: string | undefined; + TransitGatewayAttachments?: TransitGatewayAttachment[]; /** - *

                                                      One or more targets to disassociate from the specified event window.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; + NextToken?: string; } -export namespace DisassociateInstanceEventWindowRequest { +export namespace DescribeTransitGatewayAttachmentsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsResult): any => ({ ...obj, }); } -export interface DisassociateInstanceEventWindowResult { +export interface DescribeTransitGatewayConnectPeersRequest { /** - *

                                                      Information about the event window.

                                                      + *

                                                      The IDs of the Connect peers.

                                                      */ - InstanceEventWindow?: InstanceEventWindow; -} + TransitGatewayConnectPeerIds?: string[]; -export namespace DisassociateInstanceEventWindowResult { /** - * @internal + *

                                                      One or more filters. The possible values are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * state - The state of the Connect peer (pending | + * available | deleting | + * deleted).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-attachment-id - The ID of the attachment.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-connect-peer-id - The ID of the Connect peer.

                                                        + *
                                                      • + *
                                                      */ - export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowResult): any => ({ - ...obj, - }); -} + Filters?: Filter[]; -export interface DisassociateRouteTableRequest { /** - *

                                                      The association ID representing the current association between the route table and subnet or gateway.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - AssociationId: string | undefined; + 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, @@ -4844,67 +4838,85 @@ export interface DisassociateRouteTableRequest { DryRun?: boolean; } -export namespace DisassociateRouteTableRequest { +export namespace DescribeTransitGatewayConnectPeersRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersRequest): any => ({ ...obj, }); } -export interface DisassociateSubnetCidrBlockRequest { +export interface DescribeTransitGatewayConnectPeersResult { /** - *

                                                      The association ID for the CIDR block.

                                                      + *

                                                      Information about the Connect peers.

                                                      */ - AssociationId: string | undefined; + TransitGatewayConnectPeers?: TransitGatewayConnectPeer[]; + + /** + *

                                                      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 DisassociateSubnetCidrBlockRequest { +export namespace DescribeTransitGatewayConnectPeersResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersResult): any => ({ ...obj, }); } -export interface DisassociateSubnetCidrBlockResult { +export interface DescribeTransitGatewayConnectsRequest { /** - *

                                                      Information about the IPv6 CIDR block association.

                                                      + *

                                                      The IDs of the attachments.

                                                      */ - Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; - - /** - *

                                                      The ID of the subnet.

                                                      - */ - SubnetId?: string; -} - -export namespace DisassociateSubnetCidrBlockResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockResult): any => ({ - ...obj, - }); -} + TransitGatewayAttachmentIds?: string[]; -export interface DisassociateTransitGatewayMulticastDomainRequest { /** - *

                                                      The ID of the transit gateway multicast domain.

                                                      + *

                                                      One or more filters. The possible values are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * options.protocol - The tunnel protocol (gre).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * state - The state of the attachment (initiating | + * initiatingRequest | pendingAcceptance | + * rollingBack | pending | available | + * modifying | deleting | deleted | + * failed | rejected | rejecting | + * failing).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-attachment-id - The ID of the + * Connect attachment.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-id - The ID of the transit gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

                                                        + *
                                                      • + *
                                                      */ - TransitGatewayMulticastDomainId?: string; + Filters?: Filter[]; /** - *

                                                      The ID of the 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.

                                                      */ - TransitGatewayAttachmentId?: string; + MaxResults?: number; /** - *

                                                      The IDs of the subnets;

                                                      + *

                                                      The token for the next page of results.

                                                      */ - SubnetIds?: string[]; + NextToken?: string; /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, @@ -4914,87 +4926,71 @@ export interface DisassociateTransitGatewayMulticastDomainRequest { DryRun?: boolean; } -export namespace DisassociateTransitGatewayMulticastDomainRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainRequest): any => ({ - ...obj, - }); -} - -export interface DisassociateTransitGatewayMulticastDomainResult { - /** - *

                                                      Information about the association.

                                                      - */ - Associations?: TransitGatewayMulticastDomainAssociations; -} - -export namespace DisassociateTransitGatewayMulticastDomainResult { +export namespace DescribeTransitGatewayConnectsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsRequest): any => ({ ...obj, }); } -export interface DisassociateTransitGatewayRouteTableRequest { - /** - *

                                                      The ID of the transit gateway route table.

                                                      - */ - TransitGatewayRouteTableId: string | undefined; - +export interface DescribeTransitGatewayConnectsResult { /** - *

                                                      The ID of the attachment.

                                                      + *

                                                      Information about the Connect attachments.

                                                      */ - TransitGatewayAttachmentId: string | undefined; + TransitGatewayConnects?: TransitGatewayConnect[]; /** - *

                                                      Checks whether you have the required permissions for the action, without 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 DisassociateTransitGatewayRouteTableRequest { +export namespace DescribeTransitGatewayConnectsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsResult): any => ({ ...obj, }); } -export interface DisassociateTransitGatewayRouteTableResult { +export interface DescribeTransitGatewayMulticastDomainsRequest { /** - *

                                                      Information about the association.

                                                      + *

                                                      The ID of the transit gateway multicast domain.

                                                      */ - Association?: TransitGatewayAssociation; -} + TransitGatewayMulticastDomainIds?: string[]; -export namespace DisassociateTransitGatewayRouteTableResult { /** - * @internal + *

                                                      One or more filters. The possible values are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-id - The ID of the transit gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

                                                        + *
                                                      • + *
                                                      */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableResult): any => ({ - ...obj, - }); -} + Filters?: Filter[]; -export interface DisassociateTrunkInterfaceRequest { /** - *

                                                      The ID of the association

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - AssociationId: string | undefined; + MaxResults?: number; /** - *

                                                      Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                                                      + *

                                                      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, @@ -5004,81 +5000,89 @@ export interface DisassociateTrunkInterfaceRequest { DryRun?: boolean; } -export namespace DisassociateTrunkInterfaceRequest { +export namespace DescribeTransitGatewayMulticastDomainsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsRequest): any => ({ ...obj, }); } -export interface DisassociateTrunkInterfaceResult { - /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      - */ - Return?: 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 DisassociateTrunkInterfaceResult { +export interface DescribeTransitGatewayMulticastDomainsResult { /** - * @internal + *

                                                      Information about the transit gateway multicast domains.

                                                      */ - export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceResult): any => ({ - ...obj, - }); -} + TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; -export interface DisassociateVpcCidrBlockRequest { /** - *

                                                      The association ID for the CIDR block.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - AssociationId: string | undefined; + NextToken?: string; } -export namespace DisassociateVpcCidrBlockRequest { +export namespace DescribeTransitGatewayMulticastDomainsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsResult): any => ({ ...obj, }); } -export interface DisassociateVpcCidrBlockResult { +export interface DescribeTransitGatewayPeeringAttachmentsRequest { /** - *

                                                      Information about the IPv6 CIDR block association.

                                                      + *

                                                      One or more IDs of the transit gateway peering attachments.

                                                      */ - Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; + TransitGatewayAttachmentIds?: string[]; /** - *

                                                      Information about the IPv4 CIDR block association.

                                                      + *

                                                      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 Amazon Web Services account.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * remote-owner-id - The ID of the Amazon Web Services 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).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * 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.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-id - The ID of the transit gateway.

                                                        + *
                                                      • + *
                                                      */ - CidrBlockAssociation?: VpcCidrBlockAssociation; + Filters?: Filter[]; /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - VpcId?: string; -} + MaxResults?: number; -export namespace DisassociateVpcCidrBlockResult { /** - * @internal + *

                                                      The token for the next page of results.

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

                                                      Checks whether you have the required permissions 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,42 +5091,81 @@ export interface EnableEbsEncryptionByDefaultRequest { DryRun?: boolean; } -export namespace EnableEbsEncryptionByDefaultRequest { +export namespace DescribeTransitGatewayPeeringAttachmentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsRequest): any => ({ ...obj, }); } -export interface EnableEbsEncryptionByDefaultResult { +export interface DescribeTransitGatewayPeeringAttachmentsResult { /** - *

                                                      The updated status of encryption by default.

                                                      + *

                                                      The transit gateway peering attachments.

                                                      */ - EbsEncryptionByDefault?: boolean; + TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; + + /** + *

                                                      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 EnableEbsEncryptionByDefaultResult { +export namespace DescribeTransitGatewayPeeringAttachmentsResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsResult): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresRequest { +export interface DescribeTransitGatewayRouteTablesRequest { /** - *

                                                      One or more Availability Zones. For example, us-east-2a.

                                                      + *

                                                      The IDs of the transit gateway route tables.

                                                      */ - AvailabilityZones: string[] | undefined; + TransitGatewayRouteTableIds?: string[]; /** - *

                                                      The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify - * a snapshot that was shared with you from another Amazon Web Services account.

                                                      + *

                                                      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.

                                                        + *
                                                      • + *
                                                      */ - SourceSnapshotIds: string[] | undefined; + 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; /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, @@ -5132,282 +5175,304 @@ export interface EnableFastSnapshotRestoresRequest { DryRun?: boolean; } -export namespace EnableFastSnapshotRestoresRequest { +export namespace DescribeTransitGatewayRouteTablesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesRequest): any => ({ ...obj, }); } -/** - *

                                                      Describes fast snapshot restores that were successfully enabled.

                                                      - */ -export interface EnableFastSnapshotRestoreSuccessItem { +export interface DescribeTransitGatewayRouteTablesResult { /** - *

                                                      The ID of the snapshot.

                                                      + *

                                                      Information about the transit gateway route tables.

                                                      */ - SnapshotId?: string; + TransitGatewayRouteTables?: TransitGatewayRouteTable[]; /** - *

                                                      The Availability Zone.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - AvailabilityZone?: string; + NextToken?: string; +} +export namespace DescribeTransitGatewayRouteTablesResult { /** - *

                                                      The state of fast snapshot restores.

                                                      + * @internal */ - State?: FastSnapshotRestoreStateCode | string; + export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesResult): any => ({ + ...obj, + }); +} +export interface DescribeTransitGatewaysRequest { /** - *

                                                      The reason for the state transition. The possible values are as follows:

                                                      + *

                                                      The IDs of the transit gateways.

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

                                                      One or more filters. The possible values are:

                                                      *
                                                        *
                                                      • *

                                                        - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                                                        + * options.propagation-default-route-table-id - The ID of the default propagation route table.

                                                        *
                                                      • *
                                                      • *

                                                        - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                                                        + * 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.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * options.default-route-table-association - Indicates whether resource attachments are automatically + * associated with the default association route table (enable | disable).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate + * routes to the default propagation route table (enable | disable).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * transit-gateway-id - The ID of the transit gateway.

                                                        *
                                                      • *
                                                      */ - StateTransitionReason?: string; - - /** - *

                                                      The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                      - */ - OwnerId?: string; - - /** - *

                                                      The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                      - */ - OwnerAlias?: string; - - /** - *

                                                      The time at which fast snapshot restores entered the enabling state.

                                                      - */ - EnablingTime?: Date; - - /** - *

                                                      The time at which fast snapshot restores entered the optimizing state.

                                                      - */ - OptimizingTime?: Date; + Filters?: Filter[]; /** - *

                                                      The time at which fast snapshot restores entered the enabled state.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - EnabledTime?: Date; + MaxResults?: number; /** - *

                                                      The time at which fast snapshot restores entered the disabling state.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - DisablingTime?: Date; + NextToken?: string; /** - *

                                                      The time at which fast snapshot restores entered the disabled 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.

                                                      */ - DisabledTime?: Date; + DryRun?: boolean; } -export namespace EnableFastSnapshotRestoreSuccessItem { +export namespace DescribeTransitGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewaysRequest): any => ({ ...obj, }); } -/** - *

                                                      Describes an error that occurred when enabling fast snapshot restores.

                                                      - */ -export interface EnableFastSnapshotRestoreStateError { +export interface DescribeTransitGatewaysResult { /** - *

                                                      The error code.

                                                      + *

                                                      Information about the transit gateways.

                                                      */ - Code?: string; + TransitGateways?: TransitGateway[]; /** - *

                                                      The error message.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - Message?: string; + NextToken?: string; } -export namespace EnableFastSnapshotRestoreStateError { +export namespace DescribeTransitGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewaysResult): any => ({ ...obj, }); } -/** - *

                                                      Contains information about an error that occurred when enabling fast snapshot restores.

                                                      - */ -export interface EnableFastSnapshotRestoreStateErrorItem { +export interface DescribeTransitGatewayVpcAttachmentsRequest { /** - *

                                                      The Availability Zone.

                                                      + *

                                                      The IDs of the attachments.

                                                      */ - AvailabilityZone?: string; + TransitGatewayAttachmentIds?: string[]; /** - *

                                                      The error.

                                                      + *

                                                      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.

                                                        + *
                                                      • + *
                                                      */ - Error?: EnableFastSnapshotRestoreStateError; -} + Filters?: Filter[]; -export namespace EnableFastSnapshotRestoreStateErrorItem { /** - * @internal + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                                                      Contains information about the errors that occurred when enabling fast snapshot restores.

                                                      - */ -export interface EnableFastSnapshotRestoreErrorItem { /** - *

                                                      The ID of the snapshot.

                                                      + *

                                                      The token for the next page of results.

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

                                                      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?: EnableFastSnapshotRestoreStateErrorItem[]; + DryRun?: boolean; } -export namespace EnableFastSnapshotRestoreErrorItem { +export namespace DescribeTransitGatewayVpcAttachmentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsRequest): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresResult { +export interface DescribeTransitGatewayVpcAttachmentsResult { /** - *

                                                      Information about the snapshots for which fast snapshot restores were successfully enabled.

                                                      + *

                                                      Information about the VPC attachments.

                                                      */ - Successful?: EnableFastSnapshotRestoreSuccessItem[]; + TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; /** - *

                                                      Information about the snapshots for which fast snapshot restores could not be enabled.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; + NextToken?: string; } -export namespace EnableFastSnapshotRestoresResult { +export namespace DescribeTransitGatewayVpcAttachmentsResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsResult): any => ({ ...obj, }); } -export interface EnableImageDeprecationRequest { +export interface DescribeTrunkInterfaceAssociationsRequest { /** - *

                                                      The ID of the AMI.

                                                      + *

                                                      The IDs of the associations.

                                                      */ - ImageId: string | undefined; + AssociationIds?: string[]; /** - *

                                                      The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specify a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

                                                      - *

                                                      You can’t specify a date in the past. The upper limit for DeprecateAt is 10 - * years from now.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - DeprecateAt: Date | 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.

                                                      + *

                                                      One or more filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * gre-key - The ID of a trunk interface association.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

                                                        + *
                                                      • + *
                                                      */ - DryRun?: boolean; -} + Filters?: Filter[]; -export namespace EnableImageDeprecationRequest { /** - * @internal + *

                                                      The token for the next page of results.

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

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - Return?: boolean; + MaxResults?: number; } -export namespace EnableImageDeprecationResult { +export namespace DescribeTrunkInterfaceAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableImageDeprecationResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsRequest): any => ({ ...obj, }); } -export interface EnableSerialConsoleAccessRequest { - /** - *

                                                      Checks whether you have the required permissions for the action, without 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 EnableSerialConsoleAccessRequest { +export interface DescribeTrunkInterfaceAssociationsResult { /** - * @internal + *

                                                      Information about the trunk associations.

                                                      */ - export const filterSensitiveLog = (obj: EnableSerialConsoleAccessRequest): any => ({ - ...obj, - }); -} + InterfaceAssociations?: TrunkInterfaceAssociation[]; -export interface EnableSerialConsoleAccessResult { /** - *

                                                      If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - SerialConsoleAccessEnabled?: boolean; + NextToken?: string; } -export namespace EnableSerialConsoleAccessResult { +export namespace DescribeTrunkInterfaceAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableSerialConsoleAccessResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsResult): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationRequest { +export type VolumeAttributeName = "autoEnableIO" | "productCodes"; + +export interface DescribeVolumeAttributeRequest { /** - *

                                                      The ID of the propagation route table.

                                                      + *

                                                      The attribute of the volume. This parameter is required.

                                                      */ - TransitGatewayRouteTableId: string | undefined; + Attribute: VolumeAttributeName | string | undefined; /** - *

                                                      The ID of the attachment.

                                                      + *

                                                      The ID of the volume.

                                                      */ - TransitGatewayAttachmentId: string | undefined; + VolumeId: string | undefined; /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, @@ -5417,67 +5482,136 @@ export interface EnableTransitGatewayRouteTablePropagationRequest { DryRun?: boolean; } -export namespace EnableTransitGatewayRouteTablePropagationRequest { +export namespace DescribeVolumeAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumeAttributeRequest): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationResult { +export interface DescribeVolumeAttributeResult { /** - *

                                                      Information about route propagation.

                                                      + *

                                                      The state of autoEnableIO attribute.

                                                      */ - Propagation?: TransitGatewayPropagation; -} + AutoEnableIO?: AttributeBooleanValue; -export namespace EnableTransitGatewayRouteTablePropagationResult { /** - * @internal + *

                                                      A list of product codes.

                                                      */ - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ - ...obj, - }); -} + ProductCodes?: ProductCode[]; -/** - *

                                                      Contains the parameters for EnableVgwRoutePropagation.

                                                      - */ -export interface EnableVgwRoutePropagationRequest { /** - *

                                                      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. - *

                                                      + *

                                                      The ID of the volume.

                                                      */ - GatewayId: string | undefined; + VolumeId?: string; +} +export namespace DescribeVolumeAttributeResult { /** - *

                                                      The ID of the route table. The routing table must be associated with the same VPC that - * the virtual private gateway is attached to.

                                                      + * @internal */ - RouteTableId: string | undefined; + export const filterSensitiveLog = (obj: DescribeVolumeAttributeResult): any => ({ + ...obj, + }); +} +export interface DescribeVolumesRequest { /** - *

                                                      Checks whether you have the required permissions for the action, without 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 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 (gp2 | gp3 | io1 | io2 | + * st1 | sc1| standard)

                                                        + *
                                                      • + *
                                                      */ - DryRun?: boolean; -} + Filters?: Filter[]; -export namespace EnableVgwRoutePropagationRequest { /** - * @internal + *

                                                      The volume IDs.

                                                      */ - export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ - ...obj, - }); -} + VolumeIds?: string[]; -export interface EnableVolumeIORequest { /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5486,392 +5620,360 @@ export interface EnableVolumeIORequest { DryRun?: boolean; /** - *

                                                      The ID of the volume.

                                                      + *

                                                      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.

                                                      */ - VolumeId: string | undefined; + 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 EnableVolumeIORequest { +export namespace DescribeVolumesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesRequest): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkRequest { +export interface DescribeVolumesResult { /** - *

                                                      Checks whether you have the required permissions for the action, without 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 volumes.

                                                      */ - DryRun?: boolean; + Volumes?: Volume[]; /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      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.

                                                      */ - VpcId: string | undefined; + NextToken?: string; } -export namespace EnableVpcClassicLinkRequest { +export namespace DescribeVolumesResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesResult): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkResult { +export interface DescribeVolumesModificationsRequest { /** - *

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - Return?: boolean; -} + DryRun?: boolean; -export namespace EnableVpcClassicLinkResult { /** - * @internal + *

                                                      The IDs of the volumes.

                                                      */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ - ...obj, - }); -} + VolumeIds?: string[]; -export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                      The ID of the VPC.

                                                      + *

                                                      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 | 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.

                                                        + *
                                                      • + *
                                                      */ - VpcId?: string; -} + Filters?: Filter[]; -export namespace EnableVpcClassicLinkDnsSupportRequest { /** - * @internal + *

                                                      The nextToken value returned by a previous paginated request.

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

                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                      + *

                                                      The maximum number of results (up to a limit of 500) to be returned in a paginated + * request.

                                                      */ - Return?: boolean; + MaxResults?: number; } -export namespace EnableVpcClassicLinkDnsSupportResult { +export namespace DescribeVolumesModificationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesModificationsRequest): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListRequest { +export type VolumeModificationState = "completed" | "failed" | "modifying" | "optimizing"; + +/** + *

                                                      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 ID of the Client VPN endpoint.

                                                      + *

                                                      The ID of the volume.

                                                      */ - ClientVpnEndpointId: string | undefined; + VolumeId?: 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 current modification state. The modification state is null for unmodified + * volumes.

                                                      */ - DryRun?: boolean; -} + ModificationState?: VolumeModificationState | string; -export namespace ExportClientVpnClientCertificateRevocationListRequest { /** - * @internal + *

                                                      A status message about the modification progress or failure.

                                                      */ - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ - ...obj, - }); -} - -export type ClientCertificateRevocationListStatusCode = "active" | "pending"; + StatusMessage?: string; -/** - *

                                                      Describes the state of a client certificate revocation list.

                                                      - */ -export interface ClientCertificateRevocationListStatus { /** - *

                                                      The state of the client certificate revocation list.

                                                      + *

                                                      The target size of the volume, in GiB.

                                                      */ - Code?: ClientCertificateRevocationListStatusCode | string; + TargetSize?: number; /** - *

                                                      A message about the status of the client certificate revocation list, if applicable.

                                                      + *

                                                      The target IOPS rate of the volume.

                                                      */ - Message?: string; -} + TargetIops?: number; -export namespace ClientCertificateRevocationListStatus { /** - * @internal + *

                                                      The target EBS volume type of the volume.

                                                      */ - export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ - ...obj, - }); -} + TargetVolumeType?: VolumeType | string; -export interface ExportClientVpnClientCertificateRevocationListResult { /** - *

                                                      Information about the client certificate revocation list.

                                                      + *

                                                      The target throughput of the volume, in MiB/s.

                                                      */ - CertificateRevocationList?: string; + TargetThroughput?: number; /** - *

                                                      The current state of the client certificate revocation list.

                                                      + *

                                                      The target setting for Amazon EBS Multi-Attach.

                                                      */ - Status?: ClientCertificateRevocationListStatus; -} + TargetMultiAttachEnabled?: boolean; -export namespace ExportClientVpnClientCertificateRevocationListResult { /** - * @internal + *

                                                      The original size of the volume, in GiB.

                                                      */ - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ - ...obj, - }); -} + OriginalSize?: number; -export interface ExportClientVpnClientConfigurationRequest { /** - *

                                                      The ID of the Client VPN endpoint.

                                                      + *

                                                      The original IOPS rate of the volume.

                                                      */ - ClientVpnEndpointId: string | undefined; + OriginalIops?: 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 original EBS volume type of the volume.

                                                      */ - DryRun?: boolean; -} + OriginalVolumeType?: VolumeType | string; -export namespace ExportClientVpnClientConfigurationRequest { /** - * @internal + *

                                                      The original throughput of the volume, in MiB/s.

                                                      */ - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ - ...obj, - }); -} + OriginalThroughput?: number; -export interface ExportClientVpnClientConfigurationResult { /** - *

                                                      The contents of the Client VPN endpoint configuration file.

                                                      + *

                                                      The original setting for Amazon EBS Multi-Attach.

                                                      */ - ClientConfiguration?: string; -} + OriginalMultiAttachEnabled?: boolean; -export namespace ExportClientVpnClientConfigurationResult { /** - * @internal + *

                                                      The modification progress, from 0 to 100 percent complete.

                                                      */ - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ - ...obj, - }); -} + Progress?: number; -/** - *

                                                      Describes the destination for an export image task.

                                                      - */ -export interface ExportTaskS3LocationRequest { /** - *

                                                      The destination Amazon S3 bucket.

                                                      + *

                                                      The modification start time.

                                                      */ - S3Bucket: string | undefined; + StartTime?: Date; /** - *

                                                      The prefix (logical hierarchy) in the bucket.

                                                      + *

                                                      The modification completion or failure time.

                                                      */ - S3Prefix?: string; + EndTime?: Date; } -export namespace ExportTaskS3LocationRequest { +export namespace VolumeModification { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ + export const filterSensitiveLog = (obj: VolumeModification): any => ({ ...obj, }); } -export interface ExportImageRequest { - /** - *

                                                      Token to enable idempotency for export image requests.

                                                      - */ - ClientToken?: string; - - /** - *

                                                      A description of the image being exported. The maximum length is 255 characters.

                                                      - */ - Description?: string; - +export interface DescribeVolumesModificationsResult { /** - *

                                                      The disk image format.

                                                      + *

                                                      Information about the volume modifications.

                                                      */ - DiskImageFormat: DiskImageFormat | string | undefined; + VolumesModifications?: VolumeModification[]; /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      + *

                                                      Token for pagination, null if there are no more results

                                                      */ - DryRun?: boolean; + NextToken?: string; +} +export namespace DescribeVolumesModificationsResult { /** - *

                                                      The ID of the image.

                                                      + * @internal */ - ImageId: string | undefined; + export const filterSensitiveLog = (obj: DescribeVolumesModificationsResult): any => ({ + ...obj, + }); +} +export interface DescribeVolumeStatusRequest { /** - *

                                                      Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE - * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                                                      - */ - S3ExportLocation: ExportTaskS3LocationRequest | undefined; - - /** - *

                                                      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'.

                                                      - */ - RoleName?: string; - - /** - *

                                                      The tags to apply to the export image task during creation.

                                                      - */ - TagSpecifications?: TagSpecification[]; -} - -export namespace ExportImageRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ - ...obj, - }); -} - -export interface ExportImageResult { - /** - *

                                                      A description of the image being exported.

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

                                                      The disk image format for the exported image.

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

                                                      The ID of the export image task.

                                                      - */ - ExportImageTaskId?: string; - - /** - *

                                                      The ID of the image.

                                                      - */ - ImageId?: string; - - /** - *

                                                      The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket.

                                                      - */ - RoleName?: string; - - /** - *

                                                      The percent complete of the export image task.

                                                      - */ - Progress?: string; - - /** - *

                                                      Information about the destination Amazon S3 bucket.

                                                      - */ - S3ExportLocation?: ExportTaskS3Location; - - /** - *

                                                      The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

                                                      - */ - Status?: string; - - /** - *

                                                      The status message for the export image task.

                                                      - */ - StatusMessage?: string; - - /** - *

                                                      Any tags assigned to the export image task.

                                                      - */ - Tags?: Tag[]; -} - -export namespace ExportImageResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ExportImageResult): any => ({ - ...obj, - }); -} - -export interface ExportTransitGatewayRoutesRequest { - /** - *

                                                      The ID of the route table.

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

                                                      One or more filters. The possible values are:

                                                      + *

                                                      The filters.

                                                      *
                                                        *
                                                      • *

                                                        - * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                        + * action.code - The action code for the event (for example, + * enable-volume-io).

                                                        *
                                                      • *
                                                      • *

                                                        - * attachment.resource-id - The resource id of the transit gateway attachment.

                                                        + * action.description - A description of the action.

                                                        *
                                                      • *
                                                      • *

                                                        - * route-search.exact-match - The exact match of the specified filter.

                                                        + * action.event-id - The event ID associated with the action.

                                                        *
                                                      • *
                                                      • *

                                                        - * route-search.longest-prefix-match - The longest prefix that matches the route.

                                                        + * availability-zone - The Availability Zone of the instance.

                                                        *
                                                      • *
                                                      • *

                                                        - * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

                                                        + * event.description - A description of the event.

                                                        *
                                                      • *
                                                      • *

                                                        - * 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.

                                                        + * event.event-id - The event ID.

                                                        *
                                                      • *
                                                      • *

                                                        - * state - The state of the route (active | blackhole).

                                                        + * event.event-type - The event type (for io-enabled: + * passed | failed; for io-performance: + * io-performance:degraded | io-performance:severely-degraded | + * io-performance:stalled).

                                                        *
                                                      • *
                                                      • *

                                                        - * transit-gateway-route-destination-cidr-block - The CIDR range.

                                                        + * event.not-after - The latest end time for the event.

                                                        *
                                                      • *
                                                      • *

                                                        - * type - The type of route (propagated | - * static).

                                                        + * event.not-before - The earliest start time for the event.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * volume-status.details-name - The cause for + * volume-status.status (io-enabled | + * io-performance).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * volume-status.details-status - The status of + * volume-status.details-name (for io-enabled: + * passed | failed; for io-performance: + * normal | degraded | severely-degraded | + * stalled).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * volume-status.status - The status of the volume (ok | + * impaired | warning | insufficient-data).

                                                        *
                                                      • *
                                                      */ Filters?: Filter[]; /** - *

                                                      The name of the S3 bucket.

                                                      + *

                                                      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 1,000; + * if MaxResults is given a value larger than 1,000, only 1,000 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.

                                                      */ - S3Bucket: string | undefined; + 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; + + /** + *

                                                      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, @@ -5881,978 +5983,2266 @@ export interface ExportTransitGatewayRoutesRequest { DryRun?: boolean; } -export namespace ExportTransitGatewayRoutesRequest { +export namespace DescribeVolumeStatusRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumeStatusRequest): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesResult { +/** + *

                                                      Describes a volume status operation code.

                                                      + */ +export interface VolumeStatusAction { /** - *

                                                      The URL of the exported file in Amazon S3. For example, - * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

                                                      + *

                                                      The code identifying the operation, for example, enable-volume-io.

                                                      */ - S3Location?: string; + Code?: string; + + /** + *

                                                      A description of the operation.

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

                                                      The ID of the event associated with this operation.

                                                      + */ + EventId?: string; + + /** + *

                                                      The event type associated with this operation.

                                                      + */ + EventType?: string; } -export namespace ExportTransitGatewayRoutesResult { +export namespace VolumeStatusAction { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ + export const filterSensitiveLog = (obj: VolumeStatusAction): any => ({ ...obj, }); } -export interface GetAssociatedEnclaveCertificateIamRolesRequest { +/** + *

                                                      Information about the instances to which the volume is attached.

                                                      + */ +export interface VolumeStatusAttachmentStatus { /** - *

                                                      The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon - * S3 object information.

                                                      + *

                                                      The maximum IOPS supported by the attached instance.

                                                      */ - CertificateArn?: string; + IoPerformance?: 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 attached instance.

                                                      */ - DryRun?: boolean; + InstanceId?: string; } -export namespace GetAssociatedEnclaveCertificateIamRolesRequest { +export namespace VolumeStatusAttachmentStatus { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesRequest): any => ({ + export const filterSensitiveLog = (obj: VolumeStatusAttachmentStatus): any => ({ ...obj, }); } /** - *

                                                      Information about the associated IAM roles.

                                                      + *

                                                      Describes a volume status event.

                                                      */ -export interface AssociatedRole { +export interface VolumeStatusEvent { /** - *

                                                      The ARN of the associated IAM role.

                                                      + *

                                                      A description of the event.

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

                                                      The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

                                                      + *

                                                      The ID of this event.

                                                      */ - CertificateS3BucketName?: string; + EventId?: string; /** - *

                                                      The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle - * is stored. The object key is formated as follows: role_arn/certificate_arn. - *

                                                      + *

                                                      The type of this event.

                                                      */ - CertificateS3ObjectKey?: string; + EventType?: string; /** - *

                                                      The ID of the KMS customer master key (CMK) used to encrypt the private key.

                                                      + *

                                                      The latest end time of the event.

                                                      */ - EncryptionKmsKeyId?: string; -} + NotAfter?: Date; -export namespace AssociatedRole { /** - * @internal + *

                                                      The earliest start time of the event.

                                                      */ - export const filterSensitiveLog = (obj: AssociatedRole): any => ({ - ...obj, - }); -} + NotBefore?: Date; -export interface GetAssociatedEnclaveCertificateIamRolesResult { /** - *

                                                      Information about the associated IAM roles.

                                                      + *

                                                      The ID of the instance associated with the event.

                                                      */ - AssociatedRoles?: AssociatedRole[]; + InstanceId?: string; } -export namespace GetAssociatedEnclaveCertificateIamRolesResult { +export namespace VolumeStatusEvent { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesResult): any => ({ + export const filterSensitiveLog = (obj: VolumeStatusEvent): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsRequest { - /** - *

                                                      The ID of the IPv6 address pool.

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

                                                      The token for the next page of results.

                                                      - */ - NextToken?: string; +export type VolumeStatusName = "io-enabled" | "io-performance"; +/** + *

                                                      Describes a volume status.

                                                      + */ +export interface VolumeStatusDetails { /** - *

                                                      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 name of the volume status.

                                                      */ - MaxResults?: number; + Name?: VolumeStatusName | 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 intended status of the volume status.

                                                      */ - DryRun?: boolean; + Status?: string; } -export namespace GetAssociatedIpv6PoolCidrsRequest { +export namespace VolumeStatusDetails { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ + export const filterSensitiveLog = (obj: VolumeStatusDetails): any => ({ ...obj, }); } +export type VolumeStatusInfoStatus = "impaired" | "insufficient-data" | "ok"; + /** - *

                                                      Describes an IPv6 CIDR block association.

                                                      + *

                                                      Describes the status of a volume.

                                                      */ -export interface Ipv6CidrAssociation { +export interface VolumeStatusInfo { /** - *

                                                      The IPv6 CIDR block.

                                                      + *

                                                      The details of the volume status.

                                                      */ - Ipv6Cidr?: string; + Details?: VolumeStatusDetails[]; /** - *

                                                      The resource that's associated with the IPv6 CIDR block.

                                                      + *

                                                      The status of the volume.

                                                      */ - AssociatedResource?: string; + Status?: VolumeStatusInfoStatus | string; } -export namespace Ipv6CidrAssociation { +export namespace VolumeStatusInfo { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ + export const filterSensitiveLog = (obj: VolumeStatusInfo): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsResult { +/** + *

                                                      Describes the volume status.

                                                      + */ +export interface VolumeStatusItem { /** - *

                                                      Information about the IPv6 CIDR block associations.

                                                      + *

                                                      The details of the operation.

                                                      */ - Ipv6CidrAssociations?: Ipv6CidrAssociation[]; + Actions?: VolumeStatusAction[]; /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      The Availability Zone of the volume.

                                                      */ - NextToken?: string; -} + AvailabilityZone?: string; -export namespace GetAssociatedIpv6PoolCidrsResult { /** - * @internal + *

                                                      The Amazon Resource Name (ARN) of the Outpost.

                                                      */ - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ - ...obj, - }); -} + OutpostArn?: string; -export interface GetCapacityReservationUsageRequest { /** - *

                                                      The ID of the Capacity Reservation.

                                                      + *

                                                      A list of events associated with the volume.

                                                      */ - CapacityReservationId: string | undefined; + Events?: VolumeStatusEvent[]; /** - *

                                                      The token to use to retrieve the next page of results.

                                                      + *

                                                      The volume ID.

                                                      */ - NextToken?: string; + VolumeId?: 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.

                                                      - *

                                                      Valid range: Minimum value of 1. Maximum value of 1000.

                                                      + *

                                                      The volume status.

                                                      */ - MaxResults?: number; + VolumeStatus?: VolumeStatusInfo; /** - *

                                                      Checks whether you have the required permissions for the action, without 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 instances to which the volume is attached.

                                                      */ - DryRun?: boolean; + AttachmentStatuses?: VolumeStatusAttachmentStatus[]; } -export namespace GetCapacityReservationUsageRequest { +export namespace VolumeStatusItem { /** * @internal */ - export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ + export const filterSensitiveLog = (obj: VolumeStatusItem): any => ({ ...obj, }); } -/** - *

                                                      Information about the Capacity Reservation usage.

                                                      - */ -export interface InstanceUsage { +export interface DescribeVolumeStatusResult { /** - *

                                                      The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

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

                                                      The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

                                                      + *

                                                      Information about the status of the volumes.

                                                      */ - UsedInstanceCount?: number; + VolumeStatuses?: VolumeStatusItem[]; } -export namespace InstanceUsage { +export namespace DescribeVolumeStatusResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceUsage): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumeStatusResult): any => ({ ...obj, }); } -export interface GetCapacityReservationUsageResult { +export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; + +export interface DescribeVpcAttributeRequest { /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      The VPC attribute.

                                                      */ - NextToken?: string; + Attribute: VpcAttributeName | string | undefined; /** - *

                                                      The ID of the Capacity Reservation.

                                                      + *

                                                      The ID of the VPC.

                                                      */ - CapacityReservationId?: string; + VpcId: string | undefined; /** - *

                                                      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; +} +export namespace DescribeVpcAttributeRequest { /** - *

                                                      The number of instances for which the Capacity Reservation reserves capacity.

                                                      + * @internal */ - TotalInstanceCount?: number; + export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ + ...obj, + }); +} +export interface DescribeVpcAttributeResult { /** - *

                                                      The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                                                      + *

                                                      The ID of the VPC.

                                                      */ - AvailableInstanceCount?: number; + VpcId?: string; /** - *

                                                      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 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.

                                                        - *
                                                      • - *
                                                      + *

                                                      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.

                                                      */ - State?: CapacityReservationState | string; + EnableDnsHostnames?: AttributeBooleanValue; /** - *

                                                      Information about the Capacity Reservation usage.

                                                      + *

                                                      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.

                                                      */ - InstanceUsages?: InstanceUsage[]; + EnableDnsSupport?: AttributeBooleanValue; } -export namespace GetCapacityReservationUsageResult { +export namespace DescribeVpcAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcAttributeResult): any => ({ ...obj, }); } -export interface GetCoipPoolUsageRequest { - /** - *

                                                      The ID of the address pool.

                                                      - */ - PoolId: string | undefined; - +export interface DescribeVpcClassicLinkRequest { /** - *

                                                      The filters. The following are the possible values:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * coip-address-usage.allocation-id - *

                                                        - *
                                                      • - *
                                                      - *
                                                        + *

                                                        One or more filters.

                                                        + *
                                                          *
                                                        • - *

                                                          - * coip-address-usage.aws-account-id - *

                                                          - *
                                                        • - *
                                                        - *
                                                          + *

                                                          + * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink + * (true | false).

                                                          + * *
                                                        • - *

                                                          - * coip-address-usage.aws-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.

                                                          + * *
                                                        • - *

                                                          - * coip-address-usage.co-ip - *

                                                          - *
                                                        • + *

                                                          + * 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[]; /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - MaxResults?: number; + DryRun?: boolean; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        One or more VPCs for which you want to describe the ClassicLink status.

                                                        */ - NextToken?: string; + VpcIds?: string[]; +} + +export namespace DescribeVpcClassicLinkRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes whether a VPC is enabled for ClassicLink.

                                                        + */ +export interface VpcClassicLink { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 the VPC is enabled for ClassicLink.

                                                        + */ + ClassicLinkEnabled?: boolean; + + /** + *

                                                        Any tags assigned to the VPC.

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

                                                        The ID of the VPC.

                                                        + */ + VpcId?: string; +} + +export namespace VpcClassicLink { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VpcClassicLink): any => ({ + ...obj, + }); +} + +export interface DescribeVpcClassicLinkResult { + /** + *

                                                        The ClassicLink status of one or more VPCs.

                                                        + */ + Vpcs?: VpcClassicLink[]; +} + +export namespace DescribeVpcClassicLinkResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkResult): any => ({ + ...obj, + }); +} + +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.

                                                        + */ + MaxResults?: number; + + /** + *

                                                        The token for the next page of results.

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

                                                        One or more VPC IDs.

                                                        + */ + VpcIds?: string[]; +} + +export namespace DescribeVpcClassicLinkDnsSupportRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the ClassicLink DNS support status of a VPC.

                                                        + */ +export interface ClassicLinkDnsSupport { + /** + *

                                                        Indicates whether ClassicLink DNS support is enabled for the VPC.

                                                        + */ + ClassicLinkDnsSupported?: boolean; + + /** + *

                                                        The ID of the VPC.

                                                        + */ + VpcId?: string; +} + +export namespace ClassicLinkDnsSupport { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClassicLinkDnsSupport): any => ({ + ...obj, + }); +} + +export interface DescribeVpcClassicLinkDnsSupportResult { + /** + *

                                                        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 ClassicLink DNS support status of the VPCs.

                                                        + */ + Vpcs?: ClassicLinkDnsSupport[]; +} + +export namespace DescribeVpcClassicLinkDnsSupportResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointConnectionNotificationsRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 notification.

                                                        + */ + ConnectionNotificationId?: string; + + /** + *

                                                        One or more filters.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * connection-notification-arn - The ARN of the SNS topic for the + * notification.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * connection-notification-id - The ID of the + * notification.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * connection-notification-state - The state of the notification + * (Enabled | Disabled).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * connection-notification-type - The type of notification + * (Topic).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * service-id - The ID of the endpoint service.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * vpc-endpoint-id - The ID of the VPC endpoint.

                                                          + *
                                                        • + *
                                                        + */ + 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.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointConnectionNotificationsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointConnectionNotificationsResult { + /** + *

                                                        One or more notifications.

                                                        + */ + 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.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointConnectionNotificationsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointConnectionsRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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-id - The ID of the service.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * vpc-endpoint-owner - The ID of the Amazon Web Services account ID + * that owns 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.

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        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; + + /** + *

                                                        The token to retrieve the next page of results.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointConnectionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a VPC endpoint connection to a service.

                                                        + */ +export interface VpcEndpointConnection { + /** + *

                                                        The ID of the service to which the endpoint is connected.

                                                        + */ + ServiceId?: string; + + /** + *

                                                        The ID of the VPC endpoint.

                                                        + */ + VpcEndpointId?: string; + + /** + *

                                                        The ID of the Amazon Web Services account that owns the VPC endpoint.

                                                        + */ + VpcEndpointOwner?: string; + + /** + *

                                                        The state of the VPC endpoint.

                                                        + */ + VpcEndpointState?: State | string; + + /** + *

                                                        The date and time that the VPC endpoint was created.

                                                        + */ + CreationTimestamp?: Date; + + /** + *

                                                        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 Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

                                                        + */ + GatewayLoadBalancerArns?: string[]; +} + +export namespace VpcEndpointConnection { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VpcEndpointConnection): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointConnectionsResult { + /** + *

                                                        Information about one or more VPC endpoint connections.

                                                        + */ + VpcEndpointConnections?: VpcEndpointConnection[]; + + /** + *

                                                        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 DescribeVpcEndpointConnectionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsResult): 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 endpoint IDs.

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

                                                        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).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 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[]; + + /** + *

                                                        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; + + /** + *

                                                        The token for the next set of items to return. (You received this token from a prior call.)

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the output of DescribeVpcEndpoints.

                                                        + */ +export interface DescribeVpcEndpointsResult { + /** + *

                                                        Information about the endpoints.

                                                        + */ + 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 DescribeVpcEndpointsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointsResult): any => ({ + ...obj, + }); +} + +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.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        The IDs of one or more services.

                                                        + */ + ServiceIds?: 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.

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        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; + + /** + *

                                                        The token to retrieve the next page of results.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointServiceConfigurationsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointServiceConfigurationsResult { + /** + *

                                                        Information about one or more services.

                                                        + */ + ServiceConfigurations?: ServiceConfiguration[]; + + /** + *

                                                        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 DescribeVpcEndpointServiceConfigurationsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointServicePermissionsRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 service.

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

                                                        One or more filters.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * principal - The ARN of the principal.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * principal-type - The principal type (All | + * Service | OrganizationUnit | Account + * | User | Role).

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        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; + + /** + *

                                                        The token to retrieve the next page of results.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointServicePermissionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointServicePermissionsResult { + /** + *

                                                        Information about one or more allowed principals.

                                                        + */ + AllowedPrincipals?: AllowedPrincipal[]; + + /** + *

                                                        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 DescribeVpcEndpointServicePermissionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the parameters for DescribeVpcEndpointServices.

                                                        + */ +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.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        One or more service names.

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

                                                        One or more filters.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * service-name - The name of the service.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * service-type - The type of service (Interface | + * 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.

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        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; + + /** + *

                                                        The token for the next set of items to return. (You received this token from a prior call.)

                                                        + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointServicesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Information about the Private DNS name for interface endpoints.

                                                        + */ +export interface PrivateDnsDetails { + /** + *

                                                        The private DNS name assigned to the VPC endpoint service.

                                                        + */ + PrivateDnsName?: string; +} + +export namespace PrivateDnsDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PrivateDnsDetails): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a VPC endpoint service.

                                                        + */ +export interface ServiceDetail { + /** + *

                                                        The Amazon Resource Name (ARN) of the service.

                                                        + */ + ServiceName?: string; + + /** + *

                                                        The ID of the endpoint service.

                                                        + */ + ServiceId?: string; + + /** + *

                                                        The type of service.

                                                        + */ + ServiceType?: ServiceTypeDetail[]; + + /** + *

                                                        The Availability Zones in which the service is available.

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

                                                        The Amazon Web Services account ID of the service owner.

                                                        + */ + Owner?: string; + + /** + *

                                                        The DNS names for the service.

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

                                                        The private DNS name for the service.

                                                        + */ + PrivateDnsName?: string; + + /** + *

                                                        The private DNS names assigned to the VPC endpoint service.

                                                        + */ + PrivateDnsNames?: PrivateDnsDetails[]; + + /** + *

                                                        Indicates whether the service supports endpoint policies.

                                                        + */ + VpcEndpointPolicySupported?: boolean; + + /** + *

                                                        Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

                                                        + */ + AcceptanceRequired?: boolean; + + /** + *

                                                        Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

                                                        + */ + ManagesVpcEndpoints?: boolean; + + /** + *

                                                        Any tags assigned to the service.

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

                                                        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 namespace ServiceDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceDetail): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the output of DescribeVpcEndpointServices.

                                                        + */ +export interface DescribeVpcEndpointServicesResult { + /** + *

                                                        A list of supported services.

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

                                                        Information about the service.

                                                        + */ + ServiceDetails?: ServiceDetail[]; + + /** + *

                                                        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 DescribeVpcEndpointServicesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcPeeringConnectionsRequest { + /** + *

                                                        One or more filters.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter + * VPC.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns 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 ID of the Amazon Web Services account that owns 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.

                                                          + *
                                                        • + *
                                                        + */ + 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 VPC peering connection IDs.

                                                        + *

                                                        Default: Describes all your VPC peering connections.

                                                        + */ + VpcPeeringConnectionIds?: 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; +} + +export namespace DescribeVpcPeeringConnectionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeVpcPeeringConnectionsResult { + /** + *

                                                        Information about the VPC peering connections.

                                                        + */ + VpcPeeringConnections?: VpcPeeringConnection[]; + + /** + *

                                                        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 { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsResult): any => ({ + ...obj, + }); +} + +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.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * is-default - Indicates whether the VPC is the default VPC.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * owner-id - The ID of the Amazon Web Services 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.

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        One or more VPC IDs.

                                                        + *

                                                        Default: Describes all your VPCs.

                                                        + */ + VpcIds?: 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; + + /** + *

                                                        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 DescribeVpcsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeVpcsResult { + /** + *

                                                        Information about one or more VPCs.

                                                        + */ + Vpcs?: Vpc[]; + + /** + *

                                                        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 DescribeVpcsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcsResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the parameters for DescribeVpnConnections.

                                                        + */ +export interface DescribeVpnConnectionsRequest { + /** + *

                                                        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.

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        One or more VPN connection IDs.

                                                        + *

                                                        Default: Describes your VPN connections.

                                                        + */ + VpnConnectionIds?: 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 DescribeVpnConnectionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpnConnectionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the output of DescribeVpnConnections.

                                                        + */ +export interface DescribeVpnConnectionsResult { + /** + *

                                                        Information about one or more VPN connections.

                                                        + */ + VpnConnections?: VpnConnection[]; +} + +export namespace DescribeVpnConnectionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpnConnectionsResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the parameters for DescribeVpnGateways.

                                                        + */ +export interface DescribeVpnGatewaysRequest { + /** + *

                                                        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.

                                                          + *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        One or more virtual private gateway IDs.

                                                        + *

                                                        Default: Describes all your virtual private gateways.

                                                        + */ + VpnGatewayIds?: 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 DescribeVpnGatewaysRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpnGatewaysRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the output of DescribeVpnGateways.

                                                        + */ +export interface DescribeVpnGatewaysResult { + /** + *

                                                        Information about one or more virtual private gateways.

                                                        */ - DryRun?: boolean; + VpnGateways?: VpnGateway[]; } -export namespace GetCoipPoolUsageRequest { +export namespace DescribeVpnGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpnGatewaysResult): any => ({ ...obj, }); } -/** - *

                                                        Describes address usage for a customer-owned address pool.

                                                        - */ -export interface CoipAddressUsage { +export interface DetachClassicLinkVpcRequest { /** - *

                                                        The allocation ID of the address.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - AllocationId?: string; + DryRun?: boolean; /** - *

                                                        The Amazon Web Services account ID.

                                                        + *

                                                        The ID of the instance to unlink from the VPC.

                                                        */ - AwsAccountId?: string; + InstanceId: string | undefined; /** - *

                                                        The Amazon Web Services service.

                                                        + *

                                                        The ID of the VPC to which the instance is linked.

                                                        */ - AwsService?: string; + VpcId: string | undefined; +} +export namespace DetachClassicLinkVpcRequest { /** - *

                                                        The customer-owned IP address.

                                                        + * @internal */ - CoIp?: string; + export const filterSensitiveLog = (obj: DetachClassicLinkVpcRequest): any => ({ + ...obj, + }); } -export namespace CoipAddressUsage { +export interface DetachClassicLinkVpcResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + Return?: boolean; +} + +export namespace DetachClassicLinkVpcResult { /** * @internal */ - export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ + export const filterSensitiveLog = (obj: DetachClassicLinkVpcResult): any => ({ ...obj, }); } -export interface GetCoipPoolUsageResult { +export interface DetachInternetGatewayRequest { /** - *

                                                        The ID of the customer-owned address pool.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - CoipPoolId?: string; + DryRun?: boolean; /** - *

                                                        Information about the address usage.

                                                        + *

                                                        The ID of the internet gateway.

                                                        */ - CoipAddressUsages?: CoipAddressUsage[]; + InternetGatewayId: string | undefined; /** - *

                                                        The ID of the local gateway route table.

                                                        + *

                                                        The ID of the VPC.

                                                        */ - LocalGatewayRouteTableId?: string; + VpcId: string | undefined; } -export namespace GetCoipPoolUsageResult { +export namespace DetachInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ + export const filterSensitiveLog = (obj: DetachInternetGatewayRequest): any => ({ ...obj, }); } -export interface GetConsoleOutputRequest { +/** + *

                                                        Contains the parameters for DetachNetworkInterface.

                                                        + */ +export interface DetachNetworkInterfaceRequest { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - InstanceId: string | undefined; + AttachmentId: 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.

                                                        + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; /** - *

                                                        When enabled, retrieves the latest console output for the instance.

                                                        - *

                                                        Default: disabled (false)

                                                        + *

                                                        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.

                                                          + *
                                                        • + *
                                                        + *
                                                        */ - Latest?: boolean; + Force?: boolean; } -export namespace GetConsoleOutputRequest { +export namespace DetachNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ + export const filterSensitiveLog = (obj: DetachNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface GetConsoleOutputResult { +export interface DetachVolumeRequest { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The device name.

                                                        + */ + Device?: string; + + /** + *

                                                        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 console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

                                                        + *

                                                        The ID of the volume.

                                                        */ - Output?: string; + VolumeId: string | undefined; /** - *

                                                        The time at which the output was last updated.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Timestamp?: Date; + DryRun?: boolean; } -export namespace GetConsoleOutputResult { +export namespace DetachVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ + export const filterSensitiveLog = (obj: DetachVolumeRequest): any => ({ ...obj, }); } -export interface GetConsoleScreenshotRequest { +/** + *

                                                        Contains the parameters for DetachVpnGateway.

                                                        + */ +export interface DetachVpnGatewayRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 VPC.

                                                        */ - DryRun?: boolean; + VpcId: string | undefined; /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The ID of the virtual private gateway.

                                                        */ - InstanceId: string | undefined; + VpnGatewayId: string | undefined; /** - *

                                                        When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                        */ - WakeUp?: boolean; + DryRun?: boolean; } -export namespace GetConsoleScreenshotRequest { +export namespace DetachVpnGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ + export const filterSensitiveLog = (obj: DetachVpnGatewayRequest): any => ({ ...obj, }); } -export interface GetConsoleScreenshotResult { +export interface DisableEbsEncryptionByDefaultRequest { /** - *

                                                        The data that comprises the image.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - ImageData?: string; + DryRun?: boolean; +} +export namespace DisableEbsEncryptionByDefaultRequest { /** - *

                                                        The ID of the instance.

                                                        + * @internal */ - InstanceId?: string; + export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); } -export namespace GetConsoleScreenshotResult { +export interface DisableEbsEncryptionByDefaultResult { + /** + *

                                                        The updated status of encryption by default.

                                                        + */ + EbsEncryptionByDefault?: boolean; +} + +export namespace DisableEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ + export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; +export interface DisableFastSnapshotRestoresRequest { + /** + *

                                                        One or more Availability Zones. For example, us-east-2a.

                                                        + */ + AvailabilityZones: string[] | undefined; + + /** + *

                                                        The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

                                                        + */ + SourceSnapshotIds: string[] | undefined; -export interface GetDefaultCreditSpecificationRequest { /** *

                                                        Checks whether you have the required permissions for the action, without 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 family.

                                                        - */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; } -export namespace GetDefaultCreditSpecificationRequest { +export namespace DisableFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the default credit option for CPU usage of a burstable performance instance family.

                                                        + *

                                                        Describes fast snapshot restores that were successfully disabled.

                                                        */ -export interface InstanceFamilyCreditSpecification { +export interface DisableFastSnapshotRestoreSuccessItem { /** - *

                                                        The instance family.

                                                        + *

                                                        The ID of the snapshot.

                                                        */ - InstanceFamily?: UnlimitedSupportedInstanceFamily | string; + SnapshotId?: string; /** - *

                                                        The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

                                                        + *

                                                        The Availability Zone.

                                                        */ - CpuCredits?: string; -} + AvailabilityZone?: string; -export namespace InstanceFamilyCreditSpecification { /** - * @internal + *

                                                        The state of fast snapshot restores for the snapshot.

                                                        */ - export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ - ...obj, - }); -} + State?: FastSnapshotRestoreStateCode | string; -export interface GetDefaultCreditSpecificationResult { /** - *

                                                        The default credit option for CPU usage of the instance family.

                                                        + *

                                                        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.

                                                          + *
                                                        • + *
                                                        */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} + StateTransitionReason?: string; + + /** + *

                                                        The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                        + */ + OwnerId?: string; -export namespace GetDefaultCreditSpecificationResult { /** - * @internal + *

                                                        The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                        */ - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ - ...obj, - }); -} + OwnerAlias?: 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.

                                                        + *

                                                        The time at which fast snapshot restores entered the enabling state.

                                                        */ - DryRun?: boolean; -} + EnablingTime?: Date; -export namespace GetEbsDefaultKmsKeyIdRequest { /** - * @internal + *

                                                        The time at which fast snapshot restores entered the optimizing state.

                                                        */ - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ - ...obj, - }); -} + OptimizingTime?: Date; -export interface GetEbsDefaultKmsKeyIdResult { /** - *

                                                        The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                        + *

                                                        The time at which fast snapshot restores entered the enabled state.

                                                        */ - KmsKeyId?: string; -} + EnabledTime?: Date; -export namespace GetEbsDefaultKmsKeyIdResult { /** - * @internal + *

                                                        The time at which fast snapshot restores entered the disabling state.

                                                        */ - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ - ...obj, - }); -} + DisablingTime?: Date; -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.

                                                        + *

                                                        The time at which fast snapshot restores entered the disabled state.

                                                        */ - DryRun?: boolean; + DisabledTime?: Date; } -export namespace GetEbsEncryptionByDefaultRequest { +export namespace DisableFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -export interface GetEbsEncryptionByDefaultResult { +/** + *

                                                        Describes an error that occurred when disabling fast snapshot restores.

                                                        + */ +export interface DisableFastSnapshotRestoreStateError { /** - *

                                                        Indicates whether encryption by default is enabled.

                                                        + *

                                                        The error code.

                                                        */ - EbsEncryptionByDefault?: boolean; + Code?: string; + + /** + *

                                                        The error message.

                                                        + */ + Message?: string; } -export namespace GetEbsEncryptionByDefaultResult { +export namespace DisableFastSnapshotRestoreStateError { /** * @internal */ - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateError): any => ({ ...obj, }); } -export enum PartitionLoadFrequency { - DAILY = "daily", - MONTHLY = "monthly", - NONE = "none", - WEEKLY = "weekly", -} - /** - *

                                                        Describes integration options for Amazon Athena.

                                                        + *

                                                        Contains information about an error that occurred when disabling fast snapshot restores.

                                                        */ -export interface AthenaIntegration { - /** - *

                                                        The location in Amazon S3 to store the generated CloudFormation template.

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

                                                        The schedule for adding new partitions to the table.

                                                        - */ - PartitionLoadFrequency: PartitionLoadFrequency | string | undefined; - +export interface DisableFastSnapshotRestoreStateErrorItem { /** - *

                                                        The start date for the partition.

                                                        + *

                                                        The Availability Zone.

                                                        */ - PartitionStartDate?: Date; + AvailabilityZone?: string; /** - *

                                                        The end date for the partition.

                                                        + *

                                                        The error.

                                                        */ - PartitionEndDate?: Date; + Error?: DisableFastSnapshotRestoreStateError; } -export namespace AthenaIntegration { +export namespace DisableFastSnapshotRestoreStateErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: AthenaIntegration): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateErrorItem): any => ({ ...obj, }); } /** - *

                                                        Describes service integrations with VPC Flow logs.

                                                        + *

                                                        Contains information about the errors that occurred when disabling fast snapshot restores.

                                                        */ -export interface IntegrateServices { +export interface DisableFastSnapshotRestoreErrorItem { /** - *

                                                        Information about the integration with Amazon Athena.

                                                        + *

                                                        The ID of the snapshot.

                                                        */ - AthenaIntegrations?: AthenaIntegration[]; + SnapshotId?: string; + + /** + *

                                                        The errors.

                                                        + */ + FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; } -export namespace IntegrateServices { +export namespace DisableFastSnapshotRestoreErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: IntegrateServices): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreErrorItem): any => ({ ...obj, }); } -export interface GetFlowLogsIntegrationTemplateRequest { +export interface DisableFastSnapshotRestoresResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 snapshots for which fast snapshot restores were successfully disabled.

                                                        */ - DryRun?: boolean; + Successful?: DisableFastSnapshotRestoreSuccessItem[]; /** - *

                                                        The ID of the flow log.

                                                        + *

                                                        Information about the snapshots for which fast snapshot restores could not be disabled.

                                                        */ - FlowLogId: string | undefined; + Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; +} +export namespace DisableFastSnapshotRestoresResult { /** - *

                                                        To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

                                                        + * @internal */ - ConfigDeliveryS3DestinationArn: string | undefined; + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresResult): any => ({ + ...obj, + }); +} +export interface DisableImageDeprecationRequest { /** - *

                                                        Information about the service integration.

                                                        + *

                                                        The ID of the AMI.

                                                        */ - IntegrateServices: IntegrateServices | undefined; + 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. + * Otherwise, it is UnauthorizedOperation.

                                                        + */ + DryRun?: boolean; } -export namespace GetFlowLogsIntegrationTemplateRequest { +export namespace DisableImageDeprecationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: DisableImageDeprecationRequest): any => ({ ...obj, }); } -export interface GetFlowLogsIntegrationTemplateResult { +export interface DisableImageDeprecationResult { /** - *

                                                        The generated CloudFormation template.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - Result?: string; + Return?: boolean; } -export namespace GetFlowLogsIntegrationTemplateResult { +export namespace DisableImageDeprecationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateResult): any => ({ + export const filterSensitiveLog = (obj: DisableImageDeprecationResult): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationRequest { +export interface DisableIpamOrganizationAdminAccountRequest { /** - *

                                                        The ID of the Capacity Reservation.

                                                        + *

                                                        A check for whether you have the required permissions for the action without 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 token to use to retrieve the next page of results.

                                                        + *

                                                        The Organizations member account ID that you want to disable as IPAM account.

                                                        */ - NextToken?: string; + DelegatedAdminAccountId: string | undefined; +} +export namespace DisableIpamOrganizationAdminAccountRequest { /** - *

                                                        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.

                                                        + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DisableIpamOrganizationAdminAccountRequest): any => ({ + ...obj, + }); +} +export interface DisableIpamOrganizationAdminAccountResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 result of disabling the IPAM account.

                                                        */ - DryRun?: boolean; + Success?: boolean; } -export namespace GetGroupsForCapacityReservationRequest { +export namespace DisableIpamOrganizationAdminAccountResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: DisableIpamOrganizationAdminAccountResult): any => ({ ...obj, }); } -/** - *

                                                        Describes a resource group to which a Capacity Reservation has been added.

                                                        - */ -export interface CapacityReservationGroup { - /** - *

                                                        The ARN of the resource group.

                                                        - */ - GroupArn?: string; - +export interface DisableSerialConsoleAccessRequest { /** - *

                                                        The ID of the Amazon Web Services account that owns the resource 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.

                                                        */ - OwnerId?: string; + DryRun?: boolean; } -export namespace CapacityReservationGroup { +export namespace DisableSerialConsoleAccessRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ + export const filterSensitiveLog = (obj: DisableSerialConsoleAccessRequest): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationResult { - /** - *

                                                        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 DisableSerialConsoleAccessResult { /** - *

                                                        Information about the resource groups to which the Capacity Reservation has been added.

                                                        + *

                                                        If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

                                                        */ - CapacityReservationGroups?: CapacityReservationGroup[]; + SerialConsoleAccessEnabled?: boolean; } -export namespace GetGroupsForCapacityReservationResult { +export namespace DisableSerialConsoleAccessResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ + export const filterSensitiveLog = (obj: DisableSerialConsoleAccessResult): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewRequest { +export interface DisableTransitGatewayRouteTablePropagationRequest { /** - *

                                                        The IDs of the Dedicated Hosts with which the reservation is associated.

                                                        + *

                                                        The ID of the propagation route table.

                                                        */ - HostIdSet: string[] | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                        The offering ID of the reservation.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - OfferingId: 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.

                                                        + */ + DryRun?: boolean; } -export namespace GetHostReservationPurchasePreviewRequest { +export namespace DisableTransitGatewayRouteTablePropagationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ + export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationRequest): any => ({ ...obj, }); } +export type TransitGatewayPropagationState = "disabled" | "disabling" | "enabled" | "enabling"; + /** - *

                                                        Describes the result of the purchase.

                                                        + *

                                                        Describes route propagation.

                                                        */ -export interface Purchase { - /** - *

                                                        The currency in which the UpfrontPrice and HourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

                                                        - */ - CurrencyCode?: CurrencyCodeValues | string; - +export interface TransitGatewayPropagation { /** - *

                                                        The duration of the reservation's term in seconds.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - Duration?: number; + TransitGatewayAttachmentId?: string; /** - *

                                                        The IDs of the Dedicated Hosts associated with the reservation.

                                                        + *

                                                        The ID of the resource.

                                                        */ - HostIdSet?: string[]; + ResourceId?: string; /** - *

                                                        The ID of the reservation.

                                                        + *

                                                        The resource type. Note that the tgw-peering resource type has been deprecated.

                                                        */ - HostReservationId?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                        The hourly price of the reservation per hour.

                                                        + *

                                                        The ID of the transit gateway route table.

                                                        */ - HourlyPrice?: string; + TransitGatewayRouteTableId?: string; /** - *

                                                        The instance family on the Dedicated Host that the reservation can be associated - * with.

                                                        + *

                                                        The state.

                                                        */ - InstanceFamily?: string; + State?: TransitGatewayPropagationState | string; +} +export namespace TransitGatewayPropagation { /** - *

                                                        The payment option for the reservation.

                                                        + * @internal */ - PaymentOption?: PaymentOption | string; + export const filterSensitiveLog = (obj: TransitGatewayPropagation): any => ({ + ...obj, + }); +} +export interface DisableTransitGatewayRouteTablePropagationResult { /** - *

                                                        The upfront price of the reservation.

                                                        + *

                                                        Information about route propagation.

                                                        */ - UpfrontPrice?: string; + Propagation?: TransitGatewayPropagation; } -export namespace Purchase { +export namespace DisableTransitGatewayRouteTablePropagationResult { /** * @internal */ - export const filterSensitiveLog = (obj: Purchase): any => ({ + export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationResult): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewResult { - /** - *

                                                        The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

                                                        - */ - CurrencyCode?: CurrencyCodeValues | string; - +/** + *

                                                        Contains the parameters for DisableVgwRoutePropagation.

                                                        + */ +export interface DisableVgwRoutePropagationRequest { /** - *

                                                        The purchase information of the Dedicated Host reservation and the Dedicated Hosts - * associated with it.

                                                        + *

                                                        The ID of the virtual private gateway.

                                                        */ - Purchase?: Purchase[]; + GatewayId: string | undefined; /** - *

                                                        The potential total hourly price of the reservation per hour.

                                                        + *

                                                        The ID of the route table.

                                                        */ - TotalHourlyPrice?: string; + RouteTableId: string | undefined; /** - *

                                                        The potential total upfront price. This is billed immediately.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                        */ - TotalUpfrontPrice?: string; + DryRun?: boolean; } -export namespace GetHostReservationPurchasePreviewResult { +export namespace DisableVgwRoutePropagationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ + export const filterSensitiveLog = (obj: DisableVgwRoutePropagationRequest): any => ({ ...obj, }); } -export interface GetInstanceTypesFromInstanceRequirementsRequest { +export interface DisableVpcClassicLinkRequest { /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6861,290 +8251,296 @@ export interface GetInstanceTypesFromInstanceRequirementsRequest { DryRun?: boolean; /** - *

                                                        The processor architecture type.

                                                        + *

                                                        The ID of the VPC.

                                                        */ - ArchitectureTypes: (ArchitectureType | string)[] | undefined; + VpcId: string | undefined; +} +export namespace DisableVpcClassicLinkRequest { /** - *

                                                        The virtualization type.

                                                        + * @internal */ - VirtualizationTypes: (VirtualizationType | string)[] | undefined; + export const filterSensitiveLog = (obj: DisableVpcClassicLinkRequest): any => ({ + ...obj, + }); +} +export interface DisableVpcClassicLinkResult { /** - *

                                                        The attributes required for the instance types.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - InstanceRequirements: InstanceRequirementsRequest | undefined; + Return?: boolean; +} +export namespace DisableVpcClassicLinkResult { /** - *

                                                        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.

                                                        + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DisableVpcClassicLinkResult): any => ({ + ...obj, + }); +} +export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                        The token for the next set of results.

                                                        + *

                                                        The ID of the VPC.

                                                        */ - NextToken?: string; + VpcId?: string; } -export namespace GetInstanceTypesFromInstanceRequirementsRequest { +export namespace DisableVpcClassicLinkDnsSupportRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsRequest): any => ({ + export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportRequest): any => ({ ...obj, }); } -/** - *

                                                        The list of instance types with the specified instance attributes.

                                                        - */ -export interface InstanceTypeInfoFromInstanceRequirements { +export interface DisableVpcClassicLinkDnsSupportResult { /** - *

                                                        The matching instance type.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - InstanceType?: string; + Return?: boolean; } -export namespace InstanceTypeInfoFromInstanceRequirements { +export namespace DisableVpcClassicLinkDnsSupportResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceTypeInfoFromInstanceRequirements): any => ({ + export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -export interface GetInstanceTypesFromInstanceRequirementsResult { +export interface DisassociateAddressRequest { /** - *

                                                        The instance types with the specified instance attributes.

                                                        + *

                                                        [EC2-VPC] The association ID. Required for EC2-VPC.

                                                        */ - InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; + AssociationId?: string; /** - *

                                                        The token for the next set of results.

                                                        + *

                                                        [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                        */ - NextToken?: string; + PublicIp?: 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 GetInstanceTypesFromInstanceRequirementsResult { +export namespace DisassociateAddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateAddressRequest): any => ({ ...obj, }); } -export interface GetLaunchTemplateDataRequest { +export interface DisassociateClientVpnTargetNetworkRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 from which to disassociate the target network.

                                                        */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The ID of the target network association.

                                                        */ - InstanceId: string | undefined; + 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 GetLaunchTemplateDataRequest { +export namespace DisassociateClientVpnTargetNetworkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkRequest): any => ({ ...obj, }); } -export interface GetLaunchTemplateDataResult { +export interface DisassociateClientVpnTargetNetworkResult { + /** + *

                                                        The ID of the target network association.

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

                                                        The instance data.

                                                        + *

                                                        The current state of the target network association.

                                                        */ - LaunchTemplateData?: ResponseLaunchTemplateData; + Status?: AssociationStatus; } -export namespace GetLaunchTemplateDataResult { +export namespace DisassociateClientVpnTargetNetworkResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsRequest { - /** - *

                                                        Checks whether you have the required permissions for the action, without 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 DisassociateEnclaveCertificateIamRoleRequest { /** - *

                                                        The ID of the prefix list.

                                                        + *

                                                        The ARN of the ACM certificate from which to disassociate the IAM role.

                                                        */ - PrefixListId: string | undefined; + CertificateArn?: 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 ARN of the IAM role to disassociate.

                                                        */ - MaxResults?: number; + RoleArn?: 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; } -export namespace GetManagedPrefixListAssociationsRequest { +export namespace DisassociateEnclaveCertificateIamRoleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes the resource with which a prefix list is associated.

                                                        - */ -export interface PrefixListAssociation { - /** - *

                                                        The ID of the resource.

                                                        - */ - ResourceId?: string; - +export interface DisassociateEnclaveCertificateIamRoleResult { /** - *

                                                        The owner of the resource.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - ResourceOwner?: string; + Return?: boolean; } -export namespace PrefixListAssociation { +export namespace DisassociateEnclaveCertificateIamRoleResult { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ + export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsResult { - /** - *

                                                        Information about the associations.

                                                        - */ - PrefixListAssociations?: PrefixListAssociation[]; - +export interface DisassociateIamInstanceProfileRequest { /** - *

                                                        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 IAM instance profile association.

                                                        */ - NextToken?: string; + AssociationId: string | undefined; } -export namespace GetManagedPrefixListAssociationsResult { +export namespace DisassociateIamInstanceProfileRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileRequest): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesRequest { +export interface DisassociateIamInstanceProfileResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 IAM instance profile association.

                                                        */ - DryRun?: boolean; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; +} +export namespace DisassociateIamInstanceProfileResult { /** - *

                                                        The ID of the prefix list.

                                                        + * @internal */ - PrefixListId: string | undefined; + export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileResult): any => ({ + ...obj, + }); +} +/** + *

                                                        The targets to disassociate from the specified event window.

                                                        + */ +export interface InstanceEventWindowDisassociationRequest { /** - *

                                                        The version of the prefix list for which to return the entries. The default is the current version.

                                                        + *

                                                        The IDs of the instances to disassociate from the event window.

                                                        */ - TargetVersion?: number; + 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.

                                                        + *

                                                        The instance tags to disassociate from the event window. Any instances associated with + * the tags will be disassociated from the event window.

                                                        */ - MaxResults?: number; + InstanceTags?: Tag[]; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        The IDs of the Dedicated Hosts to disassociate from the event window.

                                                        */ - NextToken?: string; + DedicatedHostIds?: string[]; } -export namespace GetManagedPrefixListEntriesRequest { +export namespace InstanceEventWindowDisassociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ - ...obj, - }); -} + export const filterSensitiveLog = (obj: InstanceEventWindowDisassociationRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateInstanceEventWindowRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 a prefix list entry.

                                                        - */ -export interface PrefixListEntry { /** - *

                                                        The CIDR block.

                                                        + *

                                                        The ID of the event window.

                                                        */ - Cidr?: string; + InstanceEventWindowId: string | undefined; /** - *

                                                        The description.

                                                        + *

                                                        One or more targets to disassociate from the specified event window.

                                                        */ - Description?: string; + AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; } -export namespace PrefixListEntry { +export namespace DisassociateInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ + export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowRequest): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesResult { - /** - *

                                                        Information about the prefix list entries.

                                                        - */ - Entries?: PrefixListEntry[]; - +export interface DisassociateInstanceEventWindowResult { /** - *

                                                        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 event window.

                                                        */ - NextToken?: string; + InstanceEventWindow?: InstanceEventWindow; } -export namespace GetManagedPrefixListEntriesResult { +export namespace DisassociateInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowResult): any => ({ ...obj, }); } -export interface GetPasswordDataRequest { +export interface DisassociateRouteTableRequest { /** - *

                                                        The ID of the Windows instance.

                                                        + *

                                                        The association ID representing the current association between the route table and subnet or gateway.

                                                        */ - InstanceId: string | undefined; + AssociationId: string | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -7154,669 +8550,609 @@ export interface GetPasswordDataRequest { DryRun?: boolean; } -export namespace GetPasswordDataRequest { +export namespace DisassociateRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateRouteTableRequest): any => ({ ...obj, }); } -export interface GetPasswordDataResult { +export interface DisassociateSubnetCidrBlockRequest { /** - *

                                                        The ID of the Windows instance.

                                                        + *

                                                        The association ID for the CIDR block.

                                                        */ - InstanceId?: string; + AssociationId: string | undefined; +} +export namespace DisassociateSubnetCidrBlockRequest { /** - *

                                                        The password of the instance. Returns an empty string if the password is not - * available.

                                                        + * @internal */ - PasswordData?: string; + export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockRequest): any => ({ + ...obj, + }); +} +export interface DisassociateSubnetCidrBlockResult { /** - *

                                                        The time the data was last updated.

                                                        + *

                                                        Information about the IPv6 CIDR block association.

                                                        */ - Timestamp?: Date; + Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; + + /** + *

                                                        The ID of the subnet.

                                                        + */ + SubnetId?: string; } -export namespace GetPasswordDataResult { +export namespace DisassociateSubnetCidrBlockResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockResult): any => ({ ...obj, }); } -/** - *

                                                        Contains the parameters for GetReservedInstanceExchangeQuote.

                                                        - */ -export interface GetReservedInstancesExchangeQuoteRequest { +export interface DisassociateTransitGatewayMulticastDomainRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 ID of the attachment.

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

                                                        The IDs of the Convertible Reserved Instances to exchange.

                                                        + *

                                                        The IDs of the subnets;

                                                        */ - ReservedInstanceIds: string[] | undefined; + SubnetIds?: string[]; /** - *

                                                        The configuration of the target Convertible Reserved Instance to exchange for your - * current Convertible Reserved 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.

                                                        */ - TargetConfigurations?: TargetConfigurationRequest[]; + DryRun?: boolean; } -export namespace GetReservedInstancesExchangeQuoteRequest { +export namespace DisassociateTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -/** - *

                                                        The cost associated with the Reserved Instance.

                                                        - */ -export interface ReservationValue { - /** - *

                                                        The hourly rate of the reservation.

                                                        - */ - HourlyPrice?: string; - - /** - *

                                                        The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

                                                        - */ - RemainingTotalValue?: string; - +export interface DisassociateTransitGatewayMulticastDomainResult { /** - *

                                                        The remaining upfront cost of the reservation.

                                                        + *

                                                        Information about the association.

                                                        */ - RemainingUpfrontValue?: string; + Associations?: TransitGatewayMulticastDomainAssociations; } -export namespace ReservationValue { +export namespace DisassociateTransitGatewayMulticastDomainResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReservationValue): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -/** - *

                                                        The total value of the Convertible Reserved Instance.

                                                        - */ -export interface ReservedInstanceReservationValue { +export interface DisassociateTransitGatewayRouteTableRequest { + /** + *

                                                        The ID of the transit gateway route table.

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

                                                        The total value of the Convertible Reserved Instance that you are exchanging.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - ReservationValue?: ReservationValue; + TransitGatewayAttachmentId: string | undefined; /** - *

                                                        The ID of the Convertible Reserved Instance that you are exchanging.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - ReservedInstanceId?: string; + DryRun?: boolean; } -export namespace ReservedInstanceReservationValue { +export namespace DisassociateTransitGatewayRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableRequest): any => ({ ...obj, }); } -/** - *

                                                        Information about the Convertible Reserved Instance offering.

                                                        - */ -export interface TargetConfiguration { - /** - *

                                                        The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is - * reserved and cannot be specified in a request

                                                        - */ - InstanceCount?: number; - +export interface DisassociateTransitGatewayRouteTableResult { /** - *

                                                        The ID of the Convertible Reserved Instance offering.

                                                        + *

                                                        Information about the association.

                                                        */ - OfferingId?: string; + Association?: TransitGatewayAssociation; } -export namespace TargetConfiguration { +export namespace DisassociateTransitGatewayRouteTableResult { /** * @internal */ - export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableResult): any => ({ ...obj, }); } -/** - *

                                                        The total value of the new Convertible Reserved Instances.

                                                        - */ -export interface TargetReservationValue { +export interface DisassociateTrunkInterfaceRequest { /** - *

                                                        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 ID of the association

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

                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                                                        */ - ReservationValue?: ReservationValue; + ClientToken?: string; /** - *

                                                        The configuration of the Convertible Reserved Instances that make up the exchange.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - TargetConfiguration?: TargetConfiguration; + DryRun?: boolean; } -export namespace TargetReservationValue { +export namespace DisassociateTrunkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ + export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceRequest): any => ({ ...obj, }); } -/** - *

                                                        Contains the output of GetReservedInstancesExchangeQuote.

                                                        - */ -export interface GetReservedInstancesExchangeQuoteResult { - /** - *

                                                        The currency of the transaction.

                                                        - */ - CurrencyCode?: string; - +export interface DisassociateTrunkInterfaceResult { /** - *

                                                        If true, the exchange is valid. If false, the exchange cannot be completed.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - IsValidExchange?: boolean; + Return?: boolean; /** - *

                                                        The new end date of the reservation term.

                                                        + *

                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                                                        */ - OutputReservedInstancesWillExpireAt?: Date; + ClientToken?: string; +} +export namespace DisassociateTrunkInterfaceResult { /** - *

                                                        The total true upfront charge for the exchange.

                                                        + * @internal */ - PaymentDue?: string; + export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceResult): any => ({ + ...obj, + }); +} +export interface DisassociateVpcCidrBlockRequest { /** - *

                                                        The cost associated with the Reserved Instance.

                                                        + *

                                                        The association ID for the CIDR block.

                                                        */ - ReservedInstanceValueRollup?: ReservationValue; + AssociationId: string | undefined; +} +export namespace DisassociateVpcCidrBlockRequest { /** - *

                                                        The configuration of your Convertible Reserved Instances.

                                                        + * @internal */ - ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; + export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockRequest): any => ({ + ...obj, + }); +} +export interface DisassociateVpcCidrBlockResult { /** - *

                                                        The cost associated with the Reserved Instance.

                                                        + *

                                                        Information about the IPv6 CIDR block association.

                                                        */ - TargetConfigurationValueRollup?: ReservationValue; + Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; /** - *

                                                        The values of the target Convertible Reserved Instances.

                                                        + *

                                                        Information about the IPv4 CIDR block association.

                                                        */ - TargetConfigurationValueSet?: TargetReservationValue[]; + CidrBlockAssociation?: VpcCidrBlockAssociation; /** - *

                                                        Describes the reason why the exchange cannot be completed.

                                                        + *

                                                        The ID of the VPC.

                                                        */ - ValidationFailureReason?: string; + VpcId?: string; } -export namespace GetReservedInstancesExchangeQuoteResult { +export namespace DisassociateVpcCidrBlockResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockResult): any => ({ ...obj, }); } -export interface GetSerialConsoleAccessStatusRequest { +export interface EnableEbsEncryptionByDefaultRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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; } -export namespace GetSerialConsoleAccessStatusRequest { +export namespace EnableEbsEncryptionByDefaultRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusRequest): any => ({ + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ ...obj, }); } -export interface GetSerialConsoleAccessStatusResult { +export interface EnableEbsEncryptionByDefaultResult { /** - *

                                                        If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

                                                        + *

                                                        The updated status of encryption by default.

                                                        */ - SerialConsoleAccessEnabled?: boolean; + EbsEncryptionByDefault?: boolean; } -export namespace GetSerialConsoleAccessStatusResult { +export namespace EnableEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusResult): any => ({ + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -/** - *

                                                        The architecture type, virtualization type, and other attributes for the instance types. - * When you specify instance attributes, Amazon EC2 will identify instance types with those - * attributes.

                                                        - *

                                                        If you specify InstanceRequirementsWithMetadataRequest, you can't specify - * InstanceTypes.

                                                        - */ -export interface InstanceRequirementsWithMetadataRequest { +export interface EnableFastSnapshotRestoresRequest { /** - *

                                                        The architecture type.

                                                        + *

                                                        One or more Availability Zones. For example, us-east-2a.

                                                        */ - ArchitectureTypes?: (ArchitectureType | string)[]; + AvailabilityZones: string[] | undefined; /** - *

                                                        The virtualization type.

                                                        + *

                                                        The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify + * a snapshot that was shared with you from another Amazon Web Services account.

                                                        */ - VirtualizationTypes?: (VirtualizationType | string)[]; + SourceSnapshotIds: string[] | undefined; /** - *

                                                        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - InstanceRequirements?: InstanceRequirementsRequest; + DryRun?: boolean; } -export namespace InstanceRequirementsWithMetadataRequest { +export namespace EnableFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceRequirementsWithMetadataRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface GetSpotPlacementScoresRequest { +/** + *

                                                        Describes fast snapshot restores that were successfully enabled.

                                                        + */ +export interface EnableFastSnapshotRestoreSuccessItem { /** - *

                                                        The instance types. We recommend that you specify at least three instance types. If you - * specify one or two instance types, or specify variations of a single instance type (for - * example, an m3.xlarge with and without instance storage), the returned - * placement score will always be low.

                                                        - *

                                                        If you specify InstanceTypes, you can't specify - * InstanceRequirementsWithMetadata.

                                                        + *

                                                        The ID of the snapshot.

                                                        */ - InstanceTypes?: string[]; + SnapshotId?: string; /** - *

                                                        The target capacity.

                                                        + *

                                                        The Availability Zone.

                                                        */ - TargetCapacity: number | undefined; + AvailabilityZone?: string; /** - *

                                                        The unit for the target capacity.

                                                        - *

                                                        Default: units (translates to number of instances)

                                                        + *

                                                        The state of fast snapshot restores.

                                                        */ - TargetCapacityUnitType?: TargetCapacityUnitType | string; + State?: FastSnapshotRestoreStateCode | 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.

                                                          + *
                                                        • + *
                                                        + */ + StateTransitionReason?: string; + + /** + *

                                                        The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

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

                                                        Specify true so that the response returns a list of scored Availability Zones. - * Otherwise, the response returns a list of scored Regions.

                                                        - *

                                                        A list of scored Availability Zones is useful if you want to launch all of your Spot - * capacity into a single Availability Zone.

                                                        + *

                                                        The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                        */ - SingleAvailabilityZone?: boolean; + OwnerAlias?: string; /** - *

                                                        The Regions used to narrow down the list of Regions to be scored. Enter the Region code, - * for example, us-east-1.

                                                        + *

                                                        The time at which fast snapshot restores entered the enabling state.

                                                        */ - RegionNames?: string[]; + EnablingTime?: Date; /** - *

                                                        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

                                                        - *

                                                        If you specify InstanceRequirementsWithMetadata, you can't specify - * InstanceTypes.

                                                        + *

                                                        The time at which fast snapshot restores entered the optimizing state.

                                                        */ - InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; + OptimizingTime?: 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 time at which fast snapshot restores entered the enabled state.

                                                        */ - DryRun?: boolean; + EnabledTime?: Date; /** - *

                                                        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 time at which fast snapshot restores entered the disabling state.

                                                        */ - MaxResults?: number; + DisablingTime?: Date; /** - *

                                                        The token for the next set of results.

                                                        + *

                                                        The time at which fast snapshot restores entered the disabled state.

                                                        */ - NextToken?: string; + DisabledTime?: Date; } -export namespace GetSpotPlacementScoresRequest { +export namespace EnableFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: GetSpotPlacementScoresRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } /** - *

                                                        The Spot placement score for this Region or Availability Zone. The score is calculated - * based on the assumption that the capacity-optimized allocation strategy is - * used and that all of the Availability Zones in the Region can be used.

                                                        + *

                                                        Describes an error that occurred when enabling fast snapshot restores.

                                                        */ -export interface SpotPlacementScore { - /** - *

                                                        The Region.

                                                        - */ - Region?: string; - +export interface EnableFastSnapshotRestoreStateError { /** - *

                                                        The Availability Zone.

                                                        + *

                                                        The error code.

                                                        */ - AvailabilityZoneId?: string; + Code?: string; /** - *

                                                        The placement score, on a scale from 1 to 10. A score of - * 10 indicates that your Spot request is highly likely to succeed in this - * Region or Availability Zone. A score of 1 indicates that your Spot request is - * not likely to succeed.

                                                        + *

                                                        The error message.

                                                        */ - Score?: number; + Message?: string; } -export namespace SpotPlacementScore { +export namespace EnableFastSnapshotRestoreStateError { /** * @internal */ - export const filterSensitiveLog = (obj: SpotPlacementScore): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ ...obj, }); } -export interface GetSpotPlacementScoresResult { +/** + *

                                                        Contains information about an error that occurred when enabling fast snapshot restores.

                                                        + */ +export interface EnableFastSnapshotRestoreStateErrorItem { /** - *

                                                        The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale - * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone - * will succeed at fulfilling the specified target capacity
 at the time of the Spot - * placement score request. A score of 10 means that your Spot - * capacity request is highly likely to succeed in that Region or Availability Zone.

                                                        - *

                                                        If you request a Spot placement score for Regions, a high score assumes that your fleet - * request will be configured to use all Availability Zones and the - * capacity-optimized allocation strategy. If you request a Spot placement - * score for Availability Zones, a high score assumes that your fleet request will be - * configured to use a single Availability Zone and the capacity-optimized - * allocation strategy.

                                                        - *

                                                        Different
 Regions or Availability Zones might return the same score.

                                                        - * - *

                                                        The Spot placement score serves as a recommendation only. No score guarantees that your - * Spot request will be fully or partially fulfilled.

                                                        - *
                                                        + *

                                                        The Availability Zone.

                                                        */ - SpotPlacementScores?: SpotPlacementScore[]; + AvailabilityZone?: string; /** - *

                                                        The token for the next set of results.

                                                        + *

                                                        The error.

                                                        */ - NextToken?: string; + Error?: EnableFastSnapshotRestoreStateError; } -export namespace GetSpotPlacementScoresResult { +export namespace EnableFastSnapshotRestoreStateErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: GetSpotPlacementScoresResult): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ ...obj, }); } -export interface GetSubnetCidrReservationsRequest { +/** + *

                                                        Contains information about the errors that occurred when enabling fast snapshot restores.

                                                        + */ +export interface EnableFastSnapshotRestoreErrorItem { /** - *

                                                        One or more filters.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * reservationType - The type of reservation (prefix | - * explicit).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 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.

                                                          - *
                                                        • - *
                                                        + *

                                                        The ID of the snapshot.

                                                        */ - Filters?: Filter[]; + SnapshotId?: string; /** - *

                                                        The ID of the subnet.

                                                        + *

                                                        The errors.

                                                        */ - SubnetId: string | undefined; + FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; +} +export namespace EnableFastSnapshotRestoreErrorItem { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ + ...obj, + }); +} +export interface EnableFastSnapshotRestoresResult { /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        Information about the snapshots for which fast snapshot restores were successfully enabled.

                                                        */ - NextToken?: string; + Successful?: EnableFastSnapshotRestoreSuccessItem[]; /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        Information about the snapshots for which fast snapshot restores could not be enabled.

                                                        */ - MaxResults?: number; + Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; } -export namespace GetSubnetCidrReservationsRequest { +export namespace EnableFastSnapshotRestoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSubnetCidrReservationsRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ ...obj, }); } -export interface GetSubnetCidrReservationsResult { +export interface EnableImageDeprecationRequest { /** - *

                                                        Information about the IPv4 subnet CIDR reservations.

                                                        + *

                                                        The ID of the AMI.

                                                        */ - SubnetIpv4CidrReservations?: SubnetCidrReservation[]; + ImageId: string | undefined; /** - *

                                                        Information about the IPv6 subnet CIDR reservations.

                                                        + *

                                                        The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specify a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

                                                        + *

                                                        You can’t specify a date in the past. The upper limit for DeprecateAt is 10 + * years from now.

                                                        */ - SubnetIpv6CidrReservations?: SubnetCidrReservation[]; + DeprecateAt: Date | undefined; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 GetSubnetCidrReservationsResult { +export namespace EnableImageDeprecationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSubnetCidrReservationsResult): any => ({ + export const filterSensitiveLog = (obj: EnableImageDeprecationRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsRequest { - /** - *

                                                        The ID of the attachment.

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

                                                        One or more filters. The possible values are:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                          - *
                                                        • - *
                                                        - */ - Filters?: Filter[]; - +export interface EnableImageDeprecationResult { /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - MaxResults?: number; + Return?: boolean; +} +export namespace EnableImageDeprecationResult { /** - *

                                                        The token for the next page of results.

                                                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: EnableImageDeprecationResult): any => ({ + ...obj, + }); +} +export interface EnableIpamOrganizationAdminAccountRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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 Organizations member account ID that you want to enable as the IPAM account.

                                                        + */ + DelegatedAdminAccountId: string | undefined; } -export namespace GetTransitGatewayAttachmentPropagationsRequest { +export namespace EnableIpamOrganizationAdminAccountRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ + export const filterSensitiveLog = (obj: EnableIpamOrganizationAdminAccountRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes a propagation route table.

                                                        - */ -export interface TransitGatewayAttachmentPropagation { - /** - *

                                                        The ID of the propagation route table.

                                                        - */ - TransitGatewayRouteTableId?: string; - +export interface EnableIpamOrganizationAdminAccountResult { /** - *

                                                        The state of the propagation route table.

                                                        + *

                                                        The result of enabling the IPAM account.

                                                        */ - State?: TransitGatewayPropagationState | string; + Success?: boolean; } -export namespace TransitGatewayAttachmentPropagation { +export namespace EnableIpamOrganizationAdminAccountResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ + export const filterSensitiveLog = (obj: EnableIpamOrganizationAdminAccountResult): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsResult { - /** - *

                                                        Information about the propagation route tables.

                                                        - */ - TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; - +export interface EnableSerialConsoleAccessRequest { /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 GetTransitGatewayAttachmentPropagationsResult { +export namespace EnableSerialConsoleAccessRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ + export const filterSensitiveLog = (obj: EnableSerialConsoleAccessRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsRequest { +export interface EnableSerialConsoleAccessResult { /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        + *

                                                        If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

                                                        */ - TransitGatewayMulticastDomainId?: string; + SerialConsoleAccessEnabled?: boolean; +} +export namespace EnableSerialConsoleAccessResult { /** - *

                                                        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.

                                                          - *
                                                        • - *
                                                        + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: EnableSerialConsoleAccessResult): any => ({ + ...obj, + }); +} +export interface EnableTransitGatewayRouteTablePropagationRequest { /** - *

                                                        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 propagation route table.

                                                        */ - MaxResults?: number; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - NextToken?: string; + TransitGatewayAttachmentId: string | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -7826,314 +9162,304 @@ export interface GetTransitGatewayMulticastDomainAssociationsRequest { DryRun?: boolean; } -export namespace GetTransitGatewayMulticastDomainAssociationsRequest { +export namespace EnableTransitGatewayRouteTablePropagationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + ...obj, + }); +} + +export interface EnableTransitGatewayRouteTablePropagationResult { + /** + *

                                                        Information about route propagation.

                                                        + */ + Propagation?: TransitGatewayPropagation; +} + +export namespace EnableTransitGatewayRouteTablePropagationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ ...obj, }); } /** - *

                                                        Describes the resources associated with the transit gateway multicast domain.

                                                        + *

                                                        Contains the parameters for EnableVgwRoutePropagation.

                                                        */ -export interface TransitGatewayMulticastDomainAssociation { +export interface EnableVgwRoutePropagationRequest { /** - *

                                                        The ID of the transit gateway attachment.

                                                        + *

                                                        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. + *

                                                        */ - TransitGatewayAttachmentId?: string; + GatewayId: string | undefined; /** - *

                                                        The ID of the resource.

                                                        + *

                                                        The ID of the route table. The routing table must be associated with the same VPC that + * the virtual private gateway is attached to.

                                                        */ - ResourceId?: string; + RouteTableId: string | undefined; /** - *

                                                        The type of resource, for example a VPC 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.

                                                        */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + DryRun?: boolean; +} +export namespace EnableVgwRoutePropagationRequest { /** - *

                                                        The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

                                                        + * @internal */ - ResourceOwnerId?: string; + export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ + ...obj, + }); +} + +export interface EnableVolumeIORequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 subnet associated with the transit gateway multicast domain.

                                                        + *

                                                        The ID of the volume.

                                                        */ - Subnet?: SubnetAssociation; + VolumeId: string | undefined; } -export namespace TransitGatewayMulticastDomainAssociation { +export namespace EnableVolumeIORequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ + export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsResult { +export interface EnableVpcClassicLinkRequest { /** - *

                                                        Information about the multicast domain 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.

                                                        */ - MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; + 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 ID of the VPC.

                                                        */ - NextToken?: string; + VpcId: string | undefined; } -export namespace GetTransitGatewayMulticastDomainAssociationsResult { +export namespace EnableVpcClassicLinkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayPrefixListReferencesRequest { +export interface EnableVpcClassicLinkResult { /** - *

                                                        The ID of the transit gateway route table.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - TransitGatewayRouteTableId: string | undefined; + Return?: boolean; +} +export namespace EnableVpcClassicLinkResult { /** - *

                                                        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).

                                                          - *
                                                        • - *
                                                        + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                        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 VPC.

                                                        */ - MaxResults?: number; + VpcId?: string; +} +export namespace EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                        The token for the next page of results.

                                                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkDnsSupportResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 GetTransitGatewayPrefixListReferencesRequest { +export namespace EnableVpcClassicLinkDnsSupportResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -export interface GetTransitGatewayPrefixListReferencesResult { +export interface ExportClientVpnClientCertificateRevocationListRequest { /** - *

                                                        Information about the prefix list references.

                                                        + *

                                                        The ID of the Client VPN endpoint.

                                                        */ - TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + ClientVpnEndpointId: string | undefined; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 GetTransitGatewayPrefixListReferencesResult { +export namespace ExportClientVpnClientCertificateRevocationListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsRequest { +export type ClientCertificateRevocationListStatusCode = "active" | "pending"; + +/** + *

                                                        Describes the state of a client certificate revocation list.

                                                        + */ +export interface ClientCertificateRevocationListStatus { /** - *

                                                        The ID of the transit gateway route table.

                                                        + *

                                                        The state of the client certificate revocation list.

                                                        */ - TransitGatewayRouteTableId: string | undefined; + Code?: ClientCertificateRevocationListStatusCode | string; /** - *

                                                        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 - * | connect.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * transit-gateway-attachment-id - The ID of the attachment.

                                                          - *
                                                        • - *
                                                        + *

                                                        A message about the status of the client certificate revocation list, if applicable.

                                                        */ - Filters?: Filter[]; + Message?: string; +} +export namespace ClientCertificateRevocationListStatus { /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ + ...obj, + }); +} +export interface ExportClientVpnClientCertificateRevocationListResult { /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        Information about the client certificate revocation list.

                                                        */ - NextToken?: string; + CertificateRevocationList?: 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 current state of the client certificate revocation list.

                                                        */ - DryRun?: boolean; + Status?: ClientCertificateRevocationListStatus; } -export namespace GetTransitGatewayRouteTableAssociationsRequest { +export namespace ExportClientVpnClientCertificateRevocationListResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ ...obj, }); } -/** - *

                                                        Describes an association between a route table and a resource attachment.

                                                        - */ -export interface TransitGatewayRouteTableAssociation { +export interface ExportClientVpnClientConfigurationRequest { /** - *

                                                        The ID of the attachment.

                                                        + *

                                                        The ID of the Client VPN endpoint.

                                                        */ - TransitGatewayAttachmentId?: string; + ClientVpnEndpointId: string | undefined; /** - *

                                                        The ID of 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.

                                                        */ - ResourceId?: string; + DryRun?: boolean; +} +export namespace ExportClientVpnClientConfigurationRequest { /** - *

                                                        The resource type. Note that the tgw-peering resource type has been deprecated.

                                                        + * @internal */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ + ...obj, + }); +} +export interface ExportClientVpnClientConfigurationResult { /** - *

                                                        The state of the association.

                                                        + *

                                                        The contents of the Client VPN endpoint configuration file.

                                                        */ - State?: TransitGatewayAssociationState | string; + ClientConfiguration?: string; } -export namespace TransitGatewayRouteTableAssociation { +export namespace ExportClientVpnClientConfigurationResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsResult { +/** + *

                                                        Describes the destination for an export image task.

                                                        + */ +export interface ExportTaskS3LocationRequest { /** - *

                                                        Information about the associations.

                                                        + *

                                                        The destination Amazon S3 bucket.

                                                        */ - Associations?: TransitGatewayRouteTableAssociation[]; + S3Bucket: string | undefined; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        The prefix (logical hierarchy) in the bucket.

                                                        */ - NextToken?: string; + S3Prefix?: string; } -export namespace GetTransitGatewayRouteTableAssociationsResult { +export namespace ExportTaskS3LocationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsRequest { - /** - *

                                                        The ID of the transit gateway route table.

                                                        - */ - TransitGatewayRouteTableId: string | undefined; - +export interface ExportImageRequest { /** - *

                                                        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 - * | connect.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * transit-gateway-attachment-id - The ID of the attachment.

                                                          - *
                                                        • - *
                                                        + *

                                                        Token to enable idempotency for export image requests.

                                                        */ - Filters?: Filter[]; + ClientToken?: 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.

                                                        + *

                                                        A description of the image being exported. The maximum length is 255 characters.

                                                        */ - MaxResults?: number; + Description?: string; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        The disk image format.

                                                        */ - NextToken?: string; + DiskImageFormat: DiskImageFormat | string | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -8141,968 +9467,900 @@ export interface GetTransitGatewayRouteTablePropagationsRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; + + /** + *

                                                        The ID of the image.

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

                                                        Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE + * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                                                        + */ + S3ExportLocation: ExportTaskS3LocationRequest | undefined; + + /** + *

                                                        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'.

                                                        + */ + RoleName?: string; + + /** + *

                                                        The tags to apply to the export image task during creation.

                                                        + */ + TagSpecifications?: TagSpecification[]; } -export namespace GetTransitGatewayRouteTablePropagationsRequest { +export namespace ExportImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ + export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes a route table propagation.

                                                        - */ -export interface TransitGatewayRouteTablePropagation { +export interface ExportImageResult { /** - *

                                                        The ID of the attachment.

                                                        + *

                                                        A description of the image being exported.

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

                                                        The disk image format for the exported image.

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

                                                        The ID of the export image task.

                                                        + */ + ExportImageTaskId?: string; + + /** + *

                                                        The ID of the image.

                                                        */ - TransitGatewayAttachmentId?: string; + ImageId?: string; /** - *

                                                        The ID of the resource.

                                                        + *

                                                        The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket.

                                                        */ - ResourceId?: string; + RoleName?: string; /** - *

                                                        The type of resource. Note that the tgw-peering resource type has been deprecated.

                                                        + *

                                                        The percent complete of the export image task.

                                                        */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Progress?: string; /** - *

                                                        The state of the resource.

                                                        + *

                                                        Information about the destination Amazon S3 bucket.

                                                        */ - State?: TransitGatewayPropagationState | string; -} + S3ExportLocation?: ExportTaskS3Location; -export namespace TransitGatewayRouteTablePropagation { /** - * @internal + *

                                                        The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

                                                        */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ - ...obj, - }); -} + Status?: string; -export interface GetTransitGatewayRouteTablePropagationsResult { /** - *

                                                        Information about the route table propagations.

                                                        + *

                                                        The status message for the export image task.

                                                        */ - TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; + StatusMessage?: string; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        Any tags assigned to the export image task.

                                                        */ - NextToken?: string; + Tags?: Tag[]; } -export namespace GetTransitGatewayRouteTablePropagationsResult { +export namespace ExportImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ + export const filterSensitiveLog = (obj: ExportImageResult): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceSampleConfigurationRequest { +export interface ExportTransitGatewayRoutesRequest { /** - *

                                                        The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample - * configuration.

                                                        + *

                                                        The ID of the route table.

                                                        */ - VpnConnectionId: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                        Device identifier provided by the GetVpnConnectionDeviceTypes API.

                                                        + *

                                                        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).

                                                          + *
                                                        • + *
                                                        */ - VpnConnectionDeviceTypeId: string | undefined; + Filters?: Filter[]; /** - *

                                                        The IKE version to be used in the sample configuration file for your customer gateway - * device. You can specify one of the following versions: ikev1 or - * ikev2.

                                                        + *

                                                        The name of the S3 bucket.

                                                        */ - InternetKeyExchangeVersion?: string; + S3Bucket: 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; } -export namespace GetVpnConnectionDeviceSampleConfigurationRequest { +export namespace ExportTransitGatewayRoutesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceSampleConfigurationResult { +export interface ExportTransitGatewayRoutesResult { /** - *

                                                        Sample configuration file for the specified customer gateway device.

                                                        + *

                                                        The URL of the exported file in Amazon S3. For example, + * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

                                                        */ - VpnConnectionDeviceSampleConfiguration?: string; + S3Location?: string; } -export namespace GetVpnConnectionDeviceSampleConfigurationResult { +export namespace ExportTransitGatewayRoutesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ ...obj, - ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }), }); } -export interface GetVpnConnectionDeviceTypesRequest { - /** - *

                                                        The maximum number of results returned by GetVpnConnectionDeviceTypes in - * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes - * 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 GetVpnConnectionDeviceTypes request - * with the returned NextToken value. This value can be between 200 and 1000. - * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all - * results.

                                                        - */ - MaxResults?: number; - +export interface GetAssociatedEnclaveCertificateIamRolesRequest { /** - *

                                                        The NextToken value returned from a previous paginated - * GetVpnConnectionDeviceTypes 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 ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon + * S3 object information.

                                                        */ - NextToken?: string; + CertificateArn?: 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.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 GetVpnConnectionDeviceTypesRequest { +export namespace GetAssociatedEnclaveCertificateIamRolesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesRequest): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesRequest): any => ({ ...obj, }); } /** - *

                                                        List of customer gateway devices that have a sample configuration file available for - * use. You can also see the list of device types with sample configuration files available - * under Your customer - * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

                                                        + *

                                                        Information about the associated IAM roles.

                                                        */ -export interface VpnConnectionDeviceType { +export interface AssociatedRole { /** - *

                                                        Customer gateway device identifier.

                                                        + *

                                                        The ARN of the associated IAM role.

                                                        */ - VpnConnectionDeviceTypeId?: string; + AssociatedRoleArn?: string; /** - *

                                                        Customer gateway device vendor.

                                                        + *

                                                        The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

                                                        */ - Vendor?: string; + CertificateS3BucketName?: string; /** - *

                                                        Customer gateway device platform.

                                                        + *

                                                        The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle + * is stored. The object key is formated as follows: role_arn/certificate_arn. + *

                                                        */ - Platform?: string; + CertificateS3ObjectKey?: string; /** - *

                                                        Customer gateway device software version.

                                                        + *

                                                        The ID of the KMS customer master key (CMK) used to encrypt the private key.

                                                        */ - Software?: string; + EncryptionKmsKeyId?: string; } -export namespace VpnConnectionDeviceType { +export namespace AssociatedRole { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnectionDeviceType): any => ({ + export const filterSensitiveLog = (obj: AssociatedRole): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceTypesResult { - /** - *

                                                        List of customer gateway devices that have a sample configuration file available for - * use.

                                                        - */ - VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; - +export interface GetAssociatedEnclaveCertificateIamRolesResult { /** - *

                                                        The NextToken value to include in a future - * GetVpnConnectionDeviceTypes request. When the results of a - * GetVpnConnectionDeviceTypes 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 associated IAM roles.

                                                        */ - NextToken?: string; + AssociatedRoles?: AssociatedRole[]; } -export namespace GetVpnConnectionDeviceTypesResult { +export namespace GetAssociatedEnclaveCertificateIamRolesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesResult): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesResult): any => ({ ...obj, }); } -export interface ImportClientVpnClientCertificateRevocationListRequest { - /** - *

                                                        The ID of the Client VPN endpoint to which the client certificate revocation list applies.

                                                        - */ - ClientVpnEndpointId: string | undefined; - +export interface GetAssociatedIpv6PoolCidrsRequest { /** - *

                                                        The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the - * Client VPN Administrator Guide.

                                                        + *

                                                        The ID of the IPv6 address pool.

                                                        */ - CertificateRevocationList: string | undefined; + PoolId: 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 token for the next page of results.

                                                        */ - DryRun?: boolean; -} + NextToken?: string; -export namespace ImportClientVpnClientCertificateRevocationListRequest { /** - * @internal + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface ImportClientVpnClientCertificateRevocationListResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Return?: boolean; + DryRun?: boolean; } -export namespace ImportClientVpnClientCertificateRevocationListResult { +export namespace GetAssociatedIpv6PoolCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the client-specific data.

                                                        + *

                                                        Describes an IPv6 CIDR block association.

                                                        */ -export interface ClientData { - /** - *

                                                        A user-defined comment about the disk upload.

                                                        - */ - Comment?: string; - - /** - *

                                                        The time that the disk upload ends.

                                                        - */ - UploadEnd?: Date; - +export interface Ipv6CidrAssociation { /** - *

                                                        The size of the uploaded disk image, in GiB.

                                                        + *

                                                        The IPv6 CIDR block.

                                                        */ - UploadSize?: number; + Ipv6Cidr?: string; /** - *

                                                        The time that the disk upload starts.

                                                        + *

                                                        The resource that's associated with the IPv6 CIDR block.

                                                        */ - UploadStart?: Date; + AssociatedResource?: string; } -export namespace ClientData { +export namespace Ipv6CidrAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: ClientData): any => ({ + export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ ...obj, }); } -/** - *

                                                        Describes the Amazon S3 bucket for the disk image.

                                                        - */ -export interface UserBucket { +export interface GetAssociatedIpv6PoolCidrsResult { /** - *

                                                        The name of the Amazon S3 bucket where the disk image is located.

                                                        + *

                                                        Information about the IPv6 CIDR block associations.

                                                        */ - S3Bucket?: string; + Ipv6CidrAssociations?: Ipv6CidrAssociation[]; /** - *

                                                        The file name of the disk image.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - S3Key?: string; + NextToken?: string; } -export namespace UserBucket { +export namespace GetAssociatedIpv6PoolCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: UserBucket): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ ...obj, }); } -/** - *

                                                        Describes the disk container object for an import image task.

                                                        - */ -export interface ImageDiskContainer { - /** - *

                                                        The description of the disk image.

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

                                                        The block device mapping for the disk.

                                                        - */ - DeviceName?: string; - +export interface GetCapacityReservationUsageRequest { /** - *

                                                        The format of the disk image being imported.

                                                        - *

                                                        Valid values: OVA | VHD | VHDX | VMDK | RAW - *

                                                        + *

                                                        The ID of the Capacity Reservation.

                                                        */ - Format?: string; + CapacityReservationId: string | undefined; /** - *

                                                        The ID of the EBS snapshot to be used for importing the snapshot.

                                                        + *

                                                        The token to use to retrieve the next page of results.

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

                                                        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://..)

                                                        + *

                                                        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.

                                                        */ - Url?: string; + MaxResults?: number; /** - *

                                                        The S3 bucket for the disk image.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                        */ - UserBucket?: UserBucket; + DryRun?: boolean; } -export namespace ImageDiskContainer { +export namespace GetCapacityReservationUsageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ + export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ ...obj, }); } /** - *

                                                        The request information of license configurations.

                                                        + *

                                                        Information about the Capacity Reservation usage.

                                                        */ -export interface ImportImageLicenseConfigurationRequest { +export interface InstanceUsage { + /** + *

                                                        The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

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

                                                        The ARN of a license configuration.

                                                        + *

                                                        The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

                                                        */ - LicenseConfigurationArn?: string; + UsedInstanceCount?: number; } -export namespace ImportImageLicenseConfigurationRequest { +export namespace InstanceUsage { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceUsage): any => ({ ...obj, }); } -export interface ImportImageRequest { +export interface GetCapacityReservationUsageResult { /** - *

                                                        The architecture of the virtual machine.

                                                        - *

                                                        Valid values: i386 | x86_64 | arm64 - *

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

                                                        The client-specific data.

                                                        + *

                                                        The ID of the Capacity Reservation.

                                                        */ - ClientData?: ClientData; + CapacityReservationId?: string; /** - *

                                                        The token to enable idempotency for VM import requests.

                                                        + *

                                                        The type of instance for which the Capacity Reservation reserves capacity.

                                                        */ - ClientToken?: string; + InstanceType?: string; /** - *

                                                        A description string for the import image task.

                                                        + *

                                                        The number of instances for which the Capacity Reservation reserves capacity.

                                                        */ - Description?: string; + TotalInstanceCount?: number; + + /** + *

                                                        The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                                                        + */ + AvailableInstanceCount?: number; /** - *

                                                        Information about the disk containers.

                                                        + *

                                                        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 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.

                                                          + *
                                                        • + *
                                                        */ - DiskContainers?: ImageDiskContainer[]; + State?: CapacityReservationState | 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 Capacity Reservation usage.

                                                        */ - DryRun?: boolean; + InstanceUsages?: InstanceUsage[]; +} +export namespace GetCapacityReservationUsageResult { /** - *

                                                        Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used - * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

                                                        + * @internal */ - Encrypted?: boolean; + export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ + ...obj, + }); +} +export interface GetCoipPoolUsageRequest { /** - *

                                                        The target hypervisor platform.

                                                        - *

                                                        Valid values: xen - *

                                                        + *

                                                        The ID of the address pool.

                                                        */ - Hypervisor?: string; + PoolId: string | undefined; /** - *

                                                        An identifier for the symmetric KMS key to use when creating the - * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

                                                        - *

                                                        The KMS key identifier may be provided in any of the following formats:

                                                        + *

                                                        The filters. The following are the possible values:

                                                        *
                                                          *
                                                        • - *

                                                          Key ID

                                                          + *

                                                          + * coip-address-usage.allocation-id + *

                                                          *
                                                        • + *
                                                        + *
                                                          *
                                                        • - *

                                                          Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          + *

                                                          + * coip-address-usage.aws-account-id + *

                                                          *
                                                        • + *
                                                        + *
                                                          *
                                                        • - *

                                                          ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                          + *

                                                          + * coip-address-usage.aws-service + *

                                                          *
                                                        • + *
                                                        + *
                                                          *
                                                        • - *

                                                          ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          + *

                                                          + * coip-address-usage.co-ip + *

                                                          *
                                                        • *
                                                        - *

                                                        Amazon Web Services 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 KMS key must exist in the Region that the AMI is being copied to.

                                                        - *

                                                        Amazon EBS does not support asymmetric KMS keys.

                                                        - */ - KmsKeyId?: 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 Amazon Web Services 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 Amazon Web Services. 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 name of the role to use when not using the default role, 'vmimport'.

                                                        - */ - RoleName?: string; - - /** - *

                                                        The ARNs of the license configurations.

                                                        */ - LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; + Filters?: Filter[]; /** - *

                                                        The tags to apply to the import image task during creation.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - TagSpecifications?: TagSpecification[]; + MaxResults?: number; /** - *

                                                        The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

                                                        + *

                                                        The token for the next page of results.

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

                                                        The boot mode of the virtual machine.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - BootMode?: BootModeValues | string; + DryRun?: boolean; } -export namespace ImportImageRequest { +export namespace GetCoipPoolUsageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ + export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ ...obj, }); } -export interface ImportImageResult { +/** + *

                                                        Describes address usage for a customer-owned address pool.

                                                        + */ +export interface CoipAddressUsage { /** - *

                                                        The architecture of the virtual machine.

                                                        + *

                                                        The allocation ID of the address.

                                                        */ - Architecture?: string; + AllocationId?: string; /** - *

                                                        A description of the import task.

                                                        + *

                                                        The Amazon Web Services account ID.

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

                                                        Indicates whether the AMI is encrypted.

                                                        + *

                                                        The Amazon Web Services service.

                                                        */ - Encrypted?: boolean; + AwsService?: string; /** - *

                                                        The target hypervisor of the import task.

                                                        + *

                                                        The customer-owned IP address.

                                                        */ - Hypervisor?: string; + CoIp?: string; +} +export namespace CoipAddressUsage { /** - *

                                                        The ID of the Amazon Machine Image (AMI) created by the import task.

                                                        + * @internal */ - ImageId?: string; + export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ + ...obj, + }); +} +export interface GetCoipPoolUsageResult { /** - *

                                                        The task ID of the import image task.

                                                        + *

                                                        The ID of the customer-owned address pool.

                                                        */ - ImportTaskId?: string; + CoipPoolId?: string; /** - *

                                                        The identifier for the symmetric KMS key that was used to create the encrypted AMI.

                                                        + *

                                                        Information about the address usage.

                                                        */ - KmsKeyId?: string; + CoipAddressUsages?: CoipAddressUsage[]; /** - *

                                                        The license type of the virtual machine.

                                                        + *

                                                        The ID of the local gateway route table.

                                                        */ - LicenseType?: string; + LocalGatewayRouteTableId?: string; +} +export namespace GetCoipPoolUsageResult { /** - *

                                                        The operating system of the virtual machine.

                                                        + * @internal */ - Platform?: string; + export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ + ...obj, + }); +} +export interface GetConsoleOutputRequest { /** - *

                                                        The progress of the task.

                                                        + *

                                                        The ID of the instance.

                                                        */ - Progress?: string; + InstanceId: string | undefined; /** - *

                                                        Information about the snapshots.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - SnapshotDetails?: SnapshotDetail[]; + DryRun?: boolean; /** - *

                                                        A brief status of the task.

                                                        + *

                                                        When enabled, retrieves the latest console output for the instance.

                                                        + *

                                                        Default: disabled (false)

                                                        */ - Status?: string; + Latest?: boolean; +} +export namespace GetConsoleOutputRequest { /** - *

                                                        A detailed status message of the import task.

                                                        + * @internal */ - StatusMessage?: string; + export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ + ...obj, + }); +} +export interface GetConsoleOutputResult { /** - *

                                                        The ARNs of the license configurations.

                                                        + *

                                                        The ID of the instance.

                                                        */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + InstanceId?: string; /** - *

                                                        Any tags assigned to the import image task.

                                                        + *

                                                        The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

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

                                                        The usage operation value.

                                                        + *

                                                        The time at which the output was last updated.

                                                        */ - UsageOperation?: string; + Timestamp?: Date; } -export namespace ImportImageResult { +export namespace GetConsoleOutputResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageResult): any => ({ + export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ ...obj, }); } -/** - *

                                                        Describes a disk image.

                                                        - */ -export interface DiskImageDetail { +export interface GetConsoleScreenshotRequest { /** - *

                                                        The size of the disk image, in GiB.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Bytes: number | undefined; + DryRun?: boolean; /** - *

                                                        The disk image format.

                                                        + *

                                                        The ID of the instance.

                                                        */ - Format: DiskImageFormat | string | undefined; + InstanceId: string | undefined; /** - *

                                                        A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. - * 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 the Amazon Simple Storage Service Developer - * Guide.

                                                        - *

                                                        For information about the import manifest referenced by this API action, see VM Import Manifest.

                                                        + *

                                                        When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

                                                        */ - ImportManifestUrl: string | undefined; + WakeUp?: boolean; } -export namespace DiskImageDetail { +export namespace GetConsoleScreenshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DiskImageDetail): any => ({ + export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes an EBS volume.

                                                        - */ -export interface VolumeDetail { +export interface GetConsoleScreenshotResult { + /** + *

                                                        The data that comprises the image.

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

                                                        The size of the volume, in GiB.

                                                        + *

                                                        The ID of the instance.

                                                        */ - Size: number | undefined; + InstanceId?: string; } -export namespace VolumeDetail { +export namespace GetConsoleScreenshotResult { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeDetail): any => ({ + export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ ...obj, }); } -/** - *

                                                        Describes a disk image.

                                                        - */ -export interface DiskImage { - /** - *

                                                        A description of the disk image.

                                                        - */ - Description?: string; +export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; +export interface GetDefaultCreditSpecificationRequest { /** - *

                                                        Information about the disk image.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Image?: DiskImageDetail; + DryRun?: boolean; /** - *

                                                        Information about the volume.

                                                        + *

                                                        The instance family.

                                                        */ - Volume?: VolumeDetail; + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; } -export namespace DiskImage { +export namespace GetDefaultCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DiskImage): any => ({ + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the user data for an instance.

                                                        + *

                                                        Describes the default credit option for CPU usage of a burstable performance instance family.

                                                        */ -export interface UserData { +export interface InstanceFamilyCreditSpecification { /** - *

                                                        The user data. If you are using an Amazon Web Services 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.

                                                        + *

                                                        The instance family.

                                                        + */ + InstanceFamily?: UnlimitedSupportedInstanceFamily | string; + + /** + *

                                                        The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

                                                        */ - Data?: string; + CpuCredits?: string; } -export namespace UserData { +export namespace InstanceFamilyCreditSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: UserData): any => ({ + export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ ...obj, }); } -/** - *

                                                        Describes the launch specification for VM import.

                                                        - */ -export interface ImportInstanceLaunchSpecification { - /** - *

                                                        Reserved.

                                                        - */ - AdditionalInfo?: string; - - /** - *

                                                        The architecture of the instance.

                                                        - */ - Architecture?: ArchitectureValues | string; - - /** - *

                                                        The security group IDs.

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

                                                        The security group names.

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

                                                        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the - * operating system command for system shutdown).

                                                        - */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; - - /** - *

                                                        The instance type. For more information about the instance types that you can import, see Instance Types in the - * VM Import/Export User Guide.

                                                        - */ - InstanceType?: _InstanceType | string; - - /** - *

                                                        Indicates whether monitoring is enabled.

                                                        - */ - Monitoring?: boolean; - - /** - *

                                                        The placement information for the instance.

                                                        - */ - Placement?: Placement; - - /** - *

                                                        [EC2-VPC] An available IP address from the IP address range of the subnet.

                                                        - */ - PrivateIpAddress?: string; - - /** - *

                                                        [EC2-VPC] The ID of the subnet in which to launch the instance.

                                                        - */ - SubnetId?: string; - +export interface GetDefaultCreditSpecificationResult { /** - *

                                                        The Base64-encoded user data to make available to the instance.

                                                        + *

                                                        The default credit option for CPU usage of the instance family.

                                                        */ - UserData?: UserData; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; } -export namespace ImportInstanceLaunchSpecification { +export namespace GetDefaultCreditSpecificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ ...obj, - ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); } -export interface ImportInstanceRequest { - /** - *

                                                        A description for the instance being imported.

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

                                                        The disk image.

                                                        - */ - DiskImages?: DiskImage[]; - +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; - - /** - *

                                                        The launch specification.

                                                        - */ - LaunchSpecification?: ImportInstanceLaunchSpecification; - - /** - *

                                                        The instance operating system.

                                                        - */ - Platform: PlatformValues | string | undefined; } -export namespace ImportInstanceRequest { +export namespace GetEbsDefaultKmsKeyIdRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceRequest): any => ({ + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ ...obj, - ...(obj.LaunchSpecification && { - LaunchSpecification: ImportInstanceLaunchSpecification.filterSensitiveLog(obj.LaunchSpecification), - }), }); } -export interface ImportInstanceResult { +export interface GetEbsDefaultKmsKeyIdResult { /** - *

                                                        Information about the conversion task.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                        */ - ConversionTask?: ConversionTask; + KmsKeyId?: string; } -export namespace ImportInstanceResult { +export namespace GetEbsDefaultKmsKeyIdResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceResult): any => ({ + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -export interface ImportKeyPairRequest { +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.

                                                        */ DryRun?: boolean; - - /** - *

                                                        A unique name for the key pair.

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

                                                        The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

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

                                                        The tags to apply to the imported key pair.

                                                        - */ - TagSpecifications?: TagSpecification[]; } -export namespace ImportKeyPairRequest { +export namespace GetEbsEncryptionByDefaultRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportKeyPairRequest): any => ({ + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ ...obj, }); } -export interface ImportKeyPairResult { - /** - *

                                                        The MD5 public key fingerprint as specified in section 4 of RFC 4716.

                                                        - */ - KeyFingerprint?: string; - - /** - *

                                                        The key pair name that you provided.

                                                        - */ - KeyName?: string; - - /** - *

                                                        The ID of the resulting key pair.

                                                        - */ - KeyPairId?: string; - +export interface GetEbsEncryptionByDefaultResult { /** - *

                                                        The tags applied to the imported key pair.

                                                        + *

                                                        Indicates whether encryption by default is enabled.

                                                        */ - Tags?: Tag[]; + EbsEncryptionByDefault?: boolean; } -export namespace ImportKeyPairResult { +export namespace GetEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportKeyPairResult): any => ({ + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ ...obj, }); } +export enum PartitionLoadFrequency { + DAILY = "daily", + MONTHLY = "monthly", + NONE = "none", + WEEKLY = "weekly", +} + /** - *

                                                        The disk container object for the import snapshot request.

                                                        + *

                                                        Describes integration options for Amazon Athena.

                                                        */ -export interface SnapshotDiskContainer { +export interface AthenaIntegration { /** - *

                                                        The description of the disk image being imported.

                                                        + *

                                                        The location in Amazon S3 to store the generated CloudFormation template.

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

                                                        The format of the disk image being imported.

                                                        - *

                                                        Valid values: VHD | VMDK | RAW - *

                                                        + *

                                                        The schedule for adding new partitions to the table.

                                                        */ - Format?: string; + PartitionLoadFrequency: PartitionLoadFrequency | string | undefined; /** - *

                                                        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://..).

                                                        + *

                                                        The start date for the partition.

                                                        */ - Url?: string; + PartitionStartDate?: Date; /** - *

                                                        The Amazon S3 bucket for the disk image.

                                                        + *

                                                        The end date for the partition.

                                                        */ - UserBucket?: UserBucket; + PartitionEndDate?: Date; } -export namespace SnapshotDiskContainer { +export namespace AthenaIntegration { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotDiskContainer): any => ({ + export const filterSensitiveLog = (obj: AthenaIntegration): any => ({ ...obj, }); } -export interface ImportSnapshotRequest { - /** - *

                                                        The client-specific data.

                                                        - */ - ClientData?: ClientData; - - /** - *

                                                        Token to enable idempotency for VM import requests.

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

                                                        Describes service integrations with VPC Flow logs.

                                                        + */ +export interface IntegrateServices { /** - *

                                                        The description string for the import snapshot task.

                                                        + *

                                                        Information about the integration with Amazon Athena.

                                                        */ - Description?: string; + AthenaIntegrations?: AthenaIntegration[]; +} +export namespace IntegrateServices { /** - *

                                                        Information about the disk container.

                                                        + * @internal */ - DiskContainer?: SnapshotDiskContainer; + export const filterSensitiveLog = (obj: IntegrateServices): any => ({ + ...obj, + }); +} +export interface GetFlowLogsIntegrationTemplateRequest { /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9111,963 +10369,815 @@ export interface ImportSnapshotRequest { DryRun?: boolean; /** - *

                                                        Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is - * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

                                                        + *

                                                        The ID of the flow log.

                                                        */ - Encrypted?: boolean; + FlowLogId: string | undefined; /** - *

                                                        An identifier for the symmetric KMS key to use when creating the - * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

                                                        - *

                                                        The KMS key 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 key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key 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 key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key 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 key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          - *
                                                        • - *
                                                        - *

                                                        Amazon Web Services 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 KMS key must exist in the Region that the snapshot is being copied to.

                                                        - *

                                                        Amazon EBS does not support asymmetric KMS keys.

                                                        + *

                                                        To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

                                                        */ - KmsKeyId?: string; + ConfigDeliveryS3DestinationArn: string | undefined; /** - *

                                                        The name of the role to use when not using the default role, 'vmimport'.

                                                        + *

                                                        Information about the service integration.

                                                        */ - RoleName?: string; + IntegrateServices: IntegrateServices | undefined; +} +export namespace GetFlowLogsIntegrationTemplateRequest { /** - *

                                                        The tags to apply to the import snapshot task during creation.

                                                        + * @internal */ - TagSpecifications?: TagSpecification[]; + export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateRequest): any => ({ + ...obj, + }); +} + +export interface GetFlowLogsIntegrationTemplateResult { + /** + *

                                                        The generated CloudFormation template.

                                                        + */ + Result?: string; } -export namespace ImportSnapshotRequest { +export namespace GetFlowLogsIntegrationTemplateResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotRequest): any => ({ + export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateResult): any => ({ ...obj, }); } -export interface ImportSnapshotResult { +export interface GetGroupsForCapacityReservationRequest { /** - *

                                                        A description of the import snapshot task.

                                                        + *

                                                        The ID of the Capacity Reservation.

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

                                                        The ID of the import snapshot task.

                                                        + *

                                                        The token to use to retrieve the next page of results.

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

                                                        Information about the import snapshot task.

                                                        + *

                                                        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.

                                                        */ - SnapshotTaskDetail?: SnapshotTaskDetail; + MaxResults?: number; /** - *

                                                        Any tags assigned to the import snapshot task.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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; } -export namespace ImportSnapshotResult { +export namespace GetGroupsForCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotResult): any => ({ + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ ...obj, }); } -export interface ImportVolumeRequest { +/** + *

                                                        Describes a resource group to which a Capacity Reservation has been added.

                                                        + */ +export interface CapacityReservationGroup { /** - *

                                                        The Availability Zone for the resulting EBS volume.

                                                        + *

                                                        The ARN of the resource group.

                                                        */ - AvailabilityZone: string | undefined; + GroupArn?: string; /** - *

                                                        A description of the volume.

                                                        + *

                                                        The ID of the Amazon Web Services account that owns the resource group.

                                                        */ - Description?: string; + OwnerId?: string; +} +export namespace CapacityReservationGroup { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ + ...obj, + }); +} +export interface GetGroupsForCapacityReservationResult { /** - *

                                                        The disk image.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - Image: DiskImageDetail | undefined; + NextToken?: string; /** - *

                                                        The volume size.

                                                        + *

                                                        Information about the resource groups to which the Capacity Reservation has been added.

                                                        */ - Volume: VolumeDetail | undefined; + CapacityReservationGroups?: CapacityReservationGroup[]; } -export namespace ImportVolumeRequest { +export namespace GetGroupsForCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ ...obj, }); } -export interface ImportVolumeResult { +export interface GetHostReservationPurchasePreviewRequest { + /** + *

                                                        The IDs of the Dedicated Hosts with which the reservation is associated.

                                                        + */ + HostIdSet: string[] | undefined; + /** - *

                                                        Information about the conversion task.

                                                        + *

                                                        The offering ID of the reservation.

                                                        */ - ConversionTask?: ConversionTask; + OfferingId: string | undefined; } -export namespace ImportVolumeResult { +export namespace GetHostReservationPurchasePreviewRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeResult): any => ({ + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ ...obj, }); } -export interface ListSnapshotsInRecycleBinRequest { +/** + *

                                                        Describes the result of the purchase.

                                                        + */ +export interface Purchase { + /** + *

                                                        The currency in which the UpfrontPrice and HourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

                                                        + */ + CurrencyCode?: CurrencyCodeValues | 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 duration of the reservation's term in seconds.

                                                        */ - MaxResults?: number; + Duration?: number; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        The IDs of the Dedicated Hosts associated with the reservation.

                                                        */ - NextToken?: string; + HostIdSet?: string[]; /** - *

                                                        The IDs of the snapshots to list. Omit this parameter to list all of the - * snapshots that are in the Recycle Bin.

                                                        + *

                                                        The ID of the reservation.

                                                        */ - SnapshotIds?: string[]; + HostReservationId?: 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 price of the reservation per hour.

                                                        */ - DryRun?: boolean; + HourlyPrice?: string; + + /** + *

                                                        The instance family on the Dedicated Host that the reservation can be associated + * with.

                                                        + */ + InstanceFamily?: string; + + /** + *

                                                        The payment option for the reservation.

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

                                                        The upfront price of the reservation.

                                                        + */ + UpfrontPrice?: string; } -export namespace ListSnapshotsInRecycleBinRequest { +export namespace Purchase { /** * @internal */ - export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinRequest): any => ({ + export const filterSensitiveLog = (obj: Purchase): any => ({ ...obj, }); } -/** - *

                                                        Information about a snapshot that is currently in the Recycle Bin.

                                                        - */ -export interface SnapshotRecycleBinInfo { - /** - *

                                                        The ID of the snapshot.

                                                        - */ - SnapshotId?: string; - +export interface GetHostReservationPurchasePreviewResult { /** - *

                                                        The date and time when the snaphsot entered the Recycle Bin.

                                                        + *

                                                        The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

                                                        */ - RecycleBinEnterTime?: Date; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                        The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

                                                        + *

                                                        The purchase information of the Dedicated Host reservation and the Dedicated Hosts + * associated with it.

                                                        */ - RecycleBinExitTime?: Date; + Purchase?: Purchase[]; /** - *

                                                        The description for the snapshot.

                                                        + *

                                                        The potential total hourly price of the reservation per hour.

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

                                                        The ID of the volume from which the snapshot was created.

                                                        + *

                                                        The potential total upfront price. This is billed immediately.

                                                        */ - VolumeId?: string; + TotalUpfrontPrice?: string; } -export namespace SnapshotRecycleBinInfo { +export namespace GetHostReservationPurchasePreviewResult { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotRecycleBinInfo): any => ({ + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ ...obj, }); } -export interface ListSnapshotsInRecycleBinResult { +export interface GetInstanceTypesFromInstanceRequirementsRequest { /** - *

                                                        Information about the snapshots.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Snapshots?: SnapshotRecycleBinInfo[]; + 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 processor architecture type.

                                                        */ - NextToken?: string; -} + ArchitectureTypes: (ArchitectureType | string)[] | undefined; -export namespace ListSnapshotsInRecycleBinResult { /** - * @internal + *

                                                        The virtualization type.

                                                        */ - export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinResult): any => ({ - ...obj, - }); -} + VirtualizationTypes: (VirtualizationType | string)[] | undefined; -export interface ModifyAddressAttributeRequest { /** - *

                                                        [EC2-VPC] The allocation ID.

                                                        + *

                                                        The attributes required for the instance types.

                                                        */ - AllocationId: string | undefined; + InstanceRequirements: InstanceRequirementsRequest | undefined; /** - *

                                                        The domain name to modify for the IP address.

                                                        + *

                                                        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.

                                                        */ - DomainName?: 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 set of results.

                                                        */ - DryRun?: boolean; + NextToken?: string; } -export namespace ModifyAddressAttributeRequest { +export namespace GetInstanceTypesFromInstanceRequirementsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAddressAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsRequest): any => ({ ...obj, }); } -export interface ModifyAddressAttributeResult { +/** + *

                                                        The list of instance types with the specified instance attributes.

                                                        + */ +export interface InstanceTypeInfoFromInstanceRequirements { /** - *

                                                        Information about the Elastic IP address.

                                                        + *

                                                        The matching instance type.

                                                        */ - Address?: AddressAttribute; + InstanceType?: string; } -export namespace ModifyAddressAttributeResult { +export namespace InstanceTypeInfoFromInstanceRequirements { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAddressAttributeResult): any => ({ + export const filterSensitiveLog = (obj: InstanceTypeInfoFromInstanceRequirements): any => ({ ...obj, }); } -export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; - -export interface ModifyAvailabilityZoneGroupRequest { - /** - *

                                                        The name of the Availability Zone group, Local Zone group, or Wavelength Zone - * group.

                                                        - */ - GroupName: string | undefined; - +export interface GetInstanceTypesFromInstanceRequirementsResult { /** - *

                                                        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 Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

                                                        + *

                                                        The instance types with the specified instance attributes.

                                                        */ - OptInStatus: ModifyAvailabilityZoneOptInStatus | string | undefined; + InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; /** - *

                                                        Checks whether you have the required permissions for the action, without 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 set of results.

                                                        */ - DryRun?: boolean; + NextToken?: string; } -export namespace ModifyAvailabilityZoneGroupRequest { +export namespace GetInstanceTypesFromInstanceRequirementsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupRequest): any => ({ + export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsResult): any => ({ ...obj, }); } -export interface ModifyAvailabilityZoneGroupResult { - /** - *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        - */ - Return?: boolean; -} - -export namespace ModifyAvailabilityZoneGroupResult { +export interface GetIpamAddressHistoryRequest { /** - * @internal + *

                                                        A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface ModifyCapacityReservationRequest { /** - *

                                                        The ID of the Capacity Reservation.

                                                        + *

                                                        The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. + * If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

                                                        */ - CapacityReservationId: string | undefined; + Cidr: string | undefined; /** - *

                                                        The number of instances for which to reserve capacity. The number of instances can't be increased or - * decreased by more than 1000 in a single request.

                                                        + *

                                                        The ID of the IPAM scope that the CIDR is in.

                                                        */ - InstanceCount?: number; + IpamScopeId: 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 - * expired when it reaches its end date and time.

                                                        - *

                                                        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.

                                                        - *

                                                        You must provide an EndDate value if EndDateType is - * limited. Omit EndDate if EndDateType is - * unlimited.

                                                        + *

                                                        The ID of the VPC you want your history records filtered by.

                                                        */ - EndDate?: Date; + VpcId?: 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. Do not - * provide an EndDate value if EndDateType is - * unlimited.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * limited - The Capacity Reservation expires automatically at a specified date and time. You must - * provide an EndDate value if EndDateType is - * limited.

                                                          - *
                                                        • - *
                                                        + *

                                                        The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

                                                        */ - EndDateType?: EndDateType | string; + StartTime?: Date; /** - *

                                                        Reserved. Capacity Reservations you have created are accepted by default.

                                                        + *

                                                        The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

                                                        */ - Accept?: boolean; + EndTime?: 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 maximum number of historical results you would like returned per page. Defaults to 100.

                                                        */ - DryRun?: boolean; + MaxResults?: number; /** - *

                                                        Reserved for future use.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - AdditionalInfo?: string; + NextToken?: string; } -export namespace ModifyCapacityReservationRequest { +export namespace GetIpamAddressHistoryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: GetIpamAddressHistoryRequest): any => ({ ...obj, }); } -export interface ModifyCapacityReservationResult { - /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        - */ - Return?: boolean; +export enum IpamComplianceStatus { + compliant = "compliant", + ignored = "ignored", + noncompliant = "noncompliant", + unmanaged = "unmanaged", +} + +export enum IpamOverlapStatus { + ignored = "ignored", + nonoverlapping = "nonoverlapping", + overlapping = "overlapping", } -export namespace ModifyCapacityReservationResult { +export enum IpamAddressHistoryResourceType { + eip = "eip", + instance = "instance", + network_interface = "network-interface", + subnet = "subnet", + vpc = "vpc", +} + +/** + *

                                                        The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide. + *

                                                        + */ +export interface IpamAddressHistoryRecord { /** - * @internal + *

                                                        The ID of the resource owner.

                                                        */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationResult): any => ({ - ...obj, - }); -} + ResourceOwnerId?: string; -export interface ModifyCapacityReservationFleetRequest { /** - *

                                                        The ID of the Capacity Reservation Fleet to modify.

                                                        + *

                                                        The Amazon Web Services Region of the resource.

                                                        */ - CapacityReservationFleetId: string | undefined; + ResourceRegion?: string; /** - *

                                                        The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, - * together with the instance type weights that you assign to each instance type used by the Fleet - * determine the number of instances for which the Fleet reserves capacity. Both values are based on - * units that make sense for your workload. For more information, see Total target capacity - * in the Amazon EC2 User Guide.

                                                        + *

                                                        The type of the resource.

                                                        */ - TotalTargetCapacity?: number; + ResourceType?: IpamAddressHistoryResourceType | string; /** - *

                                                        The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation - * Fleet expires, its state changes to expired and all of the Capacity Reservations in the - * Fleet expire.

                                                        - *

                                                        The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you - * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed - * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

                                                        - *

                                                        You can't specify EndDate and - * RemoveEndDate in the same request.

                                                        + *

                                                        The ID of the resource.

                                                        */ - EndDate?: Date; + ResourceId?: 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 of the resource.

                                                        */ - DryRun?: boolean; + ResourceCidr?: string; /** - *

                                                        Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the - * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly - * cancel it using the CancelCapacityReservationFleet action.

                                                        - *

                                                        You can't specify RemoveEndDate and - * EndDate in the same request.

                                                        + *

                                                        The name of the resource.

                                                        */ - RemoveEndDate?: boolean; -} + ResourceName?: string; -export namespace ModifyCapacityReservationFleetRequest { /** - * @internal + *

                                                        The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                        */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetRequest): any => ({ - ...obj, - }); -} + ResourceComplianceStatus?: IpamComplianceStatus | string; -export interface ModifyCapacityReservationFleetResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                        */ - Return?: boolean; -} + ResourceOverlapStatus?: IpamOverlapStatus | string; -export namespace ModifyCapacityReservationFleetResult { /** - * @internal + *

                                                        The VPC ID of the resource.

                                                        */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetResult): any => ({ - ...obj, - }); -} + VpcId?: string; -/** - *

                                                        Information about the DNS server to be used.

                                                        - */ -export interface DnsServersOptionsModifyStructure { /** - *

                                                        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.

                                                        + *

                                                        Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

                                                        */ - CustomDnsServers?: string[]; + SampledStartTime?: Date; /** - *

                                                        Indicates whether DNS servers should be used. Specify False to delete the existing DNS - * servers.

                                                        + *

                                                        Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

                                                        */ - Enabled?: boolean; + SampledEndTime?: Date; } -export namespace DnsServersOptionsModifyStructure { +export namespace IpamAddressHistoryRecord { /** * @internal */ - export const filterSensitiveLog = (obj: DnsServersOptionsModifyStructure): any => ({ + export const filterSensitiveLog = (obj: IpamAddressHistoryRecord): any => ({ ...obj, }); } -export interface ModifyClientVpnEndpointRequest { - /** - *

                                                        The ID of the Client VPN endpoint to modify.

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

                                                        The ARN of the server certificate to be used. The server certificate must be provisioned in - * Certificate Manager (ACM).

                                                        - */ - ServerCertificateArn?: 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

                                                          - *
                                                        • - *
                                                        - */ - ConnectionLogOptions?: ConnectionLogOptions; - +export interface GetIpamAddressHistoryResult { /** - *

                                                        Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have - * up to two DNS servers.

                                                        + *

                                                        A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

                                                        */ - DnsServers?: DnsServersOptionsModifyStructure; + HistoryRecords?: IpamAddressHistoryRecord[]; /** - *

                                                        The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                                                        - *

                                                        Valid Values: 443 | 1194 - *

                                                        - *

                                                        Default Value: 443 - *

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - VpnPort?: number; + NextToken?: string; +} +export namespace GetIpamAddressHistoryResult { /** - *

                                                        A brief description of the Client VPN endpoint.

                                                        + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: GetIpamAddressHistoryResult): any => ({ + ...obj, + }); +} +export interface GetIpamPoolAllocationsRequest { /** - *

                                                        Indicates whether the VPN is split-tunnel.

                                                        - *

                                                        For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the - * Client VPN Administrator Guide.

                                                        + *

                                                        A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - SplitTunnel?: boolean; + 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 IPAM pool you want to see the allocations for.

                                                        */ - DryRun?: boolean; + IpamPoolId: string | undefined; /** - *

                                                        The IDs of one or more security groups to apply to the target network.

                                                        + *

                                                        The ID of the allocation.

                                                        */ - SecurityGroupIds?: string[]; + IpamPoolAllocationId?: string; /** - *

                                                        The ID of the VPC to associate with the Client VPN endpoint.

                                                        + *

                                                        One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                        */ - VpcId?: string; + Filters?: Filter[]; /** - *

                                                        Specify whether to enable the self-service portal for the Client VPN endpoint.

                                                        + *

                                                        The maximum number of results you would like returned per page.

                                                        */ - SelfServicePortal?: SelfServicePortal | string; + MaxResults?: number; /** - *

                                                        The options for managing connection authorization for new client connections.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - ClientConnectOptions?: ClientConnectOptions; + NextToken?: string; } -export namespace ModifyClientVpnEndpointRequest { +export namespace GetIpamPoolAllocationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyClientVpnEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolAllocationsRequest): any => ({ ...obj, }); } -export interface ModifyClientVpnEndpointResult { +export interface GetIpamPoolAllocationsResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        The IPAM pool allocations you want information on.

                                                        */ - Return?: boolean; + IpamPoolAllocations?: IpamPoolAllocation[]; + + /** + *

                                                        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 ModifyClientVpnEndpointResult { +export namespace GetIpamPoolAllocationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyClientVpnEndpointResult): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolAllocationsResult): any => ({ ...obj, }); } -export interface ModifyDefaultCreditSpecificationRequest { +export interface GetIpamPoolCidrsRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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 family.

                                                        + *

                                                        The ID of the IPAM pool you want the CIDR for.

                                                        */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; + IpamPoolId: string | undefined; /** - *

                                                        The credit option for CPU usage of the instance family.

                                                        - *

                                                        Valid Values: standard | unlimited - *

                                                        + *

                                                        One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                        */ - CpuCredits: string | undefined; -} + Filters?: Filter[]; -export namespace ModifyDefaultCreditSpecificationRequest { /** - * @internal + *

                                                        The maximum number of results to return in the request.

                                                        */ - export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface ModifyDefaultCreditSpecificationResult { /** - *

                                                        The default credit option for CPU usage of the instance family.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; + NextToken?: string; } -export namespace ModifyDefaultCreditSpecificationResult { +export namespace GetIpamPoolCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationResult): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolCidrsRequest): any => ({ ...obj, }); } -export interface ModifyEbsDefaultKmsKeyIdRequest { +export interface GetIpamPoolCidrsResult { /** - *

                                                        The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

                                                        - *

                                                        You can specify the KMS key using any of the following:

                                                        - *
                                                          - *
                                                        • - *

                                                          Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Key alias. For example, alias/ExampleAlias.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          - *
                                                        • - *
                                                        - *

                                                        Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

                                                        - *

                                                        Amazon EBS does not support asymmetric KMS keys.

                                                        + *

                                                        Information about the CIDRs provisioned to an IPAM pool.

                                                        */ - KmsKeyId: string | undefined; + IpamPoolCidrs?: IpamPoolCidr[]; /** - *

                                                        Checks whether you have the required permissions for the action, without 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 ModifyEbsDefaultKmsKeyIdRequest { +export namespace GetIpamPoolCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdRequest): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolCidrsResult): any => ({ ...obj, }); } -export interface ModifyEbsDefaultKmsKeyIdResult { - /** - *

                                                        The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                        - */ - KmsKeyId?: string; -} - -export namespace ModifyEbsDefaultKmsKeyIdResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdResult): any => ({ - ...obj, - }); +export enum IpamResourceType { + eip = "eip", + ipv6_pool = "ipv6-pool", + public_ipv4_pool = "public-ipv4-pool", + subnet = "subnet", + vpc = "vpc", } -export interface ModifyFleetRequest { +export interface GetIpamResourceCidrsRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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 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 launch template and overrides.

                                                        + *

                                                        One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                        */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; + Filters?: Filter[]; /** - *

                                                        The ID of the EC2 Fleet.

                                                        + *

                                                        The maximum number of results to return in the request.

                                                        */ - FleetId: string | undefined; + MaxResults?: number; /** - *

                                                        The size of the EC2 Fleet.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - TargetCapacitySpecification?: TargetCapacitySpecificationRequest; + NextToken?: string; /** - *

                                                        Reserved.

                                                        + *

                                                        The ID of the scope that the resource is in.

                                                        */ - Context?: string; -} + IpamScopeId: string | undefined; -export namespace ModifyFleetRequest { /** - * @internal + *

                                                        The ID of the IPAM pool that the resource is in.

                                                        */ - export const filterSensitiveLog = (obj: ModifyFleetRequest): any => ({ - ...obj, - }); -} + IpamPoolId?: string; -export interface ModifyFleetResult { /** - *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        + *

                                                        The ID of the resource.

                                                        */ - Return?: boolean; -} + ResourceId?: string; -export namespace ModifyFleetResult { /** - * @internal + *

                                                        The resource type.

                                                        */ - export const filterSensitiveLog = (obj: ModifyFleetResult): any => ({ - ...obj, - }); -} + ResourceType?: IpamResourceType | string; -/** - *

                                                        Describes a load permission.

                                                        - */ -export interface LoadPermissionRequest { /** - *

                                                        The name of the group.

                                                        + *

                                                        A tag on an IPAM resource.

                                                        */ - Group?: PermissionGroup | string; + ResourceTag?: RequestIpamResourceTag; /** - *

                                                        The Amazon Web Services account ID.

                                                        + *

                                                        The ID of the Amazon Web Services account that owns the resource.

                                                        */ - UserId?: string; + ResourceOwner?: string; } -export namespace LoadPermissionRequest { +export namespace GetIpamResourceCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LoadPermissionRequest): any => ({ + export const filterSensitiveLog = (obj: GetIpamResourceCidrsRequest): any => ({ ...obj, }); } +export enum IpamManagementState { + ignored = "ignored", + managed = "managed", + unmanaged = "unmanaged", +} + /** - *

                                                        Describes modifications to the load permissions of an Amazon FPGA image (AFI).

                                                        + *

                                                        The CIDR for an IPAM resource.

                                                        */ -export interface LoadPermissionModifications { +export interface IpamResourceCidr { /** - *

                                                        The load permissions to add.

                                                        + *

                                                        The IPAM ID for an IPAM resource.

                                                        */ - Add?: LoadPermissionRequest[]; + IpamId?: string; /** - *

                                                        The load permissions to remove.

                                                        + *

                                                        The scope ID for an IPAM resource.

                                                        */ - Remove?: LoadPermissionRequest[]; -} + IpamScopeId?: string; -export namespace LoadPermissionModifications { /** - * @internal + *

                                                        The pool ID for an IPAM resource.

                                                        */ - export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ - ...obj, - }); -} + IpamPoolId?: string; -export type OperationType = "add" | "remove"; - -export interface ModifyFpgaImageAttributeRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 Amazon Web Services Region for an IPAM resource.

                                                        */ - DryRun?: boolean; + ResourceRegion?: string; /** - *

                                                        The ID of the AFI.

                                                        + *

                                                        The Amazon Web Services account number of the owner of an IPAM resource.

                                                        */ - FpgaImageId: string | undefined; + ResourceOwnerId?: string; /** - *

                                                        The name of the attribute.

                                                        + *

                                                        The ID of an IPAM resource.

                                                        */ - Attribute?: FpgaImageAttributeName | string; + ResourceId?: string; /** - *

                                                        The operation type.

                                                        + *

                                                        The name of an IPAM resource.

                                                        */ - OperationType?: OperationType | string; + ResourceName?: string; /** - *

                                                        The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

                                                        + *

                                                        The CIDR for an IPAM resource.

                                                        */ - UserIds?: string[]; + ResourceCidr?: string; /** - *

                                                        The user groups. This parameter is valid only when modifying the loadPermission attribute.

                                                        + *

                                                        The type of IPAM resource.

                                                        */ - UserGroups?: string[]; + ResourceType?: IpamResourceType | string; /** - *

                                                        The product codes. After you add a product code to an AFI, it can't be removed. - * This parameter is valid only when modifying the productCodes attribute.

                                                        + *

                                                        The tags for an IPAM resource.

                                                        */ - ProductCodes?: string[]; + ResourceTags?: IpamResourceTag[]; /** - *

                                                        The load permission for the AFI.

                                                        + *

                                                        The IP address space in the IPAM pool that is allocated to this resource. To convert the decimal to a percentage, multiply the decimal by 100.

                                                        */ - LoadPermission?: LoadPermissionModifications; + IpUsage?: number; /** - *

                                                        A description for the AFI.

                                                        + *

                                                        The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                        */ - Description?: string; + ComplianceStatus?: IpamComplianceStatus | string; /** - *

                                                        A name for the AFI.

                                                        + *

                                                        The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                        */ - Name?: string; -} + ManagementState?: IpamManagementState | string; -export namespace ModifyFpgaImageAttributeRequest { /** - * @internal + *

                                                        The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                        */ - export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeRequest): any => ({ - ...obj, - }); -} + OverlapStatus?: IpamOverlapStatus | string; -export interface ModifyFpgaImageAttributeResult { /** - *

                                                        Information about the attribute.

                                                        + *

                                                        The ID of a VPC.

                                                        */ - FpgaImageAttribute?: FpgaImageAttribute; + VpcId?: string; } -export namespace ModifyFpgaImageAttributeResult { +export namespace IpamResourceCidr { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: IpamResourceCidr): any => ({ ...obj, }); } -export interface ModifyHostsRequest { +export interface GetIpamResourceCidrsResult { /** - *

                                                        Specify whether to enable or disable auto-placement.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - AutoPlacement?: AutoPlacement | string; + NextToken?: string; /** - *

                                                        The IDs of the Dedicated Hosts to modify.

                                                        + *

                                                        The resource CIDRs.

                                                        */ - HostIds: string[] | undefined; + IpamResourceCidrs?: IpamResourceCidr[]; +} +export namespace GetIpamResourceCidrsResult { /** - *

                                                        Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, - * see - * Host recovery in the Amazon EC2 User Guide.

                                                        + * @internal */ - HostRecovery?: HostRecovery | string; + export const filterSensitiveLog = (obj: GetIpamResourceCidrsResult): any => ({ + ...obj, + }); +} +export interface GetLaunchTemplateDataRequest { /** - *

                                                        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.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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; /** - *

                                                        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 - * instance family.

                                                        - * - *

                                                        If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter - * and specify InstanceType instead. You cannot specify - * InstanceFamily and InstanceType - * in the same request.

                                                        + *

                                                        The ID of the instance.

                                                        */ - InstanceFamily?: string; + InstanceId: string | undefined; } -export namespace ModifyHostsRequest { +export namespace GetLaunchTemplateDataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyHostsRequest): any => ({ + export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 24b755dd7b45..07977de1c987 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -1,24 +1,39 @@ +import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; + import { _InstanceType, + AccessScopeAnalysisFinding, + AddIpamOperatingRegion, AddPrefixListEntry, AddressAttribute, AddressAttributeName, Affinity, ApplianceModeSupportValue, AttributeValue, + AutoPlacement, ByoipCidr, + ClientConnectOptions, ClientVpnAuthorizationRuleStatus, + ConnectionLogOptions, CurrencyCodeValues, DnsSupportValue, + EndDateType, + FleetExcessCapacityTerminationPolicy, HostnameType, + HostRecovery, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpPermission, Ipv6SupportValue, - Placement, + PortRange, RouteTableAssociationState, + SelfServicePortal, + SubnetAssociation, + Tag, TagSpecification, + TargetConfigurationRequest, + TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, @@ -30,23 +45,32 @@ import { BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTarget, - CreditSpecificationRequest, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, - ElasticGpuSpecification, + DiskImageFormat, + FleetLaunchTemplateConfigRequest, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, InstanceInterruptionBehavior, - InstanceIpv6Address, + InstanceRequirementsRequest, + Ipam, + IpamPool, + IpamScope, LaunchTemplate, - LocalGatewayRoute, ManagedPrefixList, MarketType, - PortRange, + NetworkInsightsAccessScopeContent, + Placement, + PlatformValues, + RequestIpamResourceTag, + ResponseLaunchTemplateData, RuleAction, ShutdownBehavior, SnapshotState, SpotInstanceType, + SubnetCidrReservation, + TargetCapacitySpecificationRequest, + TargetCapacityUnitType, TrafficDirection, TrafficMirrorFilter, TrafficMirrorFilterRule, @@ -55,357 +79,356 @@ import { TrafficMirrorRuleAction, TrafficMirrorSession, TransitGateway, - TransitGatewayPrefixListReference, - TransitGatewayRoute, VolumeType, VpnEcmpSupportValue, } from "./models_1"; import { - ClientVpnConnectionStatus, Filter, IKEVersionsRequestListValue, InstanceTagNotificationAttribute, + IpamPoolCidr, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsRequestListValue, Phase1IntegrityAlgorithmsRequestListValue, Phase2DHGroupNumbersRequestListValue, Phase2EncryptionAlgorithmsRequestListValue, Phase2IntegrityAlgorithmsRequestListValue, + TransitGatewayPrefixListReference, + TransitGatewayRoute, VpnConnection, } from "./models_2"; import { + AnalysisStatus, + ArchitectureType, ArchitectureValues, AttributeBooleanValue, BootModeValues, - CreateVolumePermission, - ExcessCapacityTerminationPolicy, + ConversionTask, + FpgaImageAttribute, + FpgaImageAttributeName, HttpTokensState, + ImportImageLicenseConfigurationResponse, InstanceAttributeName, InstanceMetadataEndpointState, InstanceMetadataOptionsResponse, InstanceMetadataProtocolState, - InstanceNetworkInterfaceSpecification, - InstanceState, InstanceStatusEvent, LaunchPermission, - LaunchTemplateConfig, Monitoring, - NetworkInsightsAnalysis, + PermissionGroup, + PublicIpv4PoolRange, ReservedInstancesConfiguration, + SnapshotDetail, + SnapshotTaskDetail, + VirtualizationType, +} from "./models_3"; +import { + CreateVolumePermission, + ExcessCapacityTerminationPolicy, + InstanceFamilyCreditSpecification, + InstanceNetworkInterfaceSpecification, + IpamResourceCidr, + LaunchTemplateConfig, + Purchase, RunInstancesMonitoringEnabled, ScheduledInstance, SnapshotAttributeName, SpotFleetRequestConfigData, SpotInstanceRequest, SpotPlacement, -} from "./models_3"; -import { OperationType, Purchase, VolumeModification } from "./models_4"; - -export interface ModifyHostsResult { - /** - *

                                                        The IDs of the Dedicated Hosts that were successfully modified.

                                                        - */ - Successful?: string[]; + TransitGatewayPropagationState, + UnlimitedSupportedInstanceFamily, + VolumeModification, +} from "./models_4"; +export interface GetLaunchTemplateDataResult { /** - *

                                                        The IDs of the Dedicated Hosts that could not be modified. Check whether the - * setting you requested can be used.

                                                        + *

                                                        The instance data.

                                                        */ - Unsuccessful?: UnsuccessfulItem[]; + LaunchTemplateData?: ResponseLaunchTemplateData; } -export namespace ModifyHostsResult { +export namespace GetLaunchTemplateDataResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyHostsResult): any => ({ + export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ ...obj, }); } -export interface ModifyIdentityIdFormatRequest { +export interface GetManagedPrefixListAssociationsRequest { /** - *

                                                        The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify - * all to modify the ID format for all IAM users, IAM roles, and the root user of - * the account.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - PrincipalArn: string | undefined; + DryRun?: boolean; /** - *

                                                        The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                        - *

                                                        Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

                                                        + *

                                                        The ID of the prefix list.

                                                        */ - Resource: string | undefined; + PrefixListId: string | undefined; /** - *

                                                        Indicates whether the resource should use longer IDs (17-character 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.

                                                        */ - UseLongIds: boolean | undefined; + MaxResults?: number; + + /** + *

                                                        The token for the next page of results.

                                                        + */ + NextToken?: string; } -export namespace ModifyIdentityIdFormatRequest { +export namespace GetManagedPrefixListAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIdentityIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ ...obj, }); } -export interface ModifyIdFormatRequest { +/** + *

                                                        Describes the resource with which a prefix list is associated.

                                                        + */ +export interface PrefixListAssociation { /** - *

                                                        The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                        - *

                                                        Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

                                                        + *

                                                        The ID of the resource.

                                                        */ - Resource: string | undefined; + ResourceId?: string; /** - *

                                                        Indicate whether the resource should use longer IDs (17-character IDs).

                                                        + *

                                                        The owner of the resource.

                                                        */ - UseLongIds: boolean | undefined; + ResourceOwner?: string; } -export namespace ModifyIdFormatRequest { +export namespace PrefixListAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ ...obj, }); } -/** - *

                                                        Describes a launch permission modification.

                                                        - */ -export interface LaunchPermissionModifications { +export interface GetManagedPrefixListAssociationsResult { /** - *

                                                        The Amazon Web Services account ID to add to the list of launch permissions for the AMI.

                                                        + *

                                                        Information about the associations.

                                                        */ - Add?: LaunchPermission[]; + PrefixListAssociations?: PrefixListAssociation[]; /** - *

                                                        The Amazon Web Services account ID to remove from the list of launch permissions for the AMI.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - Remove?: LaunchPermission[]; + NextToken?: string; } -export namespace LaunchPermissionModifications { +export namespace GetManagedPrefixListAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchPermissionModifications): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ ...obj, }); } -/** - *

                                                        Contains the parameters for ModifyImageAttribute.

                                                        - */ -export interface ModifyImageAttributeRequest { - /** - *

                                                        The name of the attribute to modify.

                                                        - *

                                                        Valid values: description | launchPermission - *

                                                        - */ - Attribute?: string; - +export interface GetManagedPrefixListEntriesRequest { /** - *

                                                        A new description for the AMI.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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?: AttributeValue; + DryRun?: boolean; /** - *

                                                        The ID of the AMI.

                                                        + *

                                                        The ID of the prefix list.

                                                        */ - ImageId: string | undefined; + PrefixListId: string | undefined; /** - *

                                                        A new launch permission for the AMI.

                                                        + *

                                                        The version of the prefix list for which to return the entries. The default is the current version.

                                                        */ - LaunchPermission?: LaunchPermissionModifications; + TargetVersion?: number; /** - *

                                                        The operation type. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - OperationType?: OperationType | string; + MaxResults?: number; /** - *

                                                        Not supported.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - ProductCodes?: string[]; + NextToken?: string; +} +export namespace GetManagedPrefixListEntriesRequest { /** - *

                                                        The user groups. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                        + * @internal */ - UserGroups?: string[]; + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a prefix list entry.

                                                        + */ +export interface PrefixListEntry { /** - *

                                                        The Amazon Web Services account IDs. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                        + *

                                                        The CIDR block.

                                                        */ - UserIds?: string[]; + Cidr?: string; /** - *

                                                        The value of the attribute being modified. - * This parameter can be used only when the Attribute parameter is description.

                                                        + *

                                                        The description.

                                                        */ - Value?: string; + Description?: string; +} +export namespace PrefixListEntry { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ + ...obj, + }); +} +export interface GetManagedPrefixListEntriesResult { /** - *

                                                        The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

                                                        + *

                                                        Information about the prefix list entries.

                                                        */ - OrganizationArns?: string[]; + Entries?: PrefixListEntry[]; /** - *

                                                        The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - OrganizationalUnitArns?: string[]; + NextToken?: string; } -export namespace ModifyImageAttributeRequest { +export namespace GetManagedPrefixListEntriesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ ...obj, }); } -/** - *

                                                        Describes information used to set up an EBS volume specified in a block device - * mapping.

                                                        - */ -export interface EbsInstanceBlockDeviceSpecification { +export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** - *

                                                        Indicates whether the volume is deleted on instance termination.

                                                        + *

                                                        The ID of the Network Access Scope analysis.

                                                        */ - DeleteOnTermination?: boolean; + NetworkInsightsAccessScopeAnalysisId: string | undefined; /** - *

                                                        The ID of the EBS volume.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - VolumeId?: string; + 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 EbsInstanceBlockDeviceSpecification { +export namespace GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EbsInstanceBlockDeviceSpecification): any => ({ + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeAnalysisFindingsRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes a block device mapping entry.

                                                        - */ -export interface InstanceBlockDeviceMappingSpecification { +export interface GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** - *

                                                        The device name (for example, /dev/sdh or xvdh).

                                                        + *

                                                        The ID of the Network Access Scope analysis.

                                                        */ - DeviceName?: string; + NetworkInsightsAccessScopeAnalysisId?: string; /** - *

                                                        Parameters used to automatically set up EBS volumes when the instance is - * launched.

                                                        + *

                                                        The status of Network Access Scope Analysis.

                                                        */ - Ebs?: EbsInstanceBlockDeviceSpecification; + AnalysisStatus?: AnalysisStatus | string; /** - *

                                                        suppress the specified device included in the block device mapping.

                                                        + *

                                                        The findings associated with Network Access Scope Analysis.

                                                        */ - NoDevice?: string; + AnalysisFindings?: AccessScopeAnalysisFinding[]; /** - *

                                                        The virtual device name.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - VirtualName?: string; + NextToken?: string; } -export namespace InstanceBlockDeviceMappingSpecification { +export namespace GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceBlockDeviceMappingSpecification): any => ({ + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeAnalysisFindingsResult): any => ({ ...obj, }); } -export interface BlobAttributeValue { - Value?: Uint8Array; +export interface GetNetworkInsightsAccessScopeContentRequest { + /** + *

                                                        The ID of the Network Access Scope.

                                                        + */ + NetworkInsightsAccessScopeId: 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 BlobAttributeValue { +export namespace GetNetworkInsightsAccessScopeContentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: BlobAttributeValue): any => ({ + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeContentRequest): any => ({ ...obj, }); } -export interface ModifyInstanceAttributeRequest { - /** - *

                                                        Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

                                                        - */ - SourceDestCheck?: AttributeBooleanValue; - +export interface GetNetworkInsightsAccessScopeContentResult { /** - *

                                                        The name of the attribute.

                                                        + *

                                                        The Network Access Scope content.

                                                        */ - Attribute?: InstanceAttributeName | string; + NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; +} +export namespace GetNetworkInsightsAccessScopeContentResult { /** - *

                                                        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 Update the block device mapping when launching an instance in the - * Amazon EC2 User Guide.

                                                        + * @internal */ - BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeContentResult): any => ({ + ...obj, + }); +} +export interface GetPasswordDataRequest { /** - *

                                                        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.

                                                        + *

                                                        The ID of the Windows instance.

                                                        */ - DisableApiTermination?: AttributeBooleanValue; + InstanceId: string | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -413,1669 +436,1788 @@ export interface ModifyInstanceAttributeRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; +} +export namespace GetPasswordDataRequest { /** - *

                                                        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.

                                                        + * @internal */ - EbsOptimized?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ + ...obj, + }); +} +export interface GetPasswordDataResult { /** - *

                                                        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.

                                                        + *

                                                        The ID of the Windows instance.

                                                        */ - EnaSupport?: AttributeBooleanValue; + InstanceId?: string; /** - *

                                                        [EC2-VPC] Replaces the security groups of the instance with the specified security groups. - * 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.

                                                        + *

                                                        The password of the instance. Returns an empty string if the password is not + * available.

                                                        */ - Groups?: string[]; + PasswordData?: string; /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The time the data was last updated.

                                                        */ - InstanceId: string | undefined; + Timestamp?: Date; +} +export namespace GetPasswordDataResult { /** - *

                                                        Specifies whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                                                        + * @internal */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for GetReservedInstanceExchangeQuote.

                                                        + */ +export interface GetReservedInstancesExchangeQuoteRequest { /** - *

                                                        Changes the instance type to the specified value. For more information, see Instance - * types in the Amazon EC2 User Guide. If the instance type is not valid, - * the error returned is InvalidInstanceAttributeValue.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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?: AttributeValue; + DryRun?: boolean; /** - *

                                                        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 IDs of the Convertible Reserved Instances to exchange.

                                                        */ - Kernel?: AttributeValue; + ReservedInstanceIds: string[] | undefined; /** - *

                                                        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.

                                                        + *

                                                        The configuration of the target Convertible Reserved Instance to exchange for your + * current Convertible Reserved Instances.

                                                        */ - Ramdisk?: AttributeValue; + TargetConfigurations?: TargetConfigurationRequest[]; +} +export namespace GetReservedInstancesExchangeQuoteRequest { /** - *

                                                        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.

                                                        + * @internal */ - SriovNetSupport?: AttributeValue; + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        The cost associated with the Reserved Instance.

                                                        + */ +export interface ReservationValue { /** - *

                                                        Changes the instance's user data to the specified value. If you are using an Amazon Web Services 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.

                                                        + *

                                                        The hourly rate of the reservation.

                                                        */ - UserData?: BlobAttributeValue; + HourlyPrice?: string; /** - *

                                                        A new value for the attribute. Use only with the kernel, - * ramdisk, userData, disableApiTermination, or - * instanceInitiatedShutdownBehavior attribute.

                                                        + *

                                                        The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

                                                        */ - Value?: string; + RemainingTotalValue?: string; + + /** + *

                                                        The remaining upfront cost of the reservation.

                                                        + */ + RemainingUpfrontValue?: string; } -export namespace ModifyInstanceAttributeRequest { +export namespace ReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ReservationValue): any => ({ ...obj, }); } /** - *

                                                        Describes an instance's Capacity Reservation targeting option. You can specify only one parameter - * at a time. If you specify CapacityReservationPreference and - * CapacityReservationTarget, the request fails.

                                                        - *

                                                        Use the CapacityReservationPreference parameter to configure the instance - * to run as an On-Demand Instance or to run in any open Capacity Reservation that has - * matching attributes (instance type, platform, Availability Zone). Use the - * CapacityReservationTarget parameter to explicitly target a specific - * Capacity Reservation or a Capacity Reservation group.

                                                        + *

                                                        The total value of the Convertible Reserved Instance.

                                                        */ -export interface CapacityReservationSpecification { +export interface ReservedInstanceReservationValue { /** - *

                                                        Indicates the instance's Capacity Reservation preferences. Possible preferences include:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * none - The instance avoids running in a Capacity Reservation even if one is available. The - * instance runs as an On-Demand Instance.

                                                          - *
                                                        • - *
                                                        + *

                                                        The total value of the Convertible Reserved Instance that you are exchanging.

                                                        */ - CapacityReservationPreference?: CapacityReservationPreference | string; + ReservationValue?: ReservationValue; /** - *

                                                        Information about the target Capacity Reservation or Capacity Reservation group.

                                                        + *

                                                        The ID of the Convertible Reserved Instance that you are exchanging.

                                                        */ - CapacityReservationTarget?: CapacityReservationTarget; + ReservedInstanceId?: string; } -export namespace CapacityReservationSpecification { +export namespace ReservedInstanceReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationSpecification): any => ({ + export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ ...obj, }); } -export interface ModifyInstanceCapacityReservationAttributesRequest { - /** - *

                                                        The ID of the instance to be modified.

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

                                                        Information about the Convertible Reserved Instance offering.

                                                        + */ +export interface TargetConfiguration { /** - *

                                                        Information about the Capacity Reservation targeting option.

                                                        + *

                                                        The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is + * reserved and cannot be specified in a request

                                                        */ - CapacityReservationSpecification: CapacityReservationSpecification | undefined; + InstanceCount?: 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 Convertible Reserved Instance offering.

                                                        */ - DryRun?: boolean; + OfferingId?: string; } -export namespace ModifyInstanceCapacityReservationAttributesRequest { +export namespace TargetConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ ...obj, }); } -export interface ModifyInstanceCapacityReservationAttributesResult { +/** + *

                                                        The total value of the new Convertible Reserved Instances.

                                                        + */ +export interface TargetReservationValue { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        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.

                                                        */ - Return?: boolean; + ReservationValue?: ReservationValue; + + /** + *

                                                        The configuration of the Convertible Reserved Instances that make up the exchange.

                                                        + */ + TargetConfiguration?: TargetConfiguration; } -export namespace ModifyInstanceCapacityReservationAttributesResult { +export namespace TargetReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ ...obj, }); } /** - *

                                                        Describes the credit option for CPU usage of a burstable performance instance.

                                                        + *

                                                        Contains the output of GetReservedInstancesExchangeQuote.

                                                        */ -export interface InstanceCreditSpecificationRequest { +export interface GetReservedInstancesExchangeQuoteResult { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The currency of the transaction.

                                                        */ - InstanceId?: string; + CurrencyCode?: string; /** - *

                                                        The credit option for CPU usage of the instance. Valid values are - * standard and unlimited.

                                                        - *

                                                        T3 instances with host tenancy do not support the unlimited - * CPU credit option.

                                                        + *

                                                        If true, the exchange is valid. If false, the exchange cannot be completed.

                                                        */ - CpuCredits?: string; -} + IsValidExchange?: boolean; -export namespace InstanceCreditSpecificationRequest { /** - * @internal + *

                                                        The new end date of the reservation term.

                                                        */ - export const filterSensitiveLog = (obj: InstanceCreditSpecificationRequest): any => ({ - ...obj, - }); -} + OutputReservedInstancesWillExpireAt?: Date; -export interface ModifyInstanceCreditSpecificationRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 total true upfront charge for the exchange.

                                                        */ - DryRun?: boolean; + PaymentDue?: string; /** - *

                                                        A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring - * Idempotency.

                                                        + *

                                                        The cost associated with the Reserved Instance.

                                                        */ - ClientToken?: string; + ReservedInstanceValueRollup?: ReservationValue; /** - *

                                                        Information about the credit option for CPU usage.

                                                        + *

                                                        The configuration of your Convertible Reserved Instances.

                                                        */ - InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; -} + ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; -export namespace ModifyInstanceCreditSpecificationRequest { /** - * @internal + *

                                                        The cost associated with the Reserved Instance.

                                                        */ - export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationRequest): any => ({ - ...obj, - }); -} + TargetConfigurationValueRollup?: ReservationValue; -/** - *

                                                        Describes the burstable performance instance whose credit option for CPU usage was - * successfully modified.

                                                        - */ -export interface SuccessfulInstanceCreditSpecificationItem { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The values of the target Convertible Reserved Instances.

                                                        */ - InstanceId?: string; + TargetConfigurationValueSet?: TargetReservationValue[]; + + /** + *

                                                        Describes the reason why the exchange cannot be completed.

                                                        + */ + ValidationFailureReason?: string; } -export namespace SuccessfulInstanceCreditSpecificationItem { +export namespace GetReservedInstancesExchangeQuoteResult { /** * @internal */ - export const filterSensitiveLog = (obj: SuccessfulInstanceCreditSpecificationItem): any => ({ + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ ...obj, }); } -export enum UnsuccessfulInstanceCreditSpecificationErrorCode { - INCORRECT_INSTANCE_STATE = "IncorrectInstanceState", - INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED = "InstanceCreditSpecification.NotSupported", - INSTANCE_NOT_FOUND = "InvalidInstanceID.NotFound", - INVALID_INSTANCE_ID = "InvalidInstanceID.Malformed", +export interface GetSerialConsoleAccessStatusRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 error for the burstable performance instance whose credit option - * for CPU usage was not modified.

                                                        - */ -export interface UnsuccessfulInstanceCreditSpecificationItemError { +export namespace GetSerialConsoleAccessStatusRequest { /** - *

                                                        The error code.

                                                        + * @internal */ - Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; + export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusRequest): any => ({ + ...obj, + }); +} +export interface GetSerialConsoleAccessStatusResult { /** - *

                                                        The applicable error message.

                                                        + *

                                                        If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

                                                        */ - Message?: string; + SerialConsoleAccessEnabled?: boolean; } -export namespace UnsuccessfulInstanceCreditSpecificationItemError { +export namespace GetSerialConsoleAccessStatusResult { /** * @internal */ - export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItemError): any => ({ + export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusResult): any => ({ ...obj, }); } /** - *

                                                        Describes the burstable performance instance whose credit option for CPU usage was not - * modified.

                                                        + *

                                                        The architecture type, virtualization type, and other attributes for the instance types. + * When you specify instance attributes, Amazon EC2 will identify instance types with those + * attributes.

                                                        + *

                                                        If you specify InstanceRequirementsWithMetadataRequest, you can't specify + * InstanceTypes.

                                                        */ -export interface UnsuccessfulInstanceCreditSpecificationItem { +export interface InstanceRequirementsWithMetadataRequest { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The architecture type.

                                                        */ - InstanceId?: string; + ArchitectureTypes?: (ArchitectureType | string)[]; /** - *

                                                        The applicable error for the burstable performance instance whose credit option for - * CPU usage was not modified.

                                                        + *

                                                        The virtualization type.

                                                        */ - Error?: UnsuccessfulInstanceCreditSpecificationItemError; + VirtualizationTypes?: (VirtualizationType | string)[]; + + /** + *

                                                        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

                                                        + */ + InstanceRequirements?: InstanceRequirementsRequest; } -export namespace UnsuccessfulInstanceCreditSpecificationItem { +export namespace InstanceRequirementsWithMetadataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItem): any => ({ + export const filterSensitiveLog = (obj: InstanceRequirementsWithMetadataRequest): any => ({ ...obj, }); } -export interface ModifyInstanceCreditSpecificationResult { +export interface GetSpotPlacementScoresRequest { /** - *

                                                        Information about the instances whose credit option for CPU usage was successfully - * modified.

                                                        + *

                                                        The instance types. We recommend that you specify at least three instance types. If you + * specify one or two instance types, or specify variations of a single instance type (for + * example, an m3.xlarge with and without instance storage), the returned + * placement score will always be low.

                                                        + *

                                                        If you specify InstanceTypes, you can't specify + * InstanceRequirementsWithMetadata.

                                                        */ - SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; + InstanceTypes?: string[]; /** - *

                                                        Information about the instances whose credit option for CPU usage was not - * modified.

                                                        + *

                                                        The target capacity.

                                                        */ - UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; -} + TargetCapacity: number | undefined; -export namespace ModifyInstanceCreditSpecificationResult { /** - * @internal + *

                                                        The unit for the target capacity.

                                                        + *

                                                        Default: units (translates to number of instances)

                                                        */ - export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationResult): any => ({ - ...obj, - }); -} + TargetCapacityUnitType?: TargetCapacityUnitType | string; -export interface ModifyInstanceEventStartTimeRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        Specify true so that the response returns a list of scored Availability Zones. + * Otherwise, the response returns a list of scored Regions.

                                                        + *

                                                        A list of scored Availability Zones is useful if you want to launch all of your Spot + * capacity into a single Availability Zone.

                                                        */ - DryRun?: boolean; + SingleAvailabilityZone?: boolean; /** - *

                                                        The ID of the instance with the scheduled event.

                                                        + *

                                                        The Regions used to narrow down the list of Regions to be scored. Enter the Region code, + * for example, us-east-1.

                                                        */ - InstanceId: string | undefined; + RegionNames?: string[]; /** - *

                                                        The ID of the event whose date and time you are modifying.

                                                        + *

                                                        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

                                                        + *

                                                        If you specify InstanceRequirementsWithMetadata, you can't specify + * InstanceTypes.

                                                        */ - InstanceEventId: string | undefined; + InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; /** - *

                                                        The new date and time when the event will take place.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - NotBefore: Date | undefined; -} + DryRun?: boolean; -export namespace ModifyInstanceEventStartTimeRequest { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface ModifyInstanceEventStartTimeResult { /** - *

                                                        Describes a scheduled event for an instance.

                                                        + *

                                                        The token for the next set of results.

                                                        */ - Event?: InstanceStatusEvent; + NextToken?: string; } -export namespace ModifyInstanceEventStartTimeResult { +export namespace GetSpotPlacementScoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeResult): any => ({ + export const filterSensitiveLog = (obj: GetSpotPlacementScoresRequest): any => ({ ...obj, }); } -export interface ModifyInstanceEventWindowRequest { +/** + *

                                                        The Spot placement score for this Region or Availability Zone. The score is calculated + * based on the assumption that the capacity-optimized allocation strategy is + * used and that all of the Availability Zones in the Region can be used.

                                                        + */ +export interface SpotPlacementScore { /** - *

                                                        Checks whether you have the required permissions for the action, without 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.

                                                        */ - DryRun?: boolean; - - /** - *

                                                        The name of the event window.

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

                                                        The ID of the event window.

                                                        - */ - InstanceEventWindowId: string | undefined; + Region?: string; /** - *

                                                        The time ranges of the event window.

                                                        + *

                                                        The Availability Zone.

                                                        */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[]; + AvailabilityZoneId?: string; /** - *

                                                        The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Only hour and day of the week values are supported.

                                                          - *
                                                        • - *
                                                        • - *

                                                          For day of the week values, you can specify either integers 0 through - * 6, or alternative single values SUN through - * SAT.

                                                          - *
                                                        • - *
                                                        • - *

                                                          The minute, month, and year must be specified by *.

                                                          - *
                                                        • - *
                                                        • - *

                                                          The hour value must be one or a multiple range, for example, 0-4 or - * 0-4,20-23.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Each hour range must be >= 2 hours, for example, 0-2 or - * 20-23.

                                                          - *
                                                        • - *
                                                        • - *

                                                          The event window must be >= 4 hours. The combined total time ranges in the event - * window must be >= 4 hours.

                                                          - *
                                                        • - *
                                                        - *

                                                        For more information about cron expressions, see cron on the Wikipedia - * website.

                                                        + *

                                                        The placement score, on a scale from 1 to 10. A score of + * 10 indicates that your Spot request is highly likely to succeed in this + * Region or Availability Zone. A score of 1 indicates that your Spot request is + * not likely to succeed.

                                                        */ - CronExpression?: string; + Score?: number; } -export namespace ModifyInstanceEventWindowRequest { +export namespace SpotPlacementScore { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: SpotPlacementScore): any => ({ ...obj, }); } -export interface ModifyInstanceEventWindowResult { +export interface GetSpotPlacementScoresResult { /** - *

                                                        Information about the event window.

                                                        + *

                                                        The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale + * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone + * will succeed at fulfilling the specified target capacity
 at the time of the Spot + * placement score request. A score of 10 means that your Spot + * capacity request is highly likely to succeed in that Region or Availability Zone.

                                                        + *

                                                        If you request a Spot placement score for Regions, a high score assumes that your fleet + * request will be configured to use all Availability Zones and the + * capacity-optimized allocation strategy. If you request a Spot placement + * score for Availability Zones, a high score assumes that your fleet request will be + * configured to use a single Availability Zone and the capacity-optimized + * allocation strategy.

                                                        + *

                                                        Different
 Regions or Availability Zones might return the same score.

                                                        + * + *

                                                        The Spot placement score serves as a recommendation only. No score guarantees that your + * Spot request will be fully or partially fulfilled.

                                                        + *
                                                        */ - InstanceEventWindow?: InstanceEventWindow; + SpotPlacementScores?: SpotPlacementScore[]; + + /** + *

                                                        The token for the next set of results.

                                                        + */ + NextToken?: string; } -export namespace ModifyInstanceEventWindowResult { +export namespace GetSpotPlacementScoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventWindowResult): any => ({ + export const filterSensitiveLog = (obj: GetSpotPlacementScoresResult): any => ({ ...obj, }); } -export interface ModifyInstanceMetadataOptionsRequest { - /** - *

                                                        The ID of the instance.

                                                        - */ - InstanceId: string | undefined; - +export interface GetSubnetCidrReservationsRequest { /** - *

                                                        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 credential - * always returns the version 2.0 credentials; the version 1.0 credentials are not - * available.

                                                        + *

                                                        One or more filters.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * reservationType - The type of reservation (prefix | + * explicit).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 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.

                                                          + *
                                                        • + *
                                                        */ - HttpTokens?: HttpTokensState | string; + Filters?: Filter[]; /** - *

                                                        The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

                                                        - *

                                                        Possible values: Integers from 1 to 64

                                                        + *

                                                        The ID of the subnet.

                                                        */ - HttpPutResponseHopLimit?: number; + SubnetId: string | undefined; /** - *

                                                        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 cannot access your - * instance metadata.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + 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 token for the next page of results.

                                                        */ - DryRun?: boolean; + NextToken?: string; /** - *

                                                        Enables or disables the IPv6 endpoint for the instance metadata service. This setting - * applies only if you have enabled the HTTP metadata endpoint.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - HttpProtocolIpv6?: InstanceMetadataProtocolState | string; + MaxResults?: number; } -export namespace ModifyInstanceMetadataOptionsRequest { +export namespace GetSubnetCidrReservationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: GetSubnetCidrReservationsRequest): any => ({ ...obj, }); } -export interface ModifyInstanceMetadataOptionsResult { +export interface GetSubnetCidrReservationsResult { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        Information about the IPv4 subnet CIDR reservations.

                                                        */ - InstanceId?: string; + SubnetIpv4CidrReservations?: SubnetCidrReservation[]; /** - *

                                                        The metadata options for the instance.

                                                        + *

                                                        Information about the IPv6 subnet CIDR reservations.

                                                        */ - InstanceMetadataOptions?: InstanceMetadataOptionsResponse; + SubnetIpv6CidrReservations?: SubnetCidrReservation[]; + + /** + *

                                                        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 ModifyInstanceMetadataOptionsResult { +export namespace GetSubnetCidrReservationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsResult): any => ({ + export const filterSensitiveLog = (obj: GetSubnetCidrReservationsResult): any => ({ ...obj, }); } -export type HostTenancy = "dedicated" | "host"; +export interface GetTransitGatewayAttachmentPropagationsRequest { + /** + *

                                                        The ID of the attachment.

                                                        + */ + TransitGatewayAttachmentId: string | undefined; -export interface ModifyInstancePlacementRequest { /** - *

                                                        The affinity setting for the instance.

                                                        + *

                                                        One or more filters. The possible values are:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                          + *
                                                        • + *
                                                        */ - Affinity?: Affinity | string; + Filters?: Filter[]; /** - *

                                                        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 maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - GroupName?: string; + MaxResults?: number; /** - *

                                                        The ID of the Dedicated Host with which to associate the instance.

                                                        + *

                                                        The token for the next page of results.

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

                                                        The ID of the instance that you are modifying.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 GetTransitGatewayAttachmentPropagationsRequest { /** - *

                                                        The tenancy for the instance.

                                                        - * - * - *

                                                        For T3 instances, you can't change the tenancy from dedicated - * to host, or from host to dedicated. - * Attempting to make one of these unsupported tenancy changes results in the - * InvalidTenancy error code.

                                                        - *
                                                        + * @internal */ - Tenancy?: HostTenancy | string; + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a propagation route table.

                                                        + */ +export interface TransitGatewayAttachmentPropagation { /** - *

                                                        The number of the partition in which to place the instance. Valid only if the - * placement group strategy is set to partition.

                                                        + *

                                                        The ID of the propagation route table.

                                                        */ - PartitionNumber?: number; + TransitGatewayRouteTableId?: string; /** - *

                                                        The ARN of the host resource group in which to place the instance.

                                                        + *

                                                        The state of the propagation route table.

                                                        */ - HostResourceGroupArn?: string; + State?: TransitGatewayPropagationState | string; } -export namespace ModifyInstancePlacementRequest { +export namespace TransitGatewayAttachmentPropagation { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstancePlacementRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ ...obj, }); } -export interface ModifyInstancePlacementResult { +export interface GetTransitGatewayAttachmentPropagationsResult { /** - *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        + *

                                                        Information about the propagation route tables.

                                                        */ - Return?: boolean; + TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; + + /** + *

                                                        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 ModifyInstancePlacementResult { +export namespace GetTransitGatewayAttachmentPropagationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstancePlacementResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ ...obj, }); } -export interface ModifyLaunchTemplateRequest { +export interface GetTransitGatewayMulticastDomainAssociationsRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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; /** - *

                                                        Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                                                        - *

                                                        Constraint: Maximum 128 ASCII characters.

                                                        + *

                                                        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.

                                                          + *
                                                        • + *
                                                        */ - ClientToken?: string; + Filters?: Filter[]; /** - *

                                                        The ID of the launch template. You must specify either the launch template ID or - * launch template name in the 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.

                                                        */ - LaunchTemplateId?: string; + MaxResults?: number; /** - *

                                                        The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                                                        + *

                                                        The token for the next page of results.

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

                                                        The version number of the launch template to set as the default version.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - DefaultVersion?: string; + DryRun?: boolean; } -export namespace ModifyLaunchTemplateRequest { +export namespace GetTransitGatewayMulticastDomainAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ ...obj, }); } -export interface ModifyLaunchTemplateResult { - /** - *

                                                        Information about the launch template.

                                                        +/** + *

                                                        Describes the resources associated with the transit gateway multicast domain.

                                                        + */ +export interface TransitGatewayMulticastDomainAssociation { + /** + *

                                                        The ID of the transit gateway attachment.

                                                        */ - LaunchTemplate?: LaunchTemplate; -} + TransitGatewayAttachmentId?: string; -export namespace ModifyLaunchTemplateResult { /** - * @internal + *

                                                        The ID of the resource.

                                                        */ - export const filterSensitiveLog = (obj: ModifyLaunchTemplateResult): any => ({ - ...obj, - }); -} + ResourceId?: string; -/** - *

                                                        An entry for a prefix list.

                                                        - */ -export interface RemovePrefixListEntry { /** - *

                                                        The CIDR block.

                                                        + *

                                                        The type of resource, for example a VPC attachment.

                                                        */ - Cidr: string | undefined; + ResourceType?: TransitGatewayAttachmentResourceType | string; + + /** + *

                                                        The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

                                                        + */ + ResourceOwnerId?: string; + + /** + *

                                                        The subnet associated with the transit gateway multicast domain.

                                                        + */ + Subnet?: SubnetAssociation; } -export namespace RemovePrefixListEntry { +export namespace TransitGatewayMulticastDomainAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: RemovePrefixListEntry): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ ...obj, }); } -export interface ModifyManagedPrefixListRequest { - /** - *

                                                        Checks whether you have the required permissions for the action, without 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 GetTransitGatewayMulticastDomainAssociationsResult { /** - *

                                                        The ID of the prefix list.

                                                        + *

                                                        Information about the multicast domain associations.

                                                        */ - PrefixListId: string | undefined; + MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; /** - *

                                                        The current version of the prefix list.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - CurrentVersion?: number; + NextToken?: string; +} +export namespace GetTransitGatewayMulticastDomainAssociationsResult { /** - *

                                                        A name for the prefix list.

                                                        + * @internal */ - PrefixListName?: string; + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayPrefixListReferencesRequest { /** - *

                                                        One or more entries to add to the prefix list.

                                                        + *

                                                        The ID of the transit gateway route table.

                                                        */ - AddEntries?: AddPrefixListEntry[]; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                        One or more entries to remove from the prefix list.

                                                        + *

                                                        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).

                                                          + *
                                                        • + *
                                                        */ - RemoveEntries?: RemovePrefixListEntry[]; + Filters?: Filter[]; /** - *

                                                        The maximum number of entries for the prefix list. You cannot modify the entries - * of a prefix list and modify the size of a prefix list at the same time.

                                                        - *

                                                        If any of the resources that reference the prefix list cannot support the new - * maximum size, the modify operation fails. Check the state message for the IDs of - * the first ten resources that do not support the new maximum size.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - MaxEntries?: number; -} + MaxResults?: number; -export namespace ModifyManagedPrefixListRequest { /** - * @internal + *

                                                        The token for the next page of results.

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

                                                        Information about 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.

                                                        */ - PrefixList?: ManagedPrefixList; + DryRun?: boolean; } -export namespace ModifyManagedPrefixListResult { +export namespace GetTransitGatewayPrefixListReferencesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyManagedPrefixListResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes an attachment change.

                                                        - */ -export interface NetworkInterfaceAttachmentChanges { +export interface GetTransitGatewayPrefixListReferencesResult { /** - *

                                                        The ID of the network interface attachment.

                                                        + *

                                                        Information about the prefix list references.

                                                        */ - AttachmentId?: string; + TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; /** - *

                                                        Indicates whether the network interface is deleted when the instance is terminated.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - DeleteOnTermination?: boolean; + NextToken?: string; } -export namespace NetworkInterfaceAttachmentChanges { +export namespace GetTransitGatewayPrefixListReferencesResult { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ ...obj, }); } -/** - *

                                                        Contains the parameters for ModifyNetworkInterfaceAttribute.

                                                        - */ -export interface ModifyNetworkInterfaceAttributeRequest { - /** - *

                                                        Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

                                                        - */ - Attachment?: NetworkInterfaceAttachmentChanges; - +export interface GetTransitGatewayRouteTableAssociationsRequest { /** - *

                                                        A description for the network interface.

                                                        + *

                                                        The ID of the transit gateway route table.

                                                        */ - Description?: AttributeValue; + 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.

                                                        + *

                                                        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 + * | connect.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * transit-gateway-attachment-id - The ID of the attachment.

                                                          + *
                                                        • + *
                                                        */ - DryRun?: boolean; + Filters?: Filter[]; /** - *

                                                        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.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - Groups?: string[]; + MaxResults?: number; /** - *

                                                        The ID of the network interface.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - NetworkInterfaceId: string | undefined; + NextToken?: string; /** - *

                                                        Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - SourceDestCheck?: AttributeBooleanValue; + DryRun?: boolean; } -export namespace ModifyNetworkInterfaceAttributeRequest { +export namespace GetTransitGatewayRouteTableAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyNetworkInterfaceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ ...obj, }); } -export interface ModifyPrivateDnsNameOptionsRequest { - /** - *

                                                        Checks whether you have the required permissions for the action, without 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 an association between a route table and a resource attachment.

                                                        + */ +export interface TransitGatewayRouteTableAssociation { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - InstanceId?: string; + TransitGatewayAttachmentId?: string; /** - *

                                                        The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be - * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based - * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance - * IPv4 address or the instance ID.

                                                        + *

                                                        The ID of the resource.

                                                        */ - PrivateDnsHostnameType?: HostnameType | string; + ResourceId?: string; /** - *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                                        + *

                                                        The resource type. Note that the tgw-peering resource type has been deprecated.

                                                        */ - EnableResourceNameDnsARecord?: boolean; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                                        + *

                                                        The state of the association.

                                                        */ - EnableResourceNameDnsAAAARecord?: boolean; + State?: TransitGatewayAssociationState | string; } -export namespace ModifyPrivateDnsNameOptionsRequest { +export namespace TransitGatewayRouteTableAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ ...obj, }); } -export interface ModifyPrivateDnsNameOptionsResult { +export interface GetTransitGatewayRouteTableAssociationsResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        Information about the associations.

                                                        */ - Return?: boolean; + Associations?: TransitGatewayRouteTableAssociation[]; + + /** + *

                                                        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 ModifyPrivateDnsNameOptionsResult { +export namespace GetTransitGatewayRouteTableAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ ...obj, }); } -/** - *

                                                        Contains the parameters for ModifyReservedInstances.

                                                        - */ -export interface ModifyReservedInstancesRequest { +export interface GetTransitGatewayRouteTablePropagationsRequest { /** - *

                                                        The IDs of the Reserved Instances to modify.

                                                        + *

                                                        The ID of the transit gateway route table.

                                                        */ - ReservedInstancesIds: string[] | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                        A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see - * Ensuring Idempotency.

                                                        + *

                                                        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 + * | connect.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * transit-gateway-attachment-id - The ID of the attachment.

                                                          + *
                                                        • + *
                                                        */ - ClientToken?: string; + Filters?: Filter[]; /** - *

                                                        The configuration settings for the Reserved Instances to modify.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - TargetConfigurations: ReservedInstancesConfiguration[] | undefined; -} + MaxResults?: number; -export namespace ModifyReservedInstancesRequest { /** - * @internal + *

                                                        The token for the next page of results.

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

                                                        Contains the output of ModifyReservedInstances.

                                                        - */ -export interface ModifyReservedInstancesResult { /** - *

                                                        The ID for the modification.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - ReservedInstancesModificationId?: string; + DryRun?: boolean; } -export namespace ModifyReservedInstancesResult { +export namespace GetTransitGatewayRouteTablePropagationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyReservedInstancesResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ ...obj, }); } /** - *

                                                        Describes a security group rule.

                                                        - *

                                                        You must specify exactly one of the following parameters, based on the rule type:

                                                        - *
                                                          - *
                                                        • - *

                                                          CidrIpv4

                                                          - *
                                                        • - *
                                                        • - *

                                                          CidrIpv6

                                                          - *
                                                        • - *
                                                        • - *

                                                          PrefixListId

                                                          - *
                                                        • - *
                                                        • - *

                                                          ReferencedGroupId

                                                          - *
                                                        • - *
                                                        - *

                                                        When you modify a rule, you cannot change the rule type. For example, if the rule - * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 - * address range.

                                                        + *

                                                        Describes a route table propagation.

                                                        */ -export interface SecurityGroupRuleRequest { +export interface TransitGatewayRouteTablePropagation { /** - *

                                                        The IP protocol name (tcp, udp, icmp, - * icmpv6) or number (see Protocol Numbers).

                                                        - *

                                                        Use -1 to specify all protocols.

                                                        - */ - IpProtocol?: string; - - /** - *

                                                        The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

                                                        + *

                                                        The ID of the attachment.

                                                        */ - FromPort?: number; + TransitGatewayAttachmentId?: string; /** - *

                                                        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 ID of the resource.

                                                        */ - ToPort?: number; + ResourceId?: string; /** - *

                                                        The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

                                                        + *

                                                        The type of resource. Note that the tgw-peering resource type has been deprecated.

                                                        */ - CidrIpv4?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                        The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

                                                        + *

                                                        The state of the resource.

                                                        */ - CidrIpv6?: string; + State?: TransitGatewayPropagationState | string; +} +export namespace TransitGatewayRouteTablePropagation { /** - *

                                                        The ID of the prefix list.

                                                        + * @internal */ - PrefixListId?: string; + export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayRouteTablePropagationsResult { /** - *

                                                        The ID of the security group that is referenced in the security group rule.

                                                        + *

                                                        Information about the route table propagations.

                                                        */ - ReferencedGroupId?: string; + TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; /** - *

                                                        The description of the security group rule.

                                                        + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ - Description?: string; + NextToken?: string; } -export namespace SecurityGroupRuleRequest { +export namespace GetTransitGatewayRouteTablePropagationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupRuleRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ ...obj, }); } -/** - *

                                                        Describes an update to a security group rule.

                                                        - */ -export interface SecurityGroupRuleUpdate { +export interface GetVpnConnectionDeviceSampleConfigurationRequest { /** - *

                                                        The ID of the security group rule.

                                                        + *

                                                        The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample + * configuration.

                                                        */ - SecurityGroupRuleId?: string; + VpnConnectionId: string | undefined; /** - *

                                                        Information about the security group rule.

                                                        + *

                                                        Device identifier provided by the GetVpnConnectionDeviceTypes API.

                                                        */ - SecurityGroupRule?: SecurityGroupRuleRequest; -} + VpnConnectionDeviceTypeId: string | undefined; -export namespace SecurityGroupRuleUpdate { /** - * @internal + *

                                                        The IKE version to be used in the sample configuration file for your customer gateway + * device. You can specify one of the following versions: ikev1 or + * ikev2.

                                                        */ - export const filterSensitiveLog = (obj: SecurityGroupRuleUpdate): any => ({ - ...obj, - }); -} + InternetKeyExchangeVersion?: string; -export interface ModifySecurityGroupRulesRequest { /** - *

                                                        The ID of 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.

                                                        */ - GroupId: string | undefined; + DryRun?: boolean; +} +export namespace GetVpnConnectionDeviceSampleConfigurationRequest { /** - *

                                                        Information about the security group properties to update.

                                                        + * @internal */ - SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationRequest): any => ({ + ...obj, + }); +} +export interface GetVpnConnectionDeviceSampleConfigurationResult { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        Sample configuration file for the specified customer gateway device.

                                                        */ - DryRun?: boolean; + VpnConnectionDeviceSampleConfiguration?: string; } -export namespace ModifySecurityGroupRulesRequest { +export namespace GetVpnConnectionDeviceSampleConfigurationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySecurityGroupRulesRequest): any => ({ + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationResult): any => ({ ...obj, + ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }), }); } -export interface ModifySecurityGroupRulesResult { +export interface GetVpnConnectionDeviceTypesRequest { /** - *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        + *

                                                        The maximum number of results returned by GetVpnConnectionDeviceTypes in + * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes + * 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 GetVpnConnectionDeviceTypes request + * with the returned NextToken value. This value can be between 200 and 1000. + * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all + * results.

                                                        */ - Return?: boolean; + MaxResults?: number; + + /** + *

                                                        The NextToken value returned from a previous paginated + * GetVpnConnectionDeviceTypes 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; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 ModifySecurityGroupRulesResult { +export namespace GetVpnConnectionDeviceTypesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySecurityGroupRulesResult): any => ({ + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesRequest): any => ({ ...obj, }); } /** - *

                                                        Describes modifications to the list of create volume permissions for a volume.

                                                        + *

                                                        List of customer gateway devices that have a sample configuration file available for + * use. You can also see the list of device types with sample configuration files available + * under Your customer + * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

                                                        */ -export interface CreateVolumePermissionModifications { +export interface VpnConnectionDeviceType { /** - *

                                                        Adds the specified Amazon Web Services account ID or group to the list.

                                                        + *

                                                        Customer gateway device identifier.

                                                        */ - Add?: CreateVolumePermission[]; + VpnConnectionDeviceTypeId?: string; /** - *

                                                        Removes the specified Amazon Web Services account ID or group from the list.

                                                        + *

                                                        Customer gateway device vendor.

                                                        */ - Remove?: CreateVolumePermission[]; + Vendor?: string; + + /** + *

                                                        Customer gateway device platform.

                                                        + */ + Platform?: string; + + /** + *

                                                        Customer gateway device software version.

                                                        + */ + Software?: string; } -export namespace CreateVolumePermissionModifications { +export namespace VpnConnectionDeviceType { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVolumePermissionModifications): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionDeviceType): any => ({ ...obj, }); } -export interface ModifySnapshotAttributeRequest { +export interface GetVpnConnectionDeviceTypesResult { /** - *

                                                        The snapshot attribute to modify. Only volume creation permissions can be modified.

                                                        + *

                                                        List of customer gateway devices that have a sample configuration file available for + * use.

                                                        */ - Attribute?: SnapshotAttributeName | string; + VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; /** - *

                                                        A JSON representation of the snapshot attribute modification.

                                                        + *

                                                        The NextToken value to include in a future + * GetVpnConnectionDeviceTypes request. When the results of a + * GetVpnConnectionDeviceTypes 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.

                                                        */ - CreateVolumePermission?: CreateVolumePermissionModifications; + NextToken?: string; +} +export namespace GetVpnConnectionDeviceTypesResult { /** - *

                                                        The group to modify for the snapshot.

                                                        + * @internal */ - GroupNames?: string[]; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesResult): any => ({ + ...obj, + }); +} +export interface ImportClientVpnClientCertificateRevocationListRequest { /** - *

                                                        The type of operation to perform to the attribute.

                                                        + *

                                                        The ID of the Client VPN endpoint to which the client certificate revocation list applies.

                                                        */ - OperationType?: OperationType | string; + ClientVpnEndpointId: string | undefined; /** - *

                                                        The ID of the snapshot.

                                                        + *

                                                        The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the + * Client VPN Administrator Guide.

                                                        */ - SnapshotId: string | undefined; + CertificateRevocationList: string | undefined; /** - *

                                                        The account ID to modify for 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.

                                                        */ - UserIds?: string[]; + DryRun?: boolean; +} +export namespace 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.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ + ...obj, + }); } -export namespace ModifySnapshotAttributeRequest { +export interface ImportClientVpnClientCertificateRevocationListResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + Return?: boolean; +} + +export namespace ImportClientVpnClientCertificateRevocationListResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySnapshotAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ ...obj, }); } -export enum TargetStorageTier { - archive = "archive", -} +/** + *

                                                        Describes the client-specific data.

                                                        + */ +export interface ClientData { + /** + *

                                                        A user-defined comment about the disk upload.

                                                        + */ + Comment?: string; -export interface ModifySnapshotTierRequest { /** - *

                                                        The ID of the snapshot.

                                                        + *

                                                        The time that the disk upload ends.

                                                        */ - SnapshotId: string | undefined; + UploadEnd?: Date; /** - *

                                                        The name of the storage tier. You must specify archive.

                                                        + *

                                                        The size of the uploaded disk image, in GiB.

                                                        */ - StorageTier?: TargetStorageTier | string; + UploadSize?: 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 time that the disk upload starts.

                                                        */ - DryRun?: boolean; + UploadStart?: Date; } -export namespace ModifySnapshotTierRequest { +export namespace ClientData { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySnapshotTierRequest): any => ({ + export const filterSensitiveLog = (obj: ClientData): any => ({ ...obj, }); } -export interface ModifySnapshotTierResult { +/** + *

                                                        Describes the Amazon S3 bucket for the disk image.

                                                        + */ +export interface UserBucket { /** - *

                                                        The ID of the snapshot.

                                                        + *

                                                        The name of the Amazon S3 bucket where the disk image is located.

                                                        */ - SnapshotId?: string; + S3Bucket?: string; /** - *

                                                        The date and time when the archive process was started.

                                                        + *

                                                        The file name of the disk image.

                                                        */ - TieringStartTime?: Date; + S3Key?: string; } -export namespace ModifySnapshotTierResult { +export namespace UserBucket { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySnapshotTierResult): any => ({ + export const filterSensitiveLog = (obj: UserBucket): any => ({ ...obj, }); } /** - *

                                                        Contains the parameters for ModifySpotFleetRequest.

                                                        + *

                                                        Describes the disk container object for an import image task.

                                                        */ -export interface ModifySpotFleetRequestRequest { +export interface ImageDiskContainer { /** - *

                                                        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 description of the disk image.

                                                        */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + Description?: string; /** - *

                                                        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.

                                                        + *

                                                        The block device mapping for the disk.

                                                        */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; + DeviceName?: string; /** - *

                                                        The ID of the Spot Fleet request.

                                                        + *

                                                        The format of the disk image being imported.

                                                        + *

                                                        Valid values: OVA | VHD | VHDX | VMDK | RAW + *

                                                        */ - SpotFleetRequestId: string | undefined; + Format?: string; /** - *

                                                        The size of the fleet.

                                                        + *

                                                        The ID of the EBS snapshot to be used for importing the snapshot.

                                                        */ - TargetCapacity?: number; + SnapshotId?: string; /** - *

                                                        The number of On-Demand Instances in the fleet.

                                                        + *

                                                        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://..)

                                                        */ - OnDemandTargetCapacity?: number; + Url?: string; /** - *

                                                        Reserved.

                                                        + *

                                                        The S3 bucket for the disk image.

                                                        */ - Context?: string; + UserBucket?: UserBucket; } -export namespace ModifySpotFleetRequestRequest { +export namespace ImageDiskContainer { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySpotFleetRequestRequest): any => ({ + export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ ...obj, }); } /** - *

                                                        Contains the output of ModifySpotFleetRequest.

                                                        + *

                                                        The request information of license configurations.

                                                        */ -export interface ModifySpotFleetRequestResponse { +export interface ImportImageLicenseConfigurationRequest { /** - *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        + *

                                                        The ARN of a license configuration.

                                                        */ - Return?: boolean; + LicenseConfigurationArn?: string; } -export namespace ModifySpotFleetRequestResponse { +export namespace ImportImageLicenseConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySpotFleetRequestResponse): any => ({ + export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ ...obj, }); } -export interface ModifySubnetAttributeRequest { +export interface ImportImageRequest { /** - *

                                                        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 architecture of the virtual machine.

                                                        + *

                                                        Valid values: i386 | x86_64 | arm64 + *

                                                        */ - AssignIpv6AddressOnCreation?: AttributeBooleanValue; + Architecture?: string; /** - *

                                                        Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a public IPv4 address.

                                                        + *

                                                        The client-specific data.

                                                        */ - MapPublicIpOnLaunch?: AttributeBooleanValue; + ClientData?: ClientData; /** - *

                                                        The ID of the subnet.

                                                        + *

                                                        The token to enable idempotency for VM import requests.

                                                        */ - SubnetId: string | undefined; + ClientToken?: 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.

                                                        + *

                                                        A description string for the import image task.

                                                        */ - MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; + Description?: string; /** - *

                                                        The customer-owned IPv4 address pool associated with the subnet.

                                                        - *

                                                        You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

                                                        + *

                                                        Information about the disk containers.

                                                        */ - CustomerOwnedIpv4Pool?: string; + DiskContainers?: ImageDiskContainer[]; /** - *

                                                        Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet - * should return synthetic IPv6 addresses for IPv4-only destinations.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - EnableDns64?: AttributeBooleanValue; + DryRun?: boolean; /** - *

                                                        The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an - * instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance - * DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS - * names use the instance IPv4 address or the instance ID.

                                                        + *

                                                        Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used + * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

                                                        */ - PrivateDnsHostnameTypeOnLaunch?: HostnameType | string; + Encrypted?: boolean; /** - *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                                        + *

                                                        The target hypervisor platform.

                                                        + *

                                                        Valid values: xen + *

                                                        */ - EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue; + Hypervisor?: string; /** - *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                                        + *

                                                        An identifier for the symmetric KMS key to use when creating the + * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

                                                        + *

                                                        The KMS key 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 key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key 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 key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key 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 key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          + *
                                                        • + *
                                                        + *

                                                        Amazon Web Services 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 KMS key must exist in the Region that the AMI is being copied to.

                                                        + *

                                                        Amazon EBS does not support asymmetric KMS keys.

                                                        */ - EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue; + KmsKeyId?: string; /** - *

                                                        - * Indicates the device position for local network interfaces in this subnet. For example, - * 1 indicates local network interfaces in this subnet are the secondary - * network interface (eth1). A local network interface cannot be the primary network - * interface (eth0). - *

                                                        + *

                                                        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 Amazon Web Services 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 Amazon Web Services. For more information, see Prerequisites in the + * VM Import/Export User Guide.

                                                        */ - EnableLniAtDeviceIndex?: number; + LicenseType?: string; /** - *

                                                        - * Specify true to indicate that local network interfaces at the current - * position should be disabled. - *

                                                        + *

                                                        The operating system of the virtual machine.

                                                        + *

                                                        Valid values: Windows | Linux + *

                                                        */ - DisableLniAtDeviceIndex?: AttributeBooleanValue; -} + Platform?: string; -export namespace ModifySubnetAttributeRequest { /** - * @internal + *

                                                        The name of the role to use when not using the default role, 'vmimport'.

                                                        */ - export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ - ...obj, - }); -} + RoleName?: string; -export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** - *

                                                        The ID of the Traffic Mirror filter.

                                                        + *

                                                        The ARNs of the license configurations.

                                                        */ - TrafficMirrorFilterId: string | undefined; + LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; /** - *

                                                        The network service, for example Amazon DNS, that you want to mirror.

                                                        + *

                                                        The tags to apply to the import image task during creation.

                                                        */ - AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; + TagSpecifications?: TagSpecification[]; /** - *

                                                        The network service, for example Amazon DNS, that you no longer want to mirror.

                                                        + *

                                                        The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

                                                        */ - RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; + UsageOperation?: 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 boot mode of the virtual machine.

                                                        */ - DryRun?: boolean; + BootMode?: BootModeValues | string; } -export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { +export namespace ImportImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ + export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorFilterNetworkServicesResult { +export interface ImportImageResult { /** - *

                                                        The Traffic Mirror filter that the network service is associated with.

                                                        + *

                                                        The architecture of the virtual machine.

                                                        */ - TrafficMirrorFilter?: TrafficMirrorFilter; -} + Architecture?: string; -export namespace ModifyTrafficMirrorFilterNetworkServicesResult { /** - * @internal + *

                                                        A description of the import task.

                                                        */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ - ...obj, - }); -} - -export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; + Description?: string; -export interface ModifyTrafficMirrorFilterRuleRequest { /** - *

                                                        The ID of the Traffic Mirror rule.

                                                        + *

                                                        Indicates whether the AMI is encrypted.

                                                        */ - TrafficMirrorFilterRuleId: string | undefined; + Encrypted?: boolean; /** - *

                                                        The type of traffic to assign to the rule.

                                                        + *

                                                        The target hypervisor of the import task.

                                                        */ - TrafficDirection?: TrafficDirection | string; + Hypervisor?: 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.

                                                        + *

                                                        The ID of the Amazon Machine Image (AMI) created by the import task.

                                                        */ - RuleNumber?: number; + ImageId?: string; /** - *

                                                        The action to assign to the rule.

                                                        + *

                                                        The task ID of the import image task.

                                                        */ - RuleAction?: TrafficMirrorRuleAction | string; + ImportTaskId?: string; /** - *

                                                        The destination ports that are associated with the Traffic Mirror rule.

                                                        + *

                                                        The identifier for the symmetric KMS key that was used to create the encrypted AMI.

                                                        */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + KmsKeyId?: string; /** - *

                                                        The port range to assign to the Traffic Mirror rule.

                                                        + *

                                                        The license type of the virtual machine.

                                                        */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + LicenseType?: string; /** - *

                                                        The protocol, for example TCP, to assign to the Traffic Mirror rule.

                                                        + *

                                                        The operating system of the virtual machine.

                                                        */ - Protocol?: number; + Platform?: string; /** - *

                                                        The destination CIDR block to assign to the Traffic Mirror rule.

                                                        + *

                                                        The progress of the task.

                                                        */ - DestinationCidrBlock?: string; + Progress?: string; /** - *

                                                        The source CIDR block to assign to the Traffic Mirror rule.

                                                        + *

                                                        Information about the snapshots.

                                                        */ - SourceCidrBlock?: string; + SnapshotDetails?: SnapshotDetail[]; /** - *

                                                        The description to assign to the Traffic Mirror rule.

                                                        + *

                                                        A brief status of the task.

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

                                                        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.

                                                        + *

                                                        A detailed status message of the import task.

                                                        */ - RemoveFields?: (TrafficMirrorFilterRuleField | string)[]; + StatusMessage?: 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 ARNs of the license configurations.

                                                        */ - DryRun?: boolean; -} + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; -export namespace ModifyTrafficMirrorFilterRuleRequest { /** - * @internal + *

                                                        Any tags assigned to the import image task.

                                                        */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleRequest): any => ({ - ...obj, - }); -} + Tags?: Tag[]; -export interface ModifyTrafficMirrorFilterRuleResult { /** - *

                                                        Modifies a Traffic Mirror rule.

                                                        + *

                                                        The usage operation value.

                                                        */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule; + UsageOperation?: string; } -export namespace ModifyTrafficMirrorFilterRuleResult { +export namespace ImportImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleResult): any => ({ + export const filterSensitiveLog = (obj: ImportImageResult): any => ({ ...obj, }); } -export type TrafficMirrorSessionField = "description" | "packet-length" | "virtual-network-id"; - -export interface ModifyTrafficMirrorSessionRequest { +/** + *

                                                        Describes a disk image.

                                                        + */ +export interface DiskImageDetail { /** - *

                                                        The ID of the Traffic Mirror session.

                                                        + *

                                                        The size of the disk image, in GiB.

                                                        */ - TrafficMirrorSessionId: string | undefined; + Bytes: number | undefined; /** - *

                                                        The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

                                                        + *

                                                        The disk image format.

                                                        */ - TrafficMirrorTargetId?: string; + Format: DiskImageFormat | string | undefined; /** - *

                                                        The ID of the Traffic Mirror filter.

                                                        + *

                                                        A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. + * 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 the Amazon Simple Storage Service Developer + * Guide.

                                                        + *

                                                        For information about the import manifest referenced by this API action, see VM Import Manifest.

                                                        */ - TrafficMirrorFilterId?: string; + ImportManifestUrl: string | undefined; +} +export namespace DiskImageDetail { /** - *

                                                        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.

                                                        + * @internal */ - PacketLength?: number; + export const filterSensitiveLog = (obj: DiskImageDetail): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes an EBS volume.

                                                        + */ +export interface VolumeDetail { /** - *

                                                        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 size of the volume, in GiB.

                                                        */ - SessionNumber?: number; + Size: number | undefined; +} +export namespace VolumeDetail { /** - *

                                                        The virtual network ID of the Traffic Mirror session.

                                                        + * @internal */ - VirtualNetworkId?: number; + export const filterSensitiveLog = (obj: VolumeDetail): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a disk image.

                                                        + */ +export interface DiskImage { /** - *

                                                        The description to assign to the Traffic Mirror session.

                                                        + *

                                                        A description of the disk image.

                                                        */ 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.

                                                        + *

                                                        Information about the disk image.

                                                        */ - RemoveFields?: (TrafficMirrorSessionField | string)[]; + Image?: DiskImageDetail; /** - *

                                                        Checks whether you have the required permissions for the action, without 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 volume.

                                                        */ - DryRun?: boolean; + Volume?: VolumeDetail; } -export namespace ModifyTrafficMirrorSessionRequest { +export namespace DiskImage { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionRequest): any => ({ + export const filterSensitiveLog = (obj: DiskImage): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorSessionResult { +/** + *

                                                        Describes the user data for an instance.

                                                        + */ +export interface UserData { /** - *

                                                        Information about the Traffic Mirror session.

                                                        + *

                                                        The user data. If you are using an Amazon Web Services 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.

                                                        */ - TrafficMirrorSession?: TrafficMirrorSession; + Data?: string; } -export namespace ModifyTrafficMirrorSessionResult { +export namespace UserData { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionResult): any => ({ + export const filterSensitiveLog = (obj: UserData): any => ({ ...obj, }); } /** - *

                                                        The transit gateway options.

                                                        + *

                                                        Describes the launch specification for VM import.

                                                        */ -export interface ModifyTransitGatewayOptions { +export interface ImportInstanceLaunchSpecification { /** - *

                                                        Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

                                                        + *

                                                        Reserved.

                                                        */ - AddTransitGatewayCidrBlocks?: string[]; + AdditionalInfo?: string; /** - *

                                                        Removes CIDR blocks for the transit gateway.

                                                        + *

                                                        The architecture of the instance.

                                                        */ - RemoveTransitGatewayCidrBlocks?: string[]; + Architecture?: ArchitectureValues | string; /** - *

                                                        Enable or disable Equal Cost Multipath Protocol support.

                                                        + *

                                                        The security group IDs.

                                                        */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + GroupIds?: string[]; /** - *

                                                        Enable or disable DNS support.

                                                        + *

                                                        The security group names.

                                                        */ - DnsSupport?: DnsSupportValue | string; + GroupNames?: string[]; /** - *

                                                        Enable or disable automatic acceptance of attachment requests.

                                                        + *

                                                        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the + * operating system command for system shutdown).

                                                        */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; /** - *

                                                        Enable or disable automatic association with the default association route table.

                                                        + *

                                                        The instance type. For more information about the instance types that you can import, see Instance Types in the + * VM Import/Export User Guide.

                                                        */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + InstanceType?: _InstanceType | string; /** - *

                                                        The ID of the default association route table.

                                                        + *

                                                        Indicates whether monitoring is enabled.

                                                        */ - AssociationDefaultRouteTableId?: string; + Monitoring?: boolean; /** - *

                                                        Enable or disable automatic propagation of routes to the default propagation route table.

                                                        + *

                                                        The placement information for the instance.

                                                        */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + Placement?: Placement; /** - *

                                                        The ID of the default propagation route table.

                                                        + *

                                                        [EC2-VPC] An available IP address from the IP address range of the subnet.

                                                        */ - PropagationDefaultRouteTableId?: string; + PrivateIpAddress?: string; + + /** + *

                                                        [EC2-VPC] The ID of the subnet in which to launch the instance.

                                                        + */ + SubnetId?: string; + + /** + *

                                                        The Base64-encoded user data to make available to the instance.

                                                        + */ + UserData?: UserData; } -export namespace ModifyTransitGatewayOptions { +export namespace ImportInstanceLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayOptions): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceLaunchSpecification): any => ({ ...obj, + ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); } -export interface ModifyTransitGatewayRequest { - /** - *

                                                        The ID of the transit gateway.

                                                        - */ - TransitGatewayId: string | undefined; - +export interface ImportInstanceRequest { /** - *

                                                        The description for the transit gateway.

                                                        + *

                                                        A description for the instance being imported.

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

                                                        The options to modify.

                                                        + *

                                                        The disk image.

                                                        */ - Options?: ModifyTransitGatewayOptions; + DiskImages?: DiskImage[]; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -2083,171 +2225,168 @@ export interface ModifyTransitGatewayRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; + + /** + *

                                                        The launch specification.

                                                        + */ + LaunchSpecification?: ImportInstanceLaunchSpecification; + + /** + *

                                                        The instance operating system.

                                                        + */ + Platform: PlatformValues | string | undefined; } -export namespace ModifyTransitGatewayRequest { +export namespace ImportInstanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceRequest): any => ({ ...obj, + ...(obj.LaunchSpecification && { + LaunchSpecification: ImportInstanceLaunchSpecification.filterSensitiveLog(obj.LaunchSpecification), + }), }); } -export interface ModifyTransitGatewayResult { +export interface ImportInstanceResult { /** - *

                                                        Describes a transit gateway.

                                                        + *

                                                        Information about the conversion task.

                                                        */ - TransitGateway?: TransitGateway; + ConversionTask?: ConversionTask; } -export namespace ModifyTransitGatewayResult { +export namespace ImportInstanceResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayResult): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceResult): any => ({ ...obj, }); } -export interface ModifyTransitGatewayPrefixListReferenceRequest { +export interface ImportKeyPairRequest { /** - *

                                                        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 ID of the prefix list.

                                                        + *

                                                        A unique name for the key pair.

                                                        */ - PrefixListId: string | undefined; + KeyName: string | undefined; /** - *

                                                        The ID of the attachment to which traffic is routed.

                                                        + *

                                                        The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

                                                        */ - TransitGatewayAttachmentId?: string; + PublicKeyMaterial: Uint8Array | undefined; /** - *

                                                        Indicates whether to drop traffic that matches this route.

                                                        + *

                                                        The tags to apply to the imported key pair.

                                                        */ - Blackhole?: boolean; + TagSpecifications?: TagSpecification[]; +} +export namespace ImportKeyPairRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; -} - -export namespace ModifyTransitGatewayPrefixListReferenceRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceRequest): any => ({ + export const filterSensitiveLog = (obj: ImportKeyPairRequest): any => ({ ...obj, }); } -export interface ModifyTransitGatewayPrefixListReferenceResult { - /** - *

                                                        Information about the prefix list reference.

                                                        - */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; -} - -export namespace ModifyTransitGatewayPrefixListReferenceResult { +export interface ImportKeyPairResult { /** - * @internal + *

                                                        The MD5 public key fingerprint as specified in section 4 of RFC 4716.

                                                        */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceResult): any => ({ - ...obj, - }); -} + KeyFingerprint?: string; -/** - *

                                                        Describes the options for a VPC attachment.

                                                        - */ -export interface ModifyTransitGatewayVpcAttachmentRequestOptions { /** - *

                                                        Enable or disable DNS support. The default is enable.

                                                        + *

                                                        The key pair name that you provided.

                                                        */ - DnsSupport?: DnsSupportValue | string; + KeyName?: string; /** - *

                                                        Enable or disable IPv6 support. The default is enable.

                                                        + *

                                                        The ID of the resulting key pair.

                                                        */ - Ipv6Support?: Ipv6SupportValue | string; + KeyPairId?: string; /** - *

                                                        Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

                                                        + *

                                                        The tags applied to the imported key pair.

                                                        */ - ApplianceModeSupport?: ApplianceModeSupportValue | string; + Tags?: Tag[]; } -export namespace ModifyTransitGatewayVpcAttachmentRequestOptions { +export namespace ImportKeyPairResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequestOptions): any => ({ + export const filterSensitiveLog = (obj: ImportKeyPairResult): any => ({ ...obj, }); } -export interface ModifyTransitGatewayVpcAttachmentRequest { - /** - *

                                                        The ID of the attachment.

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

                                                        The disk container object for the import snapshot request.

                                                        + */ +export interface SnapshotDiskContainer { /** - *

                                                        The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

                                                        + *

                                                        The description of the disk image being imported.

                                                        */ - AddSubnetIds?: string[]; + Description?: string; /** - *

                                                        The IDs of one or more subnets to remove.

                                                        + *

                                                        The format of the disk image being imported.

                                                        + *

                                                        Valid values: VHD | VMDK | RAW + *

                                                        */ - RemoveSubnetIds?: string[]; + Format?: string; /** - *

                                                        The new VPC attachment options.

                                                        + *

                                                        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://..).

                                                        */ - Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; + Url?: 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 Amazon S3 bucket for the disk image.

                                                        */ - DryRun?: boolean; + UserBucket?: UserBucket; } -export namespace ModifyTransitGatewayVpcAttachmentRequest { +export namespace SnapshotDiskContainer { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: SnapshotDiskContainer): any => ({ ...obj, }); } -export interface ModifyTransitGatewayVpcAttachmentResult { +export interface ImportSnapshotRequest { /** - *

                                                        Information about the modified attachment.

                                                        + *

                                                        The client-specific data.

                                                        */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; -} + ClientData?: ClientData; -export namespace ModifyTransitGatewayVpcAttachmentResult { /** - * @internal + *

                                                        Token to enable idempotency for VM import requests.

                                                        */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentResult): any => ({ - ...obj, - }); -} + ClientToken?: string; + + /** + *

                                                        The description string for the import snapshot task.

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

                                                        Information about the disk container.

                                                        + */ + DiskContainer?: SnapshotDiskContainer; -export interface ModifyVolumeRequest { /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2256,119 +2395,100 @@ export interface ModifyVolumeRequest { DryRun?: boolean; /** - *

                                                        The ID of the volume.

                                                        + *

                                                        Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is + * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

                                                        */ - VolumeId: string | undefined; + Encrypted?: boolean; /** - *

                                                        The target size of the volume, in GiB. The target volume size must be greater than or - * equal to the existing size of the volume.

                                                        - *

                                                        The following are the supported volumes sizes for each volume type:

                                                        + *

                                                        An identifier for the symmetric KMS key to use when creating the + * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

                                                        + *

                                                        The KMS key identifier may be provided in any of the following formats:

                                                        *
                                                          *
                                                        • - *

                                                          - * gp2 and gp3: 1-16,384

                                                          + *

                                                          Key ID

                                                          *
                                                        • *
                                                        • - *

                                                          - * io1 and io2: 4-16,384

                                                          + *

                                                          Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          *
                                                        • *
                                                        • - *

                                                          - * st1 and sc1: 125-16,384

                                                          + *

                                                          ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                          *
                                                        • *
                                                        • - *

                                                          - * standard: 1-1,024

                                                          + *

                                                          ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          *
                                                        • *
                                                        - *

                                                        Default: The existing size is retained.

                                                        + *

                                                        Amazon Web Services 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 KMS key must exist in the Region that the snapshot is being copied to.

                                                        + *

                                                        Amazon EBS does not support asymmetric KMS keys.

                                                        */ - Size?: number; + KmsKeyId?: string; /** - *

                                                        The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

                                                        - *

                                                        Default: The existing type is retained.

                                                        + *

                                                        The name of the role to use when not using the default role, 'vmimport'.

                                                        */ - VolumeType?: VolumeType | string; + RoleName?: string; /** - *

                                                        The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

                                                        - *

                                                        The following are the supported values for each volume type:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * gp3: 3,000-16,000 IOPS

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * io1: 100-64,000 IOPS

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * io2: 100-64,000 IOPS

                                                          - *
                                                        • - *
                                                        - *

                                                        Default: The existing value is retained if you keep the same volume type. If you change - * the volume type to io1, io2, or gp3, the default is 3,000.

                                                        + *

                                                        The tags to apply to the import snapshot task during creation.

                                                        */ - Iops?: number; + TagSpecifications?: TagSpecification[]; +} +export namespace ImportSnapshotRequest { /** - *

                                                        The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. - * The maximum value is 1,000.

                                                        - *

                                                        Default: The existing value is retained if the source and target volume type is gp3. - * Otherwise, the default value is 125.

                                                        - *

                                                        Valid Range: Minimum value of 125. Maximum value of 1000.

                                                        + * @internal */ - Throughput?: number; + export const filterSensitiveLog = (obj: ImportSnapshotRequest): any => ({ + ...obj, + }); +} +export interface ImportSnapshotResult { /** - *

                                                        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. This parameter is - * supported with io1 and io2 volumes only. For more information, see - * - * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

                                                        + *

                                                        A description of the import snapshot task.

                                                        */ - MultiAttachEnabled?: boolean; -} + Description?: string; -export namespace ModifyVolumeRequest { /** - * @internal + *

                                                        The ID of the import snapshot task.

                                                        */ - export const filterSensitiveLog = (obj: ModifyVolumeRequest): any => ({ - ...obj, - }); -} + ImportTaskId?: string; -export interface ModifyVolumeResult { /** - *

                                                        Information about the volume modification.

                                                        + *

                                                        Information about the import snapshot task.

                                                        */ - VolumeModification?: VolumeModification; + SnapshotTaskDetail?: SnapshotTaskDetail; + + /** + *

                                                        Any tags assigned to the import snapshot task.

                                                        + */ + Tags?: Tag[]; } -export namespace ModifyVolumeResult { +export namespace ImportSnapshotResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVolumeResult): any => ({ + export const filterSensitiveLog = (obj: ImportSnapshotResult): any => ({ ...obj, }); } -export interface ModifyVolumeAttributeRequest { +export interface ImportVolumeRequest { /** - *

                                                        Indicates whether the volume should be auto-enabled for I/O operations.

                                                        + *

                                                        The Availability Zone for the resulting EBS volume.

                                                        */ - AutoEnableIO?: AttributeBooleanValue; + AvailabilityZone: string | undefined; /** - *

                                                        The ID of the volume.

                                                        + *

                                                        A description of the volume.

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

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -2376,1327 +2496,1379 @@ export interface ModifyVolumeAttributeRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; -} -export namespace ModifyVolumeAttributeRequest { /** - * @internal + *

                                                        The disk image.

                                                        */ - export const filterSensitiveLog = (obj: ModifyVolumeAttributeRequest): any => ({ - ...obj, - }); -} + Image: DiskImageDetail | undefined; -export interface ModifyVpcAttributeRequest { /** - *

                                                        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.

                                                        + *

                                                        The volume size.

                                                        */ - EnableDnsHostnames?: AttributeBooleanValue; + Volume: VolumeDetail | undefined; +} +export namespace ImportVolumeRequest { /** - *

                                                        Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to - * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP - * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon - * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is - * not enabled.

                                                        - *

                                                        You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

                                                        + * @internal */ - EnableDnsSupport?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: ImportVolumeRequest): any => ({ + ...obj, + }); +} +export interface ImportVolumeResult { /** - *

                                                        The ID of the VPC.

                                                        + *

                                                        Information about the conversion task.

                                                        */ - VpcId: string | undefined; + ConversionTask?: ConversionTask; } -export namespace ModifyVpcAttributeRequest { +export namespace ImportVolumeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ImportVolumeResult): any => ({ ...obj, }); } -/** - *

                                                        Contains the parameters for ModifyVpcEndpoint.

                                                        - */ -export interface ModifyVpcEndpointRequest { - /** - *

                                                        Checks whether you have the required permissions for the action, without 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 ListSnapshotsInRecycleBinRequest { /** - *

                                                        The ID of the endpoint.

                                                        + *

                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        */ - VpcEndpointId: string | undefined; + MaxResults?: number; /** - *

                                                        (Gateway endpoint) Specify true to reset the policy document to the - * default policy. The default policy allows full access to the service.

                                                        + *

                                                        The token for the next page of results.

                                                        */ - ResetPolicy?: boolean; + NextToken?: string; /** - *

                                                        (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must - * be in valid JSON format.

                                                        + *

                                                        The IDs of the snapshots to list. Omit this parameter to list all of the + * snapshots that are in the Recycle Bin.

                                                        */ - PolicyDocument?: string; + SnapshotIds?: string[]; /** - *

                                                        (Gateway endpoint) One or more route tables IDs to associate with the 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.

                                                        */ - AddRouteTableIds?: string[]; + DryRun?: boolean; +} +export namespace ListSnapshotsInRecycleBinRequest { /** - *

                                                        (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

                                                        + * @internal */ - RemoveRouteTableIds?: string[]; + export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Information about a snapshot that is currently in the Recycle Bin.

                                                        + */ +export interface SnapshotRecycleBinInfo { /** - *

                                                        (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.

                                                        + *

                                                        The ID of the snapshot.

                                                        */ - AddSubnetIds?: string[]; + SnapshotId?: string; /** - *

                                                        (Interface endpoint) One or more subnets IDs in which to remove the endpoint.

                                                        + *

                                                        The date and time when the snaphsot entered the Recycle Bin.

                                                        */ - RemoveSubnetIds?: string[]; + RecycleBinEnterTime?: Date; /** - *

                                                        (Interface endpoint) One or more security group IDs to associate with the network interface.

                                                        + *

                                                        The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

                                                        */ - AddSecurityGroupIds?: string[]; + RecycleBinExitTime?: Date; /** - *

                                                        (Interface endpoint) One or more security group IDs to disassociate from the network interface.

                                                        + *

                                                        The description for the snapshot.

                                                        */ - RemoveSecurityGroupIds?: string[]; + Description?: string; /** - *

                                                        (Interface endpoint) Indicates whether a private hosted zone is associated with the - * VPC.

                                                        + *

                                                        The ID of the volume from which the snapshot was created.

                                                        */ - PrivateDnsEnabled?: boolean; + VolumeId?: string; } -export namespace ModifyVpcEndpointRequest { +export namespace SnapshotRecycleBinInfo { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: SnapshotRecycleBinInfo): any => ({ ...obj, }); } -export interface ModifyVpcEndpointResult { +export interface ListSnapshotsInRecycleBinResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        Information about the snapshots.

                                                        */ - Return?: boolean; + Snapshots?: SnapshotRecycleBinInfo[]; + + /** + *

                                                        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 ModifyVpcEndpointResult { +export namespace ListSnapshotsInRecycleBinResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointResult): any => ({ + export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinResult): any => ({ ...obj, }); } -export interface ModifyVpcEndpointConnectionNotificationRequest { +export interface ModifyAddressAttributeRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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-VPC] The allocation ID.

                                                        */ - DryRun?: boolean; + AllocationId: string | undefined; /** - *

                                                        The ID of the notification.

                                                        + *

                                                        The domain name to modify for the IP address.

                                                        */ - ConnectionNotificationId: string | undefined; + DomainName?: string; /** - *

                                                        The ARN for the SNS topic for the notification.

                                                        - */ - ConnectionNotificationArn?: string; - - /** - *

                                                        One or more events for the endpoint. Valid values are Accept, - * Connect, Delete, and Reject.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - ConnectionEvents?: string[]; + DryRun?: boolean; } -export namespace ModifyVpcEndpointConnectionNotificationRequest { +export namespace ModifyAddressAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyAddressAttributeRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointConnectionNotificationResult { +export interface ModifyAddressAttributeResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        Information about the Elastic IP address.

                                                        */ - ReturnValue?: boolean; + Address?: AddressAttribute; } -export namespace ModifyVpcEndpointConnectionNotificationResult { +export namespace ModifyAddressAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyAddressAttributeResult): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServiceConfigurationRequest { +export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; + +export interface ModifyAvailabilityZoneGroupRequest { + /** + *

                                                        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 Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

                                                        + */ + OptInStatus: ModifyAvailabilityZoneOptInStatus | 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 ModifyAvailabilityZoneGroupRequest { /** - *

                                                        The ID of the service.

                                                        + * @internal */ - ServiceId: string | undefined; + export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupRequest): any => ({ + ...obj, + }); +} +export interface ModifyAvailabilityZoneGroupResult { /** - *

                                                        (Interface endpoint configuration) The private DNS name to assign to the endpoint service.

                                                        + *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        */ - PrivateDnsName?: string; + Return?: boolean; +} +export namespace ModifyAvailabilityZoneGroupResult { /** - *

                                                        (Interface endpoint configuration) Removes the private DNS name of the endpoint service.

                                                        + * @internal */ - RemovePrivateDnsName?: boolean; + export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupResult): any => ({ + ...obj, + }); +} +export interface ModifyCapacityReservationRequest { /** - *

                                                        Indicates whether requests to create an endpoint to your service must be accepted.

                                                        + *

                                                        The ID of the Capacity Reservation.

                                                        */ - AcceptanceRequired?: boolean; + CapacityReservationId: string | undefined; /** - *

                                                        The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service - * configuration.

                                                        + *

                                                        The number of instances for which to reserve capacity. The number of instances can't be increased or + * decreased by more than 1000 in a single request.

                                                        */ - AddNetworkLoadBalancerArns?: string[]; + InstanceCount?: number; /** - *

                                                        The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service - * configuration.

                                                        + *

                                                        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.

                                                        + *

                                                        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.

                                                        + *

                                                        You must provide an EndDate value if EndDateType is + * limited. Omit EndDate if EndDateType is + * unlimited.

                                                        */ - RemoveNetworkLoadBalancerArns?: string[]; + EndDate?: Date; /** - *

                                                        The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service - * configuration.

                                                        + *

                                                        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. Do not + * provide an EndDate value if EndDateType is + * unlimited.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * limited - The Capacity Reservation expires automatically at a specified date and time. You must + * provide an EndDate value if EndDateType is + * limited.

                                                          + *
                                                        • + *
                                                        */ - AddGatewayLoadBalancerArns?: string[]; + EndDateType?: EndDateType | string; /** - *

                                                        The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service - * configuration.

                                                        + *

                                                        Reserved. Capacity Reservations you have created are accepted by default.

                                                        */ - RemoveGatewayLoadBalancerArns?: string[]; + Accept?: 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; + + /** + *

                                                        Reserved for future use.

                                                        + */ + AdditionalInfo?: string; } -export namespace ModifyVpcEndpointServiceConfigurationRequest { +export namespace ModifyCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServiceConfigurationResult { +export interface ModifyCapacityReservationResult { /** *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ Return?: boolean; } -export namespace ModifyVpcEndpointServiceConfigurationResult { +export namespace ModifyCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationResult): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServicePermissionsRequest { +export interface ModifyCapacityReservationFleetRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 Fleet to modify.

                                                        */ - DryRun?: boolean; + CapacityReservationFleetId: string | undefined; /** - *

                                                        The ID of the service.

                                                        + *

                                                        The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, + * together with the instance type weights that you assign to each instance type used by the Fleet + * determine the number of instances for which the Fleet reserves capacity. Both values are based on + * units that make sense for your workload. For more information, see Total target capacity + * in the Amazon EC2 User Guide.

                                                        */ - ServiceId: string | undefined; + TotalTargetCapacity?: number; /** - *

                                                        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 (*).

                                                        + *

                                                        The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation + * Fleet expires, its state changes to expired and all of the Capacity Reservations in the + * Fleet expire.

                                                        + *

                                                        The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you + * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed + * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

                                                        + *

                                                        You can't specify EndDate and + * RemoveEndDate in the same request.

                                                        */ - AddAllowedPrincipals?: string[]; + EndDate?: Date; /** - *

                                                        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; + + /** + *

                                                        Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the + * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly + * cancel it using the CancelCapacityReservationFleet action.

                                                        + *

                                                        You can't specify RemoveEndDate and + * EndDate in the same request.

                                                        + */ + RemoveEndDate?: boolean; } -export namespace ModifyVpcEndpointServicePermissionsRequest { +export namespace ModifyCapacityReservationFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServicePermissionsResult { +export interface ModifyCapacityReservationFleetResult { /** *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - ReturnValue?: boolean; + Return?: boolean; } -export namespace ModifyVpcEndpointServicePermissionsResult { +export namespace ModifyCapacityReservationFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetResult): any => ({ ...obj, }); } /** - *

                                                        The VPC peering connection options.

                                                        + *

                                                        Information about the DNS server to be used.

                                                        */ -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.

                                                        - */ - AllowDnsResolutionFromRemoteVpc?: boolean; - +export interface DnsServersOptionsModifyStructure { /** - *

                                                        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.

                                                        + *

                                                        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.

                                                        */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + CustomDnsServers?: string[]; /** - *

                                                        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.

                                                        + *

                                                        Indicates whether DNS servers should be used. Specify False to delete the existing DNS + * servers.

                                                        */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; + Enabled?: boolean; } -export namespace PeeringConnectionOptionsRequest { +export namespace DnsServersOptionsModifyStructure { /** * @internal */ - export const filterSensitiveLog = (obj: PeeringConnectionOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: DnsServersOptionsModifyStructure): any => ({ ...obj, }); } -export interface ModifyVpcPeeringConnectionOptionsRequest { +export interface ModifyClientVpnEndpointRequest { /** - *

                                                        The VPC peering connection options for the accepter VPC.

                                                        + *

                                                        The ID of the Client VPN endpoint to modify.

                                                        */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + 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.

                                                        + *

                                                        The ARN of the server certificate to be used. The server certificate must be provisioned in + * Certificate Manager (ACM).

                                                        */ - DryRun?: boolean; + ServerCertificateArn?: string; /** - *

                                                        The VPC peering connection options for the requester VPC.

                                                        + *

                                                        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

                                                          + *
                                                        • + *
                                                        */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + ConnectionLogOptions?: ConnectionLogOptions; /** - *

                                                        The ID of the VPC peering connection.

                                                        + *

                                                        Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have + * up to two DNS servers.

                                                        */ - VpcPeeringConnectionId: string | undefined; -} + DnsServers?: DnsServersOptionsModifyStructure; -export namespace ModifyVpcPeeringConnectionOptionsRequest { /** - * @internal + *

                                                        The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                                                        + *

                                                        Valid Values: 443 | 1194 + *

                                                        + *

                                                        Default Value: 443 + *

                                                        */ - export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsRequest): any => ({ - ...obj, - }); -} + VpnPort?: number; -/** - *

                                                        Describes the VPC peering connection options.

                                                        - */ -export interface PeeringConnectionOptions { /** - *

                                                        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.

                                                        + *

                                                        A brief description of the Client VPN endpoint.

                                                        */ - AllowDnsResolutionFromRemoteVpc?: boolean; + Description?: string; /** - *

                                                        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.

                                                        + *

                                                        Indicates whether the VPN is split-tunnel.

                                                        + *

                                                        For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the + * Client VPN Administrator Guide.

                                                        */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + SplitTunnel?: 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.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                        */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; -} + DryRun?: boolean; -export namespace PeeringConnectionOptions { /** - * @internal + *

                                                        The IDs of one or more security groups to apply to the target network.

                                                        */ - export const filterSensitiveLog = (obj: PeeringConnectionOptions): any => ({ - ...obj, - }); -} + SecurityGroupIds?: string[]; -export interface ModifyVpcPeeringConnectionOptionsResult { /** - *

                                                        Information about the VPC peering connection options for the accepter VPC.

                                                        + *

                                                        The ID of the VPC to associate with the Client VPN endpoint.

                                                        */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + VpcId?: string; /** - *

                                                        Information about the VPC peering connection options for the requester VPC.

                                                        + *

                                                        Specify whether to enable the self-service portal for the Client VPN endpoint.

                                                        */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptions; + SelfServicePortal?: SelfServicePortal | string; + + /** + *

                                                        The options for managing connection authorization for new client connections.

                                                        + */ + ClientConnectOptions?: ClientConnectOptions; } -export namespace ModifyVpcPeeringConnectionOptionsResult { +export namespace ModifyClientVpnEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyClientVpnEndpointRequest): any => ({ ...obj, }); } -export type VpcTenancy = "default"; - -export interface ModifyVpcTenancyRequest { +export interface ModifyClientVpnEndpointResult { /** - *

                                                        The ID of the VPC.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - VpcId: string | undefined; + Return?: boolean; +} +export namespace ModifyClientVpnEndpointResult { /** - *

                                                        The instance tenancy attribute for the VPC.

                                                        + * @internal */ - InstanceTenancy: VpcTenancy | string | undefined; + export const filterSensitiveLog = (obj: ModifyClientVpnEndpointResult): any => ({ + ...obj, + }); +} +export interface ModifyDefaultCreditSpecificationRequest { /** *

                                                        Checks whether you have the required permissions for the action, without 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 ModifyVpcTenancyRequest { /** - * @internal + *

                                                        The instance family.

                                                        */ - export const filterSensitiveLog = (obj: ModifyVpcTenancyRequest): any => ({ - ...obj, - }); -} + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; -export interface ModifyVpcTenancyResult { /** - *

                                                        Returns true if the request succeeds; otherwise, returns an - * error.

                                                        + *

                                                        The credit option for CPU usage of the instance family.

                                                        + *

                                                        Valid Values: standard | unlimited + *

                                                        */ - ReturnValue?: boolean; + CpuCredits: string | undefined; } -export namespace ModifyVpcTenancyResult { +export namespace ModifyDefaultCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcTenancyResult): any => ({ + export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationRequest): any => ({ ...obj, }); } -export interface ModifyVpnConnectionRequest { - /** - *

                                                        The ID of the VPN connection.

                                                        - */ - VpnConnectionId: string | undefined; - +export interface ModifyDefaultCreditSpecificationResult { /** - *

                                                        The ID of the transit gateway.

                                                        + *

                                                        The default credit option for CPU usage of the instance family.

                                                        */ - TransitGatewayId?: string; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; +} +export namespace ModifyDefaultCreditSpecificationResult { /** - *

                                                        The ID of the customer gateway at your end of the VPN connection.

                                                        + * @internal */ - CustomerGatewayId?: string; + export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationResult): any => ({ + ...obj, + }); +} +export interface ModifyEbsDefaultKmsKeyIdRequest { /** - *

                                                        The ID of the virtual private gateway at the Amazon Web Services side of the VPN - * connection.

                                                        + *

                                                        The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

                                                        + *

                                                        You can specify the KMS key using any of the following:

                                                        + *
                                                          + *
                                                        • + *

                                                          Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Key alias. For example, alias/ExampleAlias.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                          + *
                                                        • + *
                                                        + *

                                                        Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

                                                        + *

                                                        Amazon EBS does not support asymmetric KMS keys.

                                                        */ - VpnGatewayId?: string; + KmsKeyId: 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; } -export namespace ModifyVpnConnectionRequest { +export namespace ModifyEbsDefaultKmsKeyIdRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdRequest): any => ({ ...obj, }); } -export interface ModifyVpnConnectionResult { +export interface ModifyEbsDefaultKmsKeyIdResult { /** - *

                                                        Describes a VPN connection.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                        */ - VpnConnection?: VpnConnection; + KmsKeyId?: string; } -export namespace ModifyVpnConnectionResult { +export namespace ModifyEbsDefaultKmsKeyIdResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionResult): any => ({ + export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -export interface ModifyVpnConnectionOptionsRequest { +export interface ModifyFleetRequest { /** - *

                                                        The ID of the 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 IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

                                                        - *

                                                        Default: 0.0.0.0/0 - *

                                                        + *

                                                        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.

                                                        */ - LocalIpv4NetworkCidr?: string; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; /** - *

                                                        The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

                                                        - *

                                                        Default: 0.0.0.0/0 - *

                                                        + *

                                                        The launch template and overrides.

                                                        */ - RemoteIpv4NetworkCidr?: string; + LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; /** - *

                                                        The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

                                                        - *

                                                        Default: ::/0 - *

                                                        + *

                                                        The ID of the EC2 Fleet.

                                                        */ - LocalIpv6NetworkCidr?: string; + FleetId: string | undefined; /** - *

                                                        The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

                                                        - *

                                                        Default: ::/0 - *

                                                        + *

                                                        The size of the EC2 Fleet.

                                                        */ - RemoteIpv6NetworkCidr?: string; + TargetCapacitySpecification?: TargetCapacitySpecificationRequest; /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        Reserved.

                                                        */ - DryRun?: boolean; + Context?: string; } -export namespace ModifyVpnConnectionOptionsRequest { +export namespace ModifyFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyFleetRequest): any => ({ ...obj, }); } -export interface ModifyVpnConnectionOptionsResult { +export interface ModifyFleetResult { /** - *

                                                        Describes a VPN connection.

                                                        + *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        */ - VpnConnection?: VpnConnection; + Return?: boolean; } -export namespace ModifyVpnConnectionOptionsResult { +export namespace ModifyFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyFleetResult): any => ({ ...obj, }); } -export interface ModifyVpnTunnelCertificateRequest { - /** - *

                                                        The ID of the Amazon Web Services Site-to-Site VPN connection.

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

                                                        Describes a load permission.

                                                        + */ +export interface LoadPermissionRequest { /** - *

                                                        The external IP address of the VPN tunnel.

                                                        + *

                                                        The name of the group.

                                                        */ - VpnTunnelOutsideIpAddress: string | undefined; + Group?: PermissionGroup | 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 Amazon Web Services account ID.

                                                        */ - DryRun?: boolean; + UserId?: string; } -export namespace ModifyVpnTunnelCertificateRequest { +export namespace LoadPermissionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateRequest): any => ({ + export const filterSensitiveLog = (obj: LoadPermissionRequest): any => ({ ...obj, }); } -export interface ModifyVpnTunnelCertificateResult { +/** + *

                                                        Describes modifications to the load permissions of an Amazon FPGA image (AFI).

                                                        + */ +export interface LoadPermissionModifications { /** - *

                                                        Describes a VPN connection.

                                                        + *

                                                        The load permissions to add.

                                                        */ - VpnConnection?: VpnConnection; + Add?: LoadPermissionRequest[]; + + /** + *

                                                        The load permissions to remove.

                                                        + */ + Remove?: LoadPermissionRequest[]; } -export namespace ModifyVpnTunnelCertificateResult { +export namespace LoadPermissionModifications { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ + export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ ...obj, }); } -/** - *

                                                        The Amazon Web Services Site-to-Site VPN tunnel options to modify.

                                                        - */ -export interface ModifyVpnTunnelOptionsSpecification { +export type OperationType = "add" | "remove"; + +export interface ModifyFpgaImageAttributeRequest { /** - *

                                                        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:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * 169.254.0.0/30 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 169.254.1.0/30 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 169.254.2.0/30 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 169.254.3.0/30 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 169.254.4.0/30 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 169.254.5.0/30 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 169.254.169.252/30 - *

                                                          - *
                                                        • - *
                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - TunnelInsideCidr?: string; + DryRun?: boolean; /** - *

                                                        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.

                                                        + *

                                                        The ID of the AFI.

                                                        */ - TunnelInsideIpv6Cidr?: string; + FpgaImageId: string | undefined; /** - *

                                                        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).

                                                        + *

                                                        The name of the attribute.

                                                        */ - PreSharedKey?: string; + Attribute?: FpgaImageAttributeName | string; /** - *

                                                        The lifetime for phase 1 of the IKE negotiation, in seconds.

                                                        - *

                                                        Constraints: A value between 900 and 28,800.

                                                        - *

                                                        Default: 28800 - *

                                                        + *

                                                        The operation type.

                                                        */ - Phase1LifetimeSeconds?: number; + OperationType?: OperationType | 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 Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

                                                        */ - Phase2LifetimeSeconds?: number; + UserIds?: string[]; /** - *

                                                        The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services 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 user groups. This parameter is valid only when modifying the loadPermission attribute.

                                                        */ - RekeyMarginTimeSeconds?: number; + UserGroups?: string[]; /** - *

                                                        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 product codes. After you add a product code to an AFI, it can't be removed. + * This parameter is valid only when modifying the productCodes attribute.

                                                        */ - RekeyFuzzPercentage?: number; + ProductCodes?: string[]; /** - *

                                                        The number of packets in an IKE replay window.

                                                        - *

                                                        Constraints: A value between 64 and 2048.

                                                        - *

                                                        Default: 1024 - *

                                                        + *

                                                        The load permission for the AFI.

                                                        */ - ReplayWindowSize?: number; + LoadPermission?: LoadPermissionModifications; /** - *

                                                        The number of seconds after which a DPD timeout occurs.

                                                        - *

                                                        Constraints: A value between 0 and 30.

                                                        - *

                                                        Default: 30 - *

                                                        + *

                                                        A description for the AFI.

                                                        */ - DPDTimeoutSeconds?: number; + Description?: 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 - *

                                                        + *

                                                        A name for the AFI.

                                                        */ - DPDTimeoutAction?: string; + Name?: string; +} +export namespace ModifyFpgaImageAttributeRequest { /** - *

                                                        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 - *

                                                        + * @internal */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeRequest): any => ({ + ...obj, + }); +} +export interface ModifyFpgaImageAttributeResult { /** - *

                                                        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 - *

                                                        + *

                                                        Information about the attribute.

                                                        */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + FpgaImageAttribute?: FpgaImageAttribute; +} +export namespace ModifyFpgaImageAttributeResult { /** - *

                                                        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 - *

                                                        + * @internal */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeResult): any => ({ + ...obj, + }); +} +export interface ModifyHostsRequest { /** - *

                                                        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 - *

                                                        + *

                                                        Specify whether to enable or disable auto-placement.

                                                        */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + AutoPlacement?: AutoPlacement | 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 | 19 | 20 | - * 21 | 22 | 23 | 24 - *

                                                        + *

                                                        The IDs of the Dedicated Hosts to modify.

                                                        */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + HostIds: string[] | undefined; /** - *

                                                        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 - *

                                                        + *

                                                        Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, + * see + * Host recovery in the Amazon EC2 User Guide.

                                                        */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + HostRecovery?: HostRecovery | string; /** - *

                                                        The IKE versions that are permitted for the VPN tunnel.

                                                        - *

                                                        Valid values: ikev1 | ikev2 - *

                                                        + *

                                                        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.

                                                        */ - IKEVersions?: IKEVersionsRequestListValue[]; + InstanceType?: string; /** - *

                                                        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 Amazon Web Services to initiate the IKE - * negotiation.

                                                        - *

                                                        Valid Values: add | start - *

                                                        - *

                                                        Default: add - *

                                                        + *

                                                        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 + * instance family.

                                                        + * + *

                                                        If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter + * and specify InstanceType instead. You cannot specify + * InstanceFamily and InstanceType + * in the same request.

                                                        */ - StartupAction?: string; + InstanceFamily?: string; } -export namespace ModifyVpnTunnelOptionsSpecification { +export namespace ModifyHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsSpecification): any => ({ + export const filterSensitiveLog = (obj: ModifyHostsRequest): any => ({ ...obj, }); } -export interface ModifyVpnTunnelOptionsRequest { +export interface ModifyHostsResult { /** - *

                                                        The ID of the Amazon Web Services Site-to-Site VPN connection.

                                                        + *

                                                        The IDs of the Dedicated Hosts that were successfully modified.

                                                        */ - VpnConnectionId: string | undefined; + Successful?: string[]; /** - *

                                                        The external IP address of the VPN tunnel.

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

                                                        The tunnel options to modify.

                                                        - */ - 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 IDs of the Dedicated Hosts that could not be modified. Check whether the + * setting you requested can be used.

                                                        */ - DryRun?: boolean; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace ModifyVpnTunnelOptionsRequest { +export namespace ModifyHostsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyHostsResult): any => ({ ...obj, }); } -export interface ModifyVpnTunnelOptionsResult { +export interface ModifyIdentityIdFormatRequest { /** - *

                                                        Describes a VPN connection.

                                                        + *

                                                        The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify + * all to modify the ID format for all IAM users, IAM roles, and the root user of + * the account.

                                                        */ - VpnConnection?: VpnConnection; + PrincipalArn: string | undefined; + + /** + *

                                                        The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                        + *

                                                        Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

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

                                                        Indicates whether the resource should use longer IDs (17-character IDs)

                                                        + */ + UseLongIds: boolean | undefined; } -export namespace ModifyVpnTunnelOptionsResult { +export namespace ModifyIdentityIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyIdentityIdFormatRequest): any => ({ ...obj, }); } -export interface MonitorInstancesRequest { +export interface ModifyIdFormatRequest { /** - *

                                                        The IDs of the instances.

                                                        + *

                                                        The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                        + *

                                                        Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

                                                        */ - InstanceIds: string[] | undefined; + Resource: 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.

                                                        + *

                                                        Indicate whether the resource should use longer IDs (17-character IDs).

                                                        */ - DryRun?: boolean; + UseLongIds: boolean | undefined; } -export namespace MonitorInstancesRequest { +export namespace ModifyIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MonitorInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIdFormatRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the monitoring of an instance.

                                                        + *

                                                        Describes a launch permission modification.

                                                        */ -export interface InstanceMonitoring { +export interface LaunchPermissionModifications { /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The Amazon Web Services account ID to add to the list of launch permissions for the AMI.

                                                        */ - InstanceId?: string; + Add?: LaunchPermission[]; /** - *

                                                        The monitoring for the instance.

                                                        + *

                                                        The Amazon Web Services account ID to remove from the list of launch permissions for the AMI.

                                                        */ - Monitoring?: Monitoring; + Remove?: LaunchPermission[]; } -export namespace InstanceMonitoring { +export namespace LaunchPermissionModifications { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceMonitoring): any => ({ + export const filterSensitiveLog = (obj: LaunchPermissionModifications): any => ({ ...obj, }); } -export interface MonitorInstancesResult { +/** + *

                                                        Contains the parameters for ModifyImageAttribute.

                                                        + */ +export interface ModifyImageAttributeRequest { /** - *

                                                        The monitoring information.

                                                        + *

                                                        The name of the attribute to modify.

                                                        + *

                                                        Valid values: description | launchPermission + *

                                                        */ - InstanceMonitorings?: InstanceMonitoring[]; -} + Attribute?: string; -export namespace MonitorInstancesResult { /** - * @internal + *

                                                        A new description for the AMI.

                                                        */ - export const filterSensitiveLog = (obj: MonitorInstancesResult): any => ({ - ...obj, - }); -} + Description?: AttributeValue; -export interface MoveAddressToVpcRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 AMI.

                                                        */ - DryRun?: boolean; + ImageId: string | undefined; /** - *

                                                        The Elastic IP address.

                                                        + *

                                                        A new launch permission for the AMI.

                                                        */ - PublicIp: string | undefined; -} + LaunchPermission?: LaunchPermissionModifications; -export namespace MoveAddressToVpcRequest { /** - * @internal + *

                                                        The operation type. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                        */ - export const filterSensitiveLog = (obj: MoveAddressToVpcRequest): any => ({ - ...obj, - }); -} + OperationType?: OperationType | string; -export enum Status { - inClassic = "InClassic", - inVpc = "InVpc", - moveInProgress = "MoveInProgress", -} + /** + *

                                                        Not supported.

                                                        + */ + ProductCodes?: string[]; -export interface MoveAddressToVpcResult { /** - *

                                                        The allocation ID for the Elastic IP address.

                                                        + *

                                                        The user groups. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                        */ - AllocationId?: string; + UserGroups?: string[]; /** - *

                                                        The status of the move of the IP address.

                                                        + *

                                                        The Amazon Web Services account IDs. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                        */ - Status?: Status | string; -} + UserIds?: string[]; -export namespace MoveAddressToVpcResult { /** - * @internal + *

                                                        The value of the attribute being modified. + * This parameter can be used only when the Attribute parameter is description.

                                                        */ - export const filterSensitiveLog = (obj: MoveAddressToVpcResult): any => ({ - ...obj, - }); -} + Value?: string; -/** - *

                                                        Provides authorization for Amazon to bring a specific IP address range to a specific - * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

                                                        - */ -export interface CidrAuthorizationContext { /** - *

                                                        The plain-text authorization message for the prefix and account.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Message: string | undefined; + DryRun?: boolean; /** - *

                                                        The signed authorization message for the prefix and account.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

                                                        */ - Signature: string | undefined; + OrganizationArns?: string[]; + + /** + *

                                                        The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

                                                        + */ + OrganizationalUnitArns?: string[]; } -export namespace CidrAuthorizationContext { +export namespace ModifyImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CidrAuthorizationContext): any => ({ + export const filterSensitiveLog = (obj: ModifyImageAttributeRequest): any => ({ ...obj, }); } -export interface ProvisionByoipCidrRequest { +/** + *

                                                        Describes information used to set up an EBS volume specified in a block device + * mapping.

                                                        + */ +export interface EbsInstanceBlockDeviceSpecification { /** - *

                                                        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.

                                                        + *

                                                        Indicates whether the volume is deleted on instance termination.

                                                        */ - Cidr: string | undefined; + DeleteOnTermination?: boolean; /** - *

                                                        A signed document that proves that you are authorized to bring the specified IP address - * range to Amazon using BYOIP.

                                                        + *

                                                        The ID of the EBS volume.

                                                        */ - CidrAuthorizationContext?: CidrAuthorizationContext; + VolumeId?: string; +} +export namespace EbsInstanceBlockDeviceSpecification { /** - *

                                                        (IPv6 only) Indicate whether the address range will be publicly advertised to the - * internet.

                                                        - *

                                                        Default: true

                                                        + * @internal */ - PubliclyAdvertisable?: boolean; + export const filterSensitiveLog = (obj: EbsInstanceBlockDeviceSpecification): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a block device mapping entry.

                                                        + */ +export interface InstanceBlockDeviceMappingSpecification { /** - *

                                                        A description for the address range and the address pool.

                                                        + *

                                                        The device name (for example, /dev/sdh or xvdh).

                                                        */ - Description?: string; + DeviceName?: 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.

                                                        + *

                                                        Parameters used to automatically set up EBS volumes when the instance is + * launched.

                                                        */ - DryRun?: boolean; + Ebs?: EbsInstanceBlockDeviceSpecification; /** - *

                                                        The tags to apply to the address pool.

                                                        + *

                                                        suppress the specified device included in the block device mapping.

                                                        */ - PoolTagSpecifications?: TagSpecification[]; + NoDevice?: string; /** - *

                                                        Reserved.

                                                        + *

                                                        The virtual device name.

                                                        */ - MultiRegion?: boolean; + VirtualName?: string; } -export namespace ProvisionByoipCidrRequest { +export namespace InstanceBlockDeviceMappingSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionByoipCidrRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceBlockDeviceMappingSpecification): any => ({ ...obj, }); } -export interface ProvisionByoipCidrResult { - /** - *

                                                        Information about the address range.

                                                        - */ - ByoipCidr?: ByoipCidr; +export interface BlobAttributeValue { + Value?: Uint8Array; } -export namespace ProvisionByoipCidrResult { +export namespace BlobAttributeValue { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionByoipCidrResult): any => ({ + export const filterSensitiveLog = (obj: BlobAttributeValue): any => ({ ...obj, }); } -export interface PurchaseHostReservationRequest { +export interface ModifyInstanceAttributeRequest { /** - *

                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                        + *

                                                        Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

                                                        */ - ClientToken?: string; + SourceDestCheck?: AttributeBooleanValue; /** - *

                                                        The currency in which the totalUpfrontPrice, LimitPrice, - * and totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

                                                        + *

                                                        The name of the attribute.

                                                        */ - CurrencyCode?: CurrencyCodeValues | string; + Attribute?: InstanceAttributeName | string; /** - *

                                                        The IDs of the Dedicated Hosts with which the reservation will be associated.

                                                        + *

                                                        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 Update the block device mapping when launching an instance in the + * Amazon EC2 User Guide.

                                                        */ - HostIdSet: string[] | undefined; + BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; /** - *

                                                        The specified limit is checked against the total upfront cost of the reservation - * (calculated as the offering's upfront cost multiplied by the host count). If the total - * upfront cost is greater than the specified price limit, the request fails. This is used - * to ensure that the purchase does not exceed the expected upfront cost of the purchase. - * At this time, the only supported currency is USD. For example, to indicate - * a limit price of USD 100, specify 100.00.

                                                        + *

                                                        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.

                                                        */ - LimitPrice?: string; + DisableApiTermination?: AttributeBooleanValue; /** - *

                                                        The ID of the offering.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - OfferingId: string | undefined; + DryRun?: boolean; /** - *

                                                        The tags to apply to the Dedicated Host Reservation during purchase.

                                                        + *

                                                        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.

                                                        */ - TagSpecifications?: TagSpecification[]; -} + EbsOptimized?: AttributeBooleanValue; -export namespace PurchaseHostReservationRequest { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: PurchaseHostReservationRequest): any => ({ - ...obj, - }); -} + EnaSupport?: AttributeBooleanValue; -export interface PurchaseHostReservationResult { /** - *

                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                        + *

                                                        [EC2-VPC] Replaces the security groups of the instance with the specified security groups. + * 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.

                                                        */ - ClientToken?: string; + Groups?: string[]; /** - *

                                                        The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

                                                        + *

                                                        The ID of the instance.

                                                        */ - CurrencyCode?: CurrencyCodeValues | string; + InstanceId: string | undefined; /** - *

                                                        Describes the details of the purchase.

                                                        + *

                                                        Specifies whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                                                        */ - Purchase?: Purchase[]; + InstanceInitiatedShutdownBehavior?: AttributeValue; /** - *

                                                        The total hourly price of the reservation calculated per hour.

                                                        + *

                                                        Changes the instance type to the specified value. For more information, see Instance + * types in the Amazon EC2 User Guide. If the instance type is not valid, + * the error returned is InvalidInstanceAttributeValue.

                                                        */ - TotalHourlyPrice?: string; + InstanceType?: AttributeValue; /** - *

                                                        The total amount charged to your account when you purchase the reservation.

                                                        + *

                                                        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.

                                                        */ - TotalUpfrontPrice?: string; -} + Kernel?: AttributeValue; -export namespace PurchaseHostReservationResult { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: PurchaseHostReservationResult): any => ({ - ...obj, - }); -} + Ramdisk?: AttributeValue; -/** - *

                                                        Describes the limit price of a Reserved Instance offering.

                                                        - */ -export interface ReservedInstanceLimitPrice { /** - *

                                                        Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

                                                        + *

                                                        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.

                                                        */ - Amount?: number; + SriovNetSupport?: AttributeValue; /** - *

                                                        The currency in which the limitPrice amount is specified. - * At this time, the only supported currency is USD.

                                                        + *

                                                        Changes the instance's user data to the specified value. If you are using an Amazon Web Services 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.

                                                        */ - CurrencyCode?: CurrencyCodeValues | string; + UserData?: BlobAttributeValue; + + /** + *

                                                        A new value for the attribute. Use only with the kernel, + * ramdisk, userData, disableApiTermination, or + * instanceInitiatedShutdownBehavior attribute.

                                                        + */ + Value?: string; } -export namespace ReservedInstanceLimitPrice { +export namespace ModifyInstanceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstanceLimitPrice): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceAttributeRequest): any => ({ ...obj, }); } /** - *

                                                        Contains the parameters for PurchaseReservedInstancesOffering.

                                                        + *

                                                        Describes an instance's Capacity Reservation targeting option. You can specify only one parameter + * at a time. If you specify CapacityReservationPreference and + * CapacityReservationTarget, the request fails.

                                                        + *

                                                        Use the CapacityReservationPreference parameter to configure the instance + * to run as an On-Demand Instance or to run in any open Capacity Reservation that has + * matching attributes (instance type, platform, Availability Zone). Use the + * CapacityReservationTarget parameter to explicitly target a specific + * Capacity Reservation or a Capacity Reservation group.

                                                        */ -export interface PurchaseReservedInstancesOfferingRequest { +export interface CapacityReservationSpecification { /** - *

                                                        The number of Reserved Instances to purchase.

                                                        + *

                                                        Indicates the instance's Capacity Reservation preferences. Possible preferences include:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * none - The instance avoids running in a Capacity Reservation even if one is available. The + * instance runs as an On-Demand Instance.

                                                          + *
                                                        • + *
                                                        */ - InstanceCount: number | undefined; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

                                                        The ID of the Reserved Instance offering to purchase.

                                                        + *

                                                        Information about the target Capacity Reservation or Capacity Reservation group.

                                                        */ - ReservedInstancesOfferingId: string | undefined; + CapacityReservationTarget?: CapacityReservationTarget; +} +export namespace CapacityReservationSpecification { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: CapacityReservationSpecification): any => ({ + ...obj, + }); +} +export interface ModifyInstanceCapacityReservationAttributesRequest { /** - *

                                                        Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

                                                        + *

                                                        The ID of the instance to be modified.

                                                        */ - LimitPrice?: ReservedInstanceLimitPrice; + InstanceId: string | undefined; /** - *

                                                        The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                        + *

                                                        Information about the Capacity Reservation targeting option.

                                                        */ - PurchaseTime?: Date; + 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.

                                                        + */ + DryRun?: boolean; } -export namespace PurchaseReservedInstancesOfferingRequest { +export namespace ModifyInstanceCapacityReservationAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesRequest): any => ({ ...obj, }); } -/** - *

                                                        Contains the output of PurchaseReservedInstancesOffering.

                                                        - */ -export interface PurchaseReservedInstancesOfferingResult { +export interface ModifyInstanceCapacityReservationAttributesResult { /** - *

                                                        The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted - * pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing - * pricing tiers in the Amazon Elastic Compute Cloud User Guide.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - ReservedInstancesId?: string; + Return?: boolean; } -export namespace PurchaseReservedInstancesOfferingResult { +export namespace ModifyInstanceCapacityReservationAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesResult): any => ({ ...obj, }); } /** - *

                                                        Describes a request to purchase Scheduled Instances.

                                                        + *

                                                        Describes the credit option for CPU usage of a burstable performance instance.

                                                        */ -export interface PurchaseRequest { +export interface InstanceCreditSpecificationRequest { /** - *

                                                        The number of instances.

                                                        + *

                                                        The ID of the instance.

                                                        */ - InstanceCount: number | undefined; + InstanceId?: string; /** - *

                                                        The purchase token.

                                                        + *

                                                        The credit option for CPU usage of the instance. Valid values are + * standard and unlimited.

                                                        + *

                                                        T3 instances with host tenancy do not support the unlimited + * CPU credit option.

                                                        */ - PurchaseToken: string | undefined; + CpuCredits?: string; } -export namespace PurchaseRequest { +export namespace InstanceCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceCreditSpecificationRequest): any => ({ ...obj, }); } -/** - *

                                                        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 ModifyInstanceCreditSpecificationRequest { /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3705,1334 +3877,2908 @@ export interface PurchaseScheduledInstancesRequest { DryRun?: boolean; /** - *

                                                        The purchase requests.

                                                        + *

                                                        A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring + * Idempotency.

                                                        */ - PurchaseRequests: PurchaseRequest[] | undefined; + ClientToken?: string; + + /** + *

                                                        Information about the credit option for CPU usage.

                                                        + */ + InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; } -export namespace PurchaseScheduledInstancesRequest { +export namespace ModifyInstanceCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseScheduledInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationRequest): any => ({ ...obj, }); } /** - *

                                                        Contains the output of PurchaseScheduledInstances.

                                                        - */ -export interface PurchaseScheduledInstancesResult { + *

                                                        Describes the burstable performance instance whose credit option for CPU usage was + * successfully modified.

                                                        + */ +export interface SuccessfulInstanceCreditSpecificationItem { /** - *

                                                        Information about the Scheduled Instances.

                                                        + *

                                                        The ID of the instance.

                                                        */ - ScheduledInstanceSet?: ScheduledInstance[]; + InstanceId?: string; } -export namespace PurchaseScheduledInstancesResult { +export namespace SuccessfulInstanceCreditSpecificationItem { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseScheduledInstancesResult): any => ({ + export const filterSensitiveLog = (obj: SuccessfulInstanceCreditSpecificationItem): any => ({ ...obj, }); } -export interface RebootInstancesRequest { +export enum UnsuccessfulInstanceCreditSpecificationErrorCode { + INCORRECT_INSTANCE_STATE = "IncorrectInstanceState", + INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED = "InstanceCreditSpecification.NotSupported", + INSTANCE_NOT_FOUND = "InvalidInstanceID.NotFound", + INVALID_INSTANCE_ID = "InvalidInstanceID.Malformed", +} + +/** + *

                                                        Information about the error for the burstable performance instance whose credit option + * for CPU usage was not modified.

                                                        + */ +export interface UnsuccessfulInstanceCreditSpecificationItemError { /** - *

                                                        The instance IDs.

                                                        + *

                                                        The error code.

                                                        */ - InstanceIds: string[] | undefined; + Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | 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 applicable error message.

                                                        */ - DryRun?: boolean; + Message?: string; } -export namespace RebootInstancesRequest { +export namespace UnsuccessfulInstanceCreditSpecificationItemError { /** * @internal */ - export const filterSensitiveLog = (obj: RebootInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItemError): any => ({ ...obj, }); } /** - *

                                                        Contains the parameters for RegisterImage.

                                                        + *

                                                        Describes the burstable performance instance whose credit option for CPU usage was not + * modified.

                                                        */ -export interface RegisterImageRequest { - /** - *

                                                        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.

                                                        - */ - ImageLocation?: 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.

                                                        - */ - Architecture?: ArchitectureValues | string; - - /** - *

                                                        The block device mapping entries.

                                                        - *

                                                        If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

                                                        - *

                                                        If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region - * of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost - * only. For more information, - * Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

                                                        - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

                                                        A description for your AMI.

                                                        - */ - Description?: string; - +export interface UnsuccessfulInstanceCreditSpecificationItem { /** - *

                                                        Checks whether you have the required permissions for the action, without 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; /** - *

                                                        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 applicable error for the burstable performance instance whose credit option for + * CPU usage was not modified.

                                                        */ - EnaSupport?: boolean; + Error?: UnsuccessfulInstanceCreditSpecificationItemError; +} +export namespace UnsuccessfulInstanceCreditSpecificationItem { /** - *

                                                        The ID of the kernel.

                                                        + * @internal */ - KernelId?: string; + export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItem): any => ({ + ...obj, + }); +} +export interface ModifyInstanceCreditSpecificationResult { /** - *

                                                        A name for your AMI.

                                                        - *

                                                        Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

                                                        + *

                                                        Information about the instances whose credit option for CPU usage was successfully + * modified.

                                                        */ - Name: string | undefined; + SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; /** - *

                                                        The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, - * you can use the Amazon Web Services Marketplace to bill for the use of an AMI.

                                                        + *

                                                        Information about the instances whose credit option for CPU usage was not + * modified.

                                                        */ - BillingProducts?: string[]; + UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; +} +export namespace ModifyInstanceCreditSpecificationResult { /** - *

                                                        The ID of the RAM disk.

                                                        + * @internal */ - RamdiskId?: string; + export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationResult): any => ({ + ...obj, + }); +} +export interface ModifyInstanceEventStartTimeRequest { /** - *

                                                        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; /** - *

                                                        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 instance with the scheduled event.

                                                        */ - SriovNetSupport?: string; + InstanceId: string | undefined; /** - *

                                                        The type of virtualization (hvm | paravirtual).

                                                        - *

                                                        Default: paravirtual - *

                                                        + *

                                                        The ID of the event whose date and time you are modifying.

                                                        */ - VirtualizationType?: string; + InstanceEventId: string | undefined; /** - *

                                                        The boot mode of the AMI. For more information, see Boot modes in the - * Amazon Elastic Compute Cloud User Guide.

                                                        + *

                                                        The new date and time when the event will take place.

                                                        */ - BootMode?: BootModeValues | string; + NotBefore: Date | undefined; } -export namespace RegisterImageRequest { +export namespace ModifyInstanceEventStartTimeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterImageRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeRequest): any => ({ ...obj, }); } -/** - *

                                                        Contains the output of RegisterImage.

                                                        - */ -export interface RegisterImageResult { +export interface ModifyInstanceEventStartTimeResult { /** - *

                                                        The ID of the newly registered AMI.

                                                        + *

                                                        Describes a scheduled event for an instance.

                                                        */ - ImageId?: string; + Event?: InstanceStatusEvent; } -export namespace RegisterImageResult { +export namespace ModifyInstanceEventStartTimeResult { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterImageResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeResult): any => ({ ...obj, }); } -/** - *

                                                        Information about the tag keys to register for the current Region. You can either specify - * individual tag keys or register all tag keys in the current Region. You must specify either - * IncludeAllTagsOfInstance or InstanceTagKeys in the request

                                                        - */ -export interface RegisterInstanceTagAttributeRequest { +export interface ModifyInstanceEventWindowRequest { /** - *

                                                        Indicates whether to register all tag keys in the current Region. Specify true - * to register all tag keys.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - IncludeAllTagsOfInstance?: boolean; + DryRun?: boolean; /** - *

                                                        The tag keys to register.

                                                        + *

                                                        The name of the event window.

                                                        */ - InstanceTagKeys?: string[]; -} + Name?: string; -export namespace RegisterInstanceTagAttributeRequest { /** - * @internal + *

                                                        The ID of the event window.

                                                        */ - export const filterSensitiveLog = (obj: RegisterInstanceTagAttributeRequest): any => ({ - ...obj, - }); -} + InstanceEventWindowId: string | undefined; -export interface RegisterInstanceEventNotificationAttributesRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 ranges of the event window.

                                                        */ - DryRun?: boolean; + TimeRanges?: InstanceEventWindowTimeRangeRequest[]; /** - *

                                                        Information about the tag keys to register.

                                                        + *

                                                        The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          Only hour and day of the week values are supported.

                                                          + *
                                                        • + *
                                                        • + *

                                                          For day of the week values, you can specify either integers 0 through + * 6, or alternative single values SUN through + * SAT.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The minute, month, and year must be specified by *.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The hour value must be one or a multiple range, for example, 0-4 or + * 0-4,20-23.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Each hour range must be >= 2 hours, for example, 0-2 or + * 20-23.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The event window must be >= 4 hours. The combined total time ranges in the event + * window must be >= 4 hours.

                                                          + *
                                                        • + *
                                                        + *

                                                        For more information about cron expressions, see cron on the Wikipedia + * website.

                                                        */ - InstanceTagAttribute?: RegisterInstanceTagAttributeRequest; + CronExpression?: string; } -export namespace RegisterInstanceEventNotificationAttributesRequest { +export namespace ModifyInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventWindowRequest): any => ({ ...obj, }); } -export interface RegisterInstanceEventNotificationAttributesResult { +export interface ModifyInstanceEventWindowResult { /** - *

                                                        The resulting set of tag keys.

                                                        + *

                                                        Information about the event window.

                                                        */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + InstanceEventWindow?: InstanceEventWindow; } -export namespace RegisterInstanceEventNotificationAttributesResult { +export namespace ModifyInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventWindowResult): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupMembersRequest { - /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        - */ - GroupIpAddress?: string; - +export interface ModifyInstanceMetadataOptionsRequest { /** - *

                                                        The group members' network interface IDs to register with the transit gateway multicast group.

                                                        + *

                                                        The ID of the instance.

                                                        */ - NetworkInterfaceIds?: string[]; + 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.

                                                        + *

                                                        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 credential + * always returns the version 2.0 credentials; the version 1.0 credentials are not + * available.

                                                        */ - DryRun?: boolean; -} + HttpTokens?: HttpTokensState | string; -export namespace RegisterTransitGatewayMulticastGroupMembersRequest { /** - * @internal + *

                                                        The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

                                                        + *

                                                        Possible values: Integers from 1 to 64

                                                        */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersRequest): any => ({ - ...obj, - }); -} + HttpPutResponseHopLimit?: number; -/** - *

                                                        Describes the registered transit gateway multicast group members.

                                                        - */ -export interface TransitGatewayMulticastRegisteredGroupMembers { /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        + *

                                                        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 cannot access your + * instance metadata.

                                                        */ - TransitGatewayMulticastDomainId?: string; + HttpEndpoint?: InstanceMetadataEndpointState | string; /** - *

                                                        The ID of the registered network interfaces.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                        */ - RegisteredNetworkInterfaceIds?: string[]; + DryRun?: boolean; /** - *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        + *

                                                        Enables or disables the IPv6 endpoint for the instance metadata service. This setting + * applies only if you have enabled the HTTP metadata endpoint.

                                                        */ - GroupIpAddress?: string; + HttpProtocolIpv6?: InstanceMetadataProtocolState | string; } -export namespace TransitGatewayMulticastRegisteredGroupMembers { +export namespace ModifyInstanceMetadataOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupMembers): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsRequest): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupMembersResult { +export interface ModifyInstanceMetadataOptionsResult { /** - *

                                                        Information about the registered transit gateway multicast group members.

                                                        + *

                                                        The ID of the instance.

                                                        */ - RegisteredMulticastGroupMembers?: TransitGatewayMulticastRegisteredGroupMembers; + InstanceId?: string; + + /** + *

                                                        The metadata options for the instance.

                                                        + */ + InstanceMetadataOptions?: InstanceMetadataOptionsResponse; } -export namespace RegisterTransitGatewayMulticastGroupMembersResult { +export namespace ModifyInstanceMetadataOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsResult): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupSourcesRequest { +export type HostTenancy = "dedicated" | "host"; + +export interface ModifyInstancePlacementRequest { /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        + *

                                                        The affinity setting for the instance.

                                                        */ - TransitGatewayMulticastDomainId?: string; + Affinity?: Affinity | string; /** - *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        + *

                                                        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 + * ("").

                                                        */ - GroupIpAddress?: string; + GroupName?: string; /** - *

                                                        The group sources' network interface IDs to register with the transit gateway multicast group.

                                                        + *

                                                        The ID of the Dedicated Host with which to associate the instance.

                                                        */ - NetworkInterfaceIds?: string[]; + HostId?: 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 instance that you are modifying.

                                                        */ - DryRun?: boolean; -} + InstanceId: string | undefined; -export namespace RegisterTransitGatewayMulticastGroupSourcesRequest { /** - * @internal + *

                                                        The tenancy for the instance.

                                                        + * + * + *

                                                        For T3 instances, you can't change the tenancy from dedicated + * to host, or from host to dedicated. + * Attempting to make one of these unsupported tenancy changes results in the + * InvalidTenancy error code.

                                                        + *
                                                        */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesRequest): any => ({ - ...obj, - }); -} + Tenancy?: HostTenancy | string; -/** - *

                                                        Describes the members registered with the transit gateway multicast group.

                                                        - */ -export interface TransitGatewayMulticastRegisteredGroupSources { /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        + *

                                                        The number of the partition in which to place the instance. Valid only if the + * placement group strategy is set to partition.

                                                        */ - TransitGatewayMulticastDomainId?: string; + PartitionNumber?: number; /** - *

                                                        The IDs of the network interfaces members registered with the transit gateway multicast group.

                                                        + *

                                                        The ARN of the host resource group in which to place the instance.

                                                        */ - RegisteredNetworkInterfaceIds?: string[]; + HostResourceGroupArn?: string; +} +export namespace ModifyInstancePlacementRequest { /** - *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        + * @internal */ - GroupIpAddress?: string; + export const filterSensitiveLog = (obj: ModifyInstancePlacementRequest): any => ({ + ...obj, + }); } -export namespace TransitGatewayMulticastRegisteredGroupSources { +export interface ModifyInstancePlacementResult { + /** + *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        + */ + Return?: boolean; +} + +export namespace ModifyInstancePlacementResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupSources): any => ({ + export const filterSensitiveLog = (obj: ModifyInstancePlacementResult): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupSourcesResult { +/** + *

                                                        Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                        + *

                                                        For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide + *

                                                        + */ +export interface RemoveIpamOperatingRegion { /** - *

                                                        Information about the transit gateway multicast group sources.

                                                        + *

                                                        The name of the operating Region you want to remove.

                                                        */ - RegisteredMulticastGroupSources?: TransitGatewayMulticastRegisteredGroupSources; + RegionName?: string; } -export namespace RegisterTransitGatewayMulticastGroupSourcesResult { +export namespace RemoveIpamOperatingRegion { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesResult): any => ({ + export const filterSensitiveLog = (obj: RemoveIpamOperatingRegion): any => ({ ...obj, }); } -export interface RejectTransitGatewayMulticastDomainAssociationsRequest { +export interface ModifyIpamRequest { /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        + *

                                                        A check for whether you have the required permissions for the action without 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; /** - *

                                                        The ID of the transit gateway attachment.

                                                        + *

                                                        The ID of the IPAM you want to modify.

                                                        */ - TransitGatewayAttachmentId?: string; + IpamId: string | undefined; /** - *

                                                        The IDs of the subnets to associate with the transit gateway multicast domain.

                                                        + *

                                                        The description of the IPAM you want to modify.

                                                        */ - SubnetIds?: 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.

                                                        + *

                                                        Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                        + *

                                                        For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

                                                        */ - DryRun?: boolean; + AddOperatingRegions?: AddIpamOperatingRegion[]; + + /** + *

                                                        The operating Regions to remove.

                                                        + */ + RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; } -export namespace RejectTransitGatewayMulticastDomainAssociationsRequest { +export namespace ModifyIpamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamRequest): any => ({ ...obj, }); } -export interface RejectTransitGatewayMulticastDomainAssociationsResult { +export interface ModifyIpamResult { /** - *

                                                        Describes the multicast domain associations.

                                                        + *

                                                        The results of the modification.

                                                        */ - Associations?: TransitGatewayMulticastDomainAssociations; + Ipam?: Ipam; } -export namespace RejectTransitGatewayMulticastDomainAssociationsResult { +export namespace ModifyIpamResult { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamResult): any => ({ ...obj, }); } -export interface RejectTransitGatewayPeeringAttachmentRequest { - /** - *

                                                        The ID of the transit gateway peering attachment.

                                                        - */ - TransitGatewayAttachmentId: string | undefined; - +export interface ModifyIpamPoolRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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 RejectTransitGatewayPeeringAttachmentRequest { /** - * @internal + *

                                                        The ID of the IPAM pool you want to modify.

                                                        */ - export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentRequest): any => ({ - ...obj, - }); -} + IpamPoolId: string | undefined; -export interface RejectTransitGatewayPeeringAttachmentResult { /** - *

                                                        The transit gateway peering attachment.

                                                        + *

                                                        The description of the IPAM pool you want to modify.

                                                        */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; -} + Description?: string; -export namespace RejectTransitGatewayPeeringAttachmentResult { /** - * @internal + *

                                                        If true, IPAM will continuously look for resources within the CIDR range of this pool + * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for + * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import + * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently + * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM + * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. + *

                                                        + *

                                                        A locale must be set on the pool for this feature to work.

                                                        */ - export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentResult): any => ({ - ...obj, - }); -} + AutoImport?: boolean; -export interface RejectTransitGatewayVpcAttachmentRequest { /** - *

                                                        The ID of the attachment.

                                                        + *

                                                        The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible + * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask + * length must be less than the maximum netmask length.

                                                        */ - TransitGatewayAttachmentId: string | undefined; + AllocationMinNetmaskLength?: 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 maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible + * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask + * length must be greater than the minimum netmask length.

                                                        */ - DryRun?: boolean; + AllocationMaxNetmaskLength?: number; + + /** + *

                                                        The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

                                                        + */ + AllocationDefaultNetmaskLength?: number; + + /** + *

                                                        Clear the default netmask length allocation rule for this pool.

                                                        + */ + ClearAllocationDefaultNetmaskLength?: boolean; + + /** + *

                                                        Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

                                                        + */ + AddAllocationResourceTags?: RequestIpamResourceTag[]; + + /** + *

                                                        Remove tag allocation rules from a pool.

                                                        + */ + RemoveAllocationResourceTags?: RequestIpamResourceTag[]; } -export namespace RejectTransitGatewayVpcAttachmentRequest { +export namespace ModifyIpamPoolRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamPoolRequest): any => ({ ...obj, }); } -export interface RejectTransitGatewayVpcAttachmentResult { +export interface ModifyIpamPoolResult { /** - *

                                                        Information about the attachment.

                                                        + *

                                                        The results of the modification.

                                                        */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + IpamPool?: IpamPool; } -export namespace RejectTransitGatewayVpcAttachmentResult { +export namespace ModifyIpamPoolResult { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamPoolResult): any => ({ ...obj, }); } -export interface RejectVpcEndpointConnectionsRequest { +export interface ModifyIpamResourceCidrRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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 service.

                                                        + *

                                                        The ID of the resource you want to modify.

                                                        */ - ServiceId: string | undefined; + ResourceId: string | undefined; /** - *

                                                        The IDs of one or more VPC endpoints.

                                                        + *

                                                        The CIDR of the resource you want to modify.

                                                        */ - VpcEndpointIds: string[] | undefined; + ResourceCidr: string | undefined; + + /** + *

                                                        The Amazon Web Services Region of the resource you want to modify.

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

                                                        The ID of the current scope that the resource CIDR is in.

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

                                                        The ID of the scope you want to transfer the resource CIDR to.

                                                        + */ + DestinationIpamScopeId?: string; + + /** + *

                                                        Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

                                                        + */ + Monitored: boolean | undefined; } -export namespace RejectVpcEndpointConnectionsRequest { +export namespace ModifyIpamResourceCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamResourceCidrRequest): any => ({ ...obj, }); } -export interface RejectVpcEndpointConnectionsResult { +export interface ModifyIpamResourceCidrResult { /** - *

                                                        Information about the endpoints that were not rejected, if applicable.

                                                        + *

                                                        The CIDR for an IPAM resource.

                                                        */ - Unsuccessful?: UnsuccessfulItem[]; + IpamResourceCidr?: IpamResourceCidr; } -export namespace RejectVpcEndpointConnectionsResult { +export namespace ModifyIpamResourceCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamResourceCidrResult): any => ({ ...obj, }); } -export interface RejectVpcPeeringConnectionRequest { +export interface ModifyIpamScopeRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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.

                                                        + *

                                                        The ID of the scope you want to modify.

                                                        */ - VpcPeeringConnectionId: string | undefined; -} + IpamScopeId: string | undefined; -export namespace RejectVpcPeeringConnectionRequest { + /** + *

                                                        The description of the scope you want to modify.

                                                        + */ + Description?: string; +} + +export namespace ModifyIpamScopeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamScopeRequest): any => ({ ...obj, }); } -export interface RejectVpcPeeringConnectionResult { +export interface ModifyIpamScopeResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        The results of the modification.

                                                        */ - Return?: boolean; + IpamScope?: IpamScope; } -export namespace RejectVpcPeeringConnectionResult { +export namespace ModifyIpamScopeResult { /** * @internal */ - export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionResult): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamScopeResult): any => ({ ...obj, }); } -export interface ReleaseAddressRequest { +export interface ModifyLaunchTemplateRequest { /** - *

                                                        [EC2-VPC] The allocation ID. Required for EC2-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.

                                                        */ - AllocationId?: string; + DryRun?: boolean; /** - *

                                                        [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                        + *

                                                        Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                                                        + *

                                                        Constraint: Maximum 128 ASCII characters.

                                                        */ - PublicIp?: string; + ClientToken?: string; /** - *

                                                        The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises - * IP addresses.

                                                        - *

                                                        If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

                                                        - *

                                                        You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you - * receive an InvalidParameterCombination error.

                                                        + *

                                                        The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                                                        */ - NetworkBorderGroup?: string; + 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.

                                                        + *

                                                        The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                                                        */ - DryRun?: boolean; + LaunchTemplateName?: string; + + /** + *

                                                        The version number of the launch template to set as the default version.

                                                        + */ + DefaultVersion?: string; } -export namespace ReleaseAddressRequest { +export namespace ModifyLaunchTemplateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseAddressRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyLaunchTemplateRequest): any => ({ ...obj, }); } -export interface ReleaseHostsRequest { +export interface ModifyLaunchTemplateResult { /** - *

                                                        The IDs of the Dedicated Hosts to release.

                                                        + *

                                                        Information about the launch template.

                                                        */ - HostIds: string[] | undefined; + LaunchTemplate?: LaunchTemplate; } -export namespace ReleaseHostsRequest { +export namespace ModifyLaunchTemplateResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseHostsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyLaunchTemplateResult): any => ({ ...obj, }); } -export interface ReleaseHostsResult { - /** - *

                                                        The IDs of the Dedicated Hosts that were successfully released.

                                                        - */ - Successful?: string[]; - +/** + *

                                                        An entry for a prefix list.

                                                        + */ +export interface RemovePrefixListEntry { /** - *

                                                        The IDs of the Dedicated Hosts that could not be released, including an error - * message.

                                                        + *

                                                        The CIDR block.

                                                        */ - Unsuccessful?: UnsuccessfulItem[]; + Cidr: string | undefined; } -export namespace ReleaseHostsResult { +export namespace RemovePrefixListEntry { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseHostsResult): any => ({ + export const filterSensitiveLog = (obj: RemovePrefixListEntry): any => ({ ...obj, }); } -export interface ReplaceIamInstanceProfileAssociationRequest { - /** - *

                                                        The IAM instance profile.

                                                        - */ - IamInstanceProfile: IamInstanceProfileSpecification | undefined; - +export interface ModifyManagedPrefixListRequest { /** - *

                                                        The ID of the existing IAM instance profile 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 | undefined; -} + DryRun?: boolean; -export namespace ReplaceIamInstanceProfileAssociationRequest { /** - * @internal + *

                                                        The ID of the prefix list.

                                                        */ - export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationRequest): any => ({ - ...obj, - }); -} + PrefixListId: string | undefined; -export interface ReplaceIamInstanceProfileAssociationResult { /** - *

                                                        Information about the IAM instance profile association.

                                                        + *

                                                        The current version of the prefix list.

                                                        */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; -} + CurrentVersion?: number; -export namespace ReplaceIamInstanceProfileAssociationResult { /** - * @internal + *

                                                        A name for the prefix list.

                                                        */ - export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationResult): any => ({ - ...obj, - }); -} + PrefixListName?: string; -export interface ReplaceNetworkAclAssociationRequest { /** - *

                                                        The ID of the current association between the original network ACL and the subnet.

                                                        + *

                                                        One or more entries to add to the prefix list.

                                                        */ - AssociationId: string | undefined; + AddEntries?: AddPrefixListEntry[]; /** - *

                                                        Checks whether you have the required permissions for the action, without 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 entries to remove from the prefix list.

                                                        */ - DryRun?: boolean; + RemoveEntries?: RemovePrefixListEntry[]; /** - *

                                                        The ID of the new network ACL to associate with the subnet.

                                                        + *

                                                        The maximum number of entries for the prefix list. You cannot modify the entries + * of a prefix list and modify the size of a prefix list at the same time.

                                                        + *

                                                        If any of the resources that reference the prefix list cannot support the new + * maximum size, the modify operation fails. Check the state message for the IDs of + * the first ten resources that do not support the new maximum size.

                                                        */ - NetworkAclId: string | undefined; + MaxEntries?: number; } -export namespace ReplaceNetworkAclAssociationRequest { +export namespace ModifyManagedPrefixListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyManagedPrefixListRequest): any => ({ ...obj, }); } -export interface ReplaceNetworkAclAssociationResult { +export interface ModifyManagedPrefixListResult { /** - *

                                                        The ID of the new association.

                                                        + *

                                                        Information about the prefix list.

                                                        */ - NewAssociationId?: string; + PrefixList?: ManagedPrefixList; } -export namespace ReplaceNetworkAclAssociationResult { +export namespace ModifyManagedPrefixListResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyManagedPrefixListResult): any => ({ ...obj, }); } -export interface ReplaceNetworkAclEntryRequest { - /** - *

                                                        The IPv4 network range to allow or deny, in CIDR notation (for example - * 172.16.0.0/24).

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

                                                        Describes an attachment change.

                                                        + */ +export interface NetworkInterfaceAttachmentChanges { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 attachment.

                                                        */ - DryRun?: boolean; + AttachmentId?: string; /** - *

                                                        Indicates whether to replace the egress rule.

                                                        - *

                                                        Default: If no value is specified, we replace the ingress rule.

                                                        + *

                                                        Indicates whether the network interface is deleted when the instance is terminated.

                                                        */ - Egress: boolean | undefined; + DeleteOnTermination?: boolean; +} +export namespace NetworkInterfaceAttachmentChanges { /** - *

                                                        ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

                                                        + * @internal */ - IcmpTypeCode?: IcmpTypeCode; + export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for ModifyNetworkInterfaceAttribute.

                                                        + */ +export interface ModifyNetworkInterfaceAttributeRequest { /** - *

                                                        The IPv6 network range to allow or deny, in CIDR notation (for example - * 2001:bd8:1234:1a00::/64).

                                                        + *

                                                        Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

                                                        */ - Ipv6CidrBlock?: string; + Attachment?: NetworkInterfaceAttachmentChanges; /** - *

                                                        The ID of the ACL.

                                                        + *

                                                        A description for the network interface.

                                                        */ - NetworkAclId: string | undefined; + Description?: AttributeValue; /** - *

                                                        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; /** - *

                                                        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.

                                                        + *

                                                        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.

                                                        */ - Protocol: string | undefined; + Groups?: string[]; /** - *

                                                        Indicates whether to allow or deny the traffic that matches the rule.

                                                        + *

                                                        The ID of the network interface.

                                                        */ - RuleAction: RuleAction | string | undefined; + NetworkInterfaceId: string | undefined; /** - *

                                                        The rule number of the entry to replace.

                                                        + *

                                                        Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

                                                        */ - RuleNumber: number | undefined; + SourceDestCheck?: AttributeBooleanValue; } -export namespace ReplaceNetworkAclEntryRequest { +export namespace ModifyNetworkInterfaceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceNetworkAclEntryRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyNetworkInterfaceAttributeRequest): any => ({ ...obj, }); } -export interface ReplaceRouteRequest { +export interface ModifyPrivateDnsNameOptionsRequest { /** - *

                                                        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.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 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.

                                                        + *

                                                        The ID of the instance.

                                                        */ - DestinationIpv6CidrBlock?: string; + InstanceId?: string; /** - *

                                                        The ID of the prefix list for the route.

                                                        + *

                                                        The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be + * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based + * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance + * IPv4 address or the instance ID.

                                                        */ - DestinationPrefixListId?: string; + PrivateDnsHostnameType?: HostnameType | 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.

                                                        + *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                                        */ - DryRun?: boolean; + EnableResourceNameDnsARecord?: boolean; /** - *

                                                        The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

                                                        + *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                                        */ - VpcEndpointId?: string; + EnableResourceNameDnsAAAARecord?: boolean; +} +export namespace ModifyPrivateDnsNameOptionsRequest { /** - *

                                                        [IPv6 traffic only] The ID of an egress-only internet gateway.

                                                        + * @internal */ - EgressOnlyInternetGatewayId?: string; + export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsRequest): any => ({ + ...obj, + }); +} +export interface ModifyPrivateDnsNameOptionsResult { /** - *

                                                        The ID of an internet gateway or virtual private gateway.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - GatewayId?: string; + Return?: boolean; +} +export namespace ModifyPrivateDnsNameOptionsResult { /** - *

                                                        The ID of a NAT instance in your VPC.

                                                        + * @internal */ - InstanceId?: string; + export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for ModifyReservedInstances.

                                                        + */ +export interface ModifyReservedInstancesRequest { /** - *

                                                        Specifies whether to reset the local route to its default target (local).

                                                        + *

                                                        The IDs of the Reserved Instances to modify.

                                                        */ - LocalTarget?: boolean; + ReservedInstancesIds: string[] | undefined; /** - *

                                                        [IPv4 traffic only] The ID of a NAT gateway.

                                                        + *

                                                        A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see + * Ensuring Idempotency.

                                                        */ - NatGatewayId?: string; + ClientToken?: string; /** - *

                                                        The ID of a transit gateway.

                                                        + *

                                                        The configuration settings for the Reserved Instances to modify.

                                                        */ - TransitGatewayId?: string; + TargetConfigurations: ReservedInstancesConfiguration[] | undefined; +} +export namespace ModifyReservedInstancesRequest { /** - *

                                                        The ID of the local gateway.

                                                        + * @internal */ - LocalGatewayId?: string; + export const filterSensitiveLog = (obj: ModifyReservedInstancesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the output of ModifyReservedInstances.

                                                        + */ +export interface ModifyReservedInstancesResult { /** - *

                                                        [IPv4 traffic only] The ID of a carrier gateway.

                                                        + *

                                                        The ID for the modification.

                                                        */ - CarrierGatewayId?: string; + ReservedInstancesModificationId?: string; +} +export namespace ModifyReservedInstancesResult { /** - *

                                                        The ID of a network interface.

                                                        + * @internal */ - NetworkInterfaceId?: string; + export const filterSensitiveLog = (obj: ModifyReservedInstancesResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a security group rule.

                                                        + *

                                                        You must specify exactly one of the following parameters, based on the rule type:

                                                        + *
                                                          + *
                                                        • + *

                                                          CidrIpv4

                                                          + *
                                                        • + *
                                                        • + *

                                                          CidrIpv6

                                                          + *
                                                        • + *
                                                        • + *

                                                          PrefixListId

                                                          + *
                                                        • + *
                                                        • + *

                                                          ReferencedGroupId

                                                          + *
                                                        • + *
                                                        + *

                                                        When you modify a rule, you cannot change the rule type. For example, if the rule + * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 + * address range.

                                                        + */ +export interface SecurityGroupRuleRequest { /** - *

                                                        The ID of the route table.

                                                        + *

                                                        The IP protocol name (tcp, udp, icmp, + * icmpv6) or number (see Protocol Numbers).

                                                        + *

                                                        Use -1 to specify all protocols.

                                                        */ - RouteTableId: string | undefined; + IpProtocol?: string; /** - *

                                                        The ID of a VPC peering connection.

                                                        + *

                                                        The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

                                                        */ - VpcPeeringConnectionId?: string; + FromPort?: number; /** - *

                                                        The Amazon Resource Name (ARN) of the core network.

                                                        + *

                                                        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.

                                                        */ - CoreNetworkArn?: string; -} + ToPort?: number; -export namespace ReplaceRouteRequest { /** - * @internal + *

                                                        The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

                                                        */ - export const filterSensitiveLog = (obj: ReplaceRouteRequest): any => ({ - ...obj, - }); -} + CidrIpv4?: string; -export interface ReplaceRouteTableAssociationRequest { /** - *

                                                        The association ID.

                                                        + *

                                                        The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

                                                        */ - AssociationId: string | undefined; + CidrIpv6?: 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 prefix list.

                                                        */ - DryRun?: boolean; + PrefixListId?: string; /** - *

                                                        The ID of the new route table to associate with the subnet.

                                                        + *

                                                        The ID of the security group that is referenced in the security group rule.

                                                        */ - RouteTableId: string | undefined; + ReferencedGroupId?: string; + + /** + *

                                                        The description of the security group rule.

                                                        + */ + Description?: string; } -export namespace ReplaceRouteTableAssociationRequest { +export namespace SecurityGroupRuleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: SecurityGroupRuleRequest): any => ({ ...obj, }); } -export interface ReplaceRouteTableAssociationResult { +/** + *

                                                        Describes an update to a security group rule.

                                                        + */ +export interface SecurityGroupRuleUpdate { /** - *

                                                        The ID of the new association.

                                                        + *

                                                        The ID of the security group rule.

                                                        */ - NewAssociationId?: string; + SecurityGroupRuleId?: string; /** - *

                                                        The state of the association.

                                                        + *

                                                        Information about the security group rule.

                                                        */ - AssociationState?: RouteTableAssociationState; + SecurityGroupRule?: SecurityGroupRuleRequest; } -export namespace ReplaceRouteTableAssociationResult { +export namespace SecurityGroupRuleUpdate { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationResult): any => ({ + export const filterSensitiveLog = (obj: SecurityGroupRuleUpdate): any => ({ ...obj, }); } -export interface ReplaceTransitGatewayRouteRequest { +export interface ModifySecurityGroupRulesRequest { /** - *

                                                        The CIDR range used for the destination match. Routing decisions are based on the most specific match.

                                                        + *

                                                        The ID of the security group.

                                                        */ - DestinationCidrBlock: string | undefined; + GroupId: string | undefined; /** - *

                                                        The ID of the route table.

                                                        + *

                                                        Information about the security group properties to update.

                                                        */ - TransitGatewayRouteTableId: string | undefined; + SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; /** - *

                                                        The ID of the 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.

                                                        */ - TransitGatewayAttachmentId?: string; + DryRun?: boolean; +} +export namespace ModifySecurityGroupRulesRequest { /** - *

                                                        Indicates whether traffic matching this route is to be dropped.

                                                        + * @internal */ - Blackhole?: boolean; + export const filterSensitiveLog = (obj: ModifySecurityGroupRulesRequest): any => ({ + ...obj, + }); +} +export interface ModifySecurityGroupRulesResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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, returns an error.

                                                        */ - DryRun?: boolean; + Return?: boolean; } -export namespace ReplaceTransitGatewayRouteRequest { +export namespace ModifySecurityGroupRulesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: ModifySecurityGroupRulesResult): any => ({ ...obj, }); } -export interface ReplaceTransitGatewayRouteResult { +/** + *

                                                        Describes modifications to the list of create volume permissions for a volume.

                                                        + */ +export interface CreateVolumePermissionModifications { /** - *

                                                        Information about the modified route.

                                                        + *

                                                        Adds the specified Amazon Web Services account ID or group to the list.

                                                        */ - Route?: TransitGatewayRoute; + Add?: CreateVolumePermission[]; + + /** + *

                                                        Removes the specified Amazon Web Services account ID or group from the list.

                                                        + */ + Remove?: CreateVolumePermission[]; } -export namespace ReplaceTransitGatewayRouteResult { +export namespace CreateVolumePermissionModifications { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: CreateVolumePermissionModifications): any => ({ ...obj, }); } -export type ReportInstanceReasonCodes = - | "instance-stuck-in-state" - | "not-accepting-credentials" - | "other" - | "password-not-available" - | "performance-ebs-volume" - | "performance-instance-store" - | "performance-network" - | "performance-other" - | "unresponsive"; +export interface ModifySnapshotAttributeRequest { + /** + *

                                                        The snapshot attribute to modify. Only volume creation permissions can be modified.

                                                        + */ + Attribute?: SnapshotAttributeName | string; -export type ReportStatusType = "impaired" | "ok"; + /** + *

                                                        A JSON representation of the snapshot attribute modification.

                                                        + */ + CreateVolumePermission?: CreateVolumePermissionModifications; -export interface ReportInstanceStatusRequest { /** - *

                                                        Descriptive text about the health state of your instance.

                                                        + *

                                                        The group to modify for the snapshot.

                                                        */ - Description?: string; + 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.

                                                        + *

                                                        The type of operation to perform to the attribute.

                                                        */ - DryRun?: boolean; + OperationType?: OperationType | string; /** - *

                                                        The time at which the reported instance health state ended.

                                                        + *

                                                        The ID of the snapshot.

                                                        */ - EndTime?: Date; + SnapshotId: string | undefined; /** - *

                                                        The instances.

                                                        + *

                                                        The account ID to modify for the snapshot.

                                                        */ - Instances: string[] | undefined; + UserIds?: string[]; /** - *

                                                        The reason codes that describe the health state of your instance.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * instance-stuck-in-state: My instance is stuck in a state.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * unresponsive: My instance is unresponsive.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * not-accepting-credentials: My instance is not accepting my - * credentials.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * password-not-available: A password is not available for my - * instance.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * performance-network: My instance is experiencing performance - * problems that I believe are network related.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * performance-instance-store: My instance is experiencing performance - * problems that I believe are related to the instance stores.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * performance-ebs-volume: My instance is experiencing performance - * problems that I believe are related to an EBS volume.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * performance-other: My instance is experiencing performance - * problems.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * other: [explain using the description parameter]

                                                          - *
                                                        • - *
                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - ReasonCodes: (ReportInstanceReasonCodes | string)[] | undefined; + DryRun?: boolean; +} +export namespace ModifySnapshotAttributeRequest { /** - *

                                                        The time at which the reported instance health state began.

                                                        + * @internal */ - StartTime?: Date; + export const filterSensitiveLog = (obj: ModifySnapshotAttributeRequest): any => ({ + ...obj, + }); +} + +export enum TargetStorageTier { + archive = "archive", +} + +export interface ModifySnapshotTierRequest { + /** + *

                                                        The ID of the snapshot.

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

                                                        The status of all instances listed.

                                                        + *

                                                        The name of the storage tier. You must specify archive.

                                                        */ - Status: ReportStatusType | string | undefined; + StorageTier?: TargetStorageTier | 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 ReportInstanceStatusRequest { +export namespace ModifySnapshotTierRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReportInstanceStatusRequest): any => ({ + export const filterSensitiveLog = (obj: ModifySnapshotTierRequest): any => ({ ...obj, }); } -/** - *

                                                        Contains the parameters for RequestSpotFleet.

                                                        - */ -export interface RequestSpotFleetRequest { +export interface ModifySnapshotTierResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 snapshot.

                                                        */ - DryRun?: boolean; + SnapshotId?: string; /** - *

                                                        The configuration for the Spot Fleet request.

                                                        + *

                                                        The date and time when the archive process was started.

                                                        */ - SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; + TieringStartTime?: Date; } -export namespace RequestSpotFleetRequest { +export namespace ModifySnapshotTierResult { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotFleetRequest): any => ({ + export const filterSensitiveLog = (obj: ModifySnapshotTierResult): any => ({ ...obj, }); } /** - *

                                                        Contains the output of RequestSpotFleet.

                                                        + *

                                                        Contains the parameters for ModifySpotFleetRequest.

                                                        */ -export interface RequestSpotFleetResponse { +export interface ModifySpotFleetRequestRequest { + /** + *

                                                        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 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.

                                                        + */ + LaunchTemplateConfigs?: LaunchTemplateConfig[]; + /** *

                                                        The ID of the Spot Fleet request.

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

                                                        The size of the fleet.

                                                        + */ + TargetCapacity?: number; + + /** + *

                                                        The number of On-Demand Instances in the fleet.

                                                        + */ + OnDemandTargetCapacity?: number; + + /** + *

                                                        Reserved.

                                                        + */ + Context?: string; } -export namespace RequestSpotFleetResponse { +export namespace ModifySpotFleetRequestRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotFleetResponse): any => ({ + export const filterSensitiveLog = (obj: ModifySpotFleetRequestRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the launch specification for an instance.

                                                        + *

                                                        Contains the output of ModifySpotFleetRequest.

                                                        */ -export interface RequestSpotLaunchSpecification { +export interface ModifySpotFleetRequestResponse { /** - *

                                                        One or more security group IDs.

                                                        + *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        */ - SecurityGroupIds?: string[]; + Return?: boolean; +} +export namespace ModifySpotFleetRequestResponse { /** - *

                                                        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.

                                                        + * @internal */ - SecurityGroups?: string[]; + export const filterSensitiveLog = (obj: ModifySpotFleetRequestResponse): any => ({ + ...obj, + }); +} +export interface ModifySubnetAttributeRequest { /** - *

                                                        Deprecated.

                                                        + *

                                                        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.

                                                        */ - AddressingType?: string; + AssignIpv6AddressOnCreation?: AttributeBooleanValue; /** - *

                                                        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.

                                                        + *

                                                        Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a public IPv4 address.

                                                        */ - BlockDeviceMappings?: BlockDeviceMapping[]; + MapPublicIpOnLaunch?: AttributeBooleanValue; /** - *

                                                        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 subnet.

                                                        */ - EbsOptimized?: boolean; + SubnetId: string | undefined; /** - *

                                                        The IAM instance profile.

                                                        + *

                                                        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.

                                                        */ - IamInstanceProfile?: IamInstanceProfileSpecification; + MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; /** - *

                                                        The ID of the AMI.

                                                        + *

                                                        The customer-owned IPv4 address pool associated with the subnet.

                                                        + *

                                                        You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

                                                        */ - ImageId?: string; + CustomerOwnedIpv4Pool?: string; /** - *

                                                        The instance type.

                                                        + *

                                                        Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet + * should return synthetic IPv6 addresses for IPv4-only destinations.

                                                        */ - InstanceType?: _InstanceType | string; + EnableDns64?: AttributeBooleanValue; /** - *

                                                        The ID of the kernel.

                                                        + *

                                                        The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an + * instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance + * DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS + * names use the instance IPv4 address or the instance ID.

                                                        */ - KernelId?: string; + PrivateDnsHostnameTypeOnLaunch?: HostnameType | string; /** - *

                                                        The name of the key pair.

                                                        + *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                                        */ - KeyName?: string; + EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue; /** - *

                                                        Indicates whether basic or detailed monitoring is enabled for the instance.

                                                        - *

                                                        Default: Disabled

                                                        + *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                                        */ - Monitoring?: RunInstancesMonitoringEnabled; + EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue; /** - *

                                                        One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

                                                        + *

                                                        + * Indicates the device position for local network interfaces in this subnet. For example, + * 1 indicates local network interfaces in this subnet are the secondary + * network interface (eth1). A local network interface cannot be the primary network + * interface (eth0). + *

                                                        */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + EnableLniAtDeviceIndex?: number; /** - *

                                                        The placement information for the instance.

                                                        + *

                                                        + * Specify true to indicate that local network interfaces at the current + * position should be disabled. + *

                                                        */ - Placement?: SpotPlacement; + DisableLniAtDeviceIndex?: AttributeBooleanValue; +} +export namespace ModifySubnetAttributeRequest { /** - *

                                                        The ID of the RAM disk.

                                                        + * @internal */ - RamdiskId?: string; + export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ + ...obj, + }); +} +export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** - *

                                                        The ID of the subnet in which to launch the instance.

                                                        + *

                                                        The ID of the Traffic Mirror filter.

                                                        */ - SubnetId?: string; + TrafficMirrorFilterId: string | undefined; /** - *

                                                        The Base64-encoded user data for the instance. User data is limited to 16 KB.

                                                        + *

                                                        The network service, for example Amazon DNS, that you want to mirror.

                                                        */ - UserData?: string; -} + AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; -export namespace RequestSpotLaunchSpecification { /** - * @internal + *

                                                        The network service, for example Amazon DNS, that you no longer want to mirror.

                                                        */ - export const filterSensitiveLog = (obj: RequestSpotLaunchSpecification): any => ({ - ...obj, - }); -} + RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; -/** - *

                                                        Contains the parameters for RequestSpotInstances.

                                                        - */ -export interface RequestSpotInstancesRequest { /** - *

                                                        The user-specified name for a logical grouping of requests.

                                                        - *

                                                        When you specify an Availability Zone group in a Spot Instance request, all Spot - * Instances in the request are launched in the same Availability Zone. Instance proximity - * is maintained with this parameter, but the choice of Availability Zone is not. The group - * applies only to requests for Spot Instances of the same instance type. Any additional - * Spot Instance requests that are specified with the same Availability Zone group name are - * launched in that same Availability Zone, as long as at least one instance from the group - * is still active.

                                                        - *

                                                        If there is no active instance running in the Availability Zone group that you specify - * for a new Spot Instance request (all instances are terminated, the request is expired, - * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches - * the instance in any Availability Zone where the constraint can be met. Consequently, the - * subsequent set of Spot Instances could be placed in a different zone from the original - * request, even if you specified the same Availability Zone group.

                                                        - *

                                                        Default: Instances are launched in any available 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.

                                                        + */ + DryRun?: boolean; +} + +export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { + /** + * @internal + */ + 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 { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ + ...obj, + }); +} + +export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; + +export interface ModifyTrafficMirrorFilterRuleRequest { + /** + *

                                                        The ID of the Traffic Mirror rule.

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

                                                        The type of traffic to assign to the rule.

                                                        + */ + TrafficDirection?: TrafficDirection | 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 action to assign to the rule.

                                                        + */ + RuleAction?: TrafficMirrorRuleAction | string; + + /** + *

                                                        The destination ports that are associated with the Traffic Mirror rule.

                                                        + */ + DestinationPortRange?: TrafficMirrorPortRangeRequest; + + /** + *

                                                        The port range to assign to the Traffic Mirror rule.

                                                        + */ + SourcePortRange?: TrafficMirrorPortRangeRequest; + + /** + *

                                                        The protocol, for example TCP, to assign to the Traffic Mirror rule.

                                                        + */ + Protocol?: number; + + /** + *

                                                        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 description to assign to the Traffic Mirror rule.

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

                                                        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)[]; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 ModifyTrafficMirrorFilterRuleRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorFilterRuleResult { + /** + *

                                                        Modifies a Traffic Mirror rule.

                                                        + */ + TrafficMirrorFilterRule?: TrafficMirrorFilterRule; +} + +export namespace ModifyTrafficMirrorFilterRuleResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleResult): any => ({ + ...obj, + }); +} + +export type TrafficMirrorSessionField = "description" | "packet-length" | "virtual-network-id"; + +export interface ModifyTrafficMirrorSessionRequest { + /** + *

                                                        The ID of the Traffic Mirror session.

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

                                                        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; + + /** + *

                                                        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.

                                                        + */ + 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.

                                                        + */ + SessionNumber?: number; + + /** + *

                                                        The virtual network ID of the Traffic Mirror session.

                                                        + */ + VirtualNetworkId?: number; + + /** + *

                                                        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)[]; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 ModifyTrafficMirrorSessionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorSessionResult { + /** + *

                                                        Information about the Traffic Mirror session.

                                                        + */ + TrafficMirrorSession?: TrafficMirrorSession; +} + +export namespace ModifyTrafficMirrorSessionResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        The transit gateway options.

                                                        + */ +export interface ModifyTransitGatewayOptions { + /** + *

                                                        Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

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

                                                        Removes CIDR blocks for the transit gateway.

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

                                                        Enable or disable Equal Cost Multipath Protocol support.

                                                        + */ + VpnEcmpSupport?: VpnEcmpSupportValue | string; + + /** + *

                                                        Enable or disable DNS support.

                                                        + */ + DnsSupport?: DnsSupportValue | string; + + /** + *

                                                        Enable or disable automatic acceptance of attachment requests.

                                                        + */ + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + + /** + *

                                                        Enable or disable automatic association with the default association route table.

                                                        + */ + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + + /** + *

                                                        The ID of the default association route table.

                                                        + */ + AssociationDefaultRouteTableId?: string; + + /** + *

                                                        Enable or disable automatic propagation of routes to the default propagation route table.

                                                        + */ + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + + /** + *

                                                        The ID of the default propagation route table.

                                                        + */ + PropagationDefaultRouteTableId?: string; +} + +export namespace ModifyTransitGatewayOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayOptions): any => ({ + ...obj, + }); +} + +export interface ModifyTransitGatewayRequest { + /** + *

                                                        The ID of the transit gateway.

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

                                                        The description for the transit gateway.

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

                                                        The options to modify.

                                                        + */ + Options?: ModifyTransitGatewayOptions; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 ModifyTransitGatewayRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTransitGatewayResult { + /** + *

                                                        Describes a transit gateway.

                                                        + */ + TransitGateway?: TransitGateway; +} + +export namespace ModifyTransitGatewayResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayResult): any => ({ + ...obj, + }); +} + +export interface ModifyTransitGatewayPrefixListReferenceRequest { + /** + *

                                                        The ID of the transit gateway route table.

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

                                                        The ID of the prefix list.

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

                                                        The ID of the attachment to which traffic is routed.

                                                        + */ + TransitGatewayAttachmentId?: string; + + /** + *

                                                        Indicates whether to drop traffic that matches this route.

                                                        + */ + Blackhole?: 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 ModifyTransitGatewayPrefixListReferenceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTransitGatewayPrefixListReferenceResult { + /** + *

                                                        Information about the prefix list reference.

                                                        + */ + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; +} + +export namespace ModifyTransitGatewayPrefixListReferenceResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the options for a VPC attachment.

                                                        + */ +export interface ModifyTransitGatewayVpcAttachmentRequestOptions { + /** + *

                                                        Enable or disable DNS support. The default is enable.

                                                        + */ + DnsSupport?: DnsSupportValue | string; + + /** + *

                                                        Enable or disable IPv6 support. The default is enable.

                                                        + */ + Ipv6Support?: Ipv6SupportValue | string; + + /** + *

                                                        Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

                                                        + */ + ApplianceModeSupport?: ApplianceModeSupportValue | string; +} + +export namespace ModifyTransitGatewayVpcAttachmentRequestOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequestOptions): any => ({ + ...obj, + }); +} + +export interface ModifyTransitGatewayVpcAttachmentRequest { + /** + *

                                                        The ID of the attachment.

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

                                                        The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

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

                                                        The IDs of one or more subnets to remove.

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

                                                        The new VPC attachment options.

                                                        + */ + Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 ModifyTransitGatewayVpcAttachmentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTransitGatewayVpcAttachmentResult { + /** + *

                                                        Information about the modified attachment.

                                                        + */ + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} + +export namespace ModifyTransitGatewayVpcAttachmentResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} + +export interface ModifyVolumeRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 volume.

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

                                                        The target size of the volume, in GiB. The target volume size must be greater than or + * equal to the existing size of the volume.

                                                        + *

                                                        The following are the supported volumes sizes for each volume type:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * gp2 and gp3: 1-16,384

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * io1 and io2: 4-16,384

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * st1 and sc1: 125-16,384

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * standard: 1-1,024

                                                          + *
                                                        • + *
                                                        + *

                                                        Default: The existing size is retained.

                                                        + */ + Size?: number; + + /** + *

                                                        The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

                                                        + *

                                                        Default: The existing type is retained.

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

                                                        The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

                                                        + *

                                                        The following are the supported values for each volume type:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * gp3: 3,000-16,000 IOPS

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * io1: 100-64,000 IOPS

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * io2: 100-64,000 IOPS

                                                          + *
                                                        • + *
                                                        + *

                                                        Default: The existing value is retained if you keep the same volume type. If you change + * the volume type to io1, io2, or gp3, the default is 3,000.

                                                        + */ + Iops?: number; + + /** + *

                                                        The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. + * The maximum value is 1,000.

                                                        + *

                                                        Default: The existing value is retained if the source and target volume type is gp3. + * Otherwise, the default value is 125.

                                                        + *

                                                        Valid Range: Minimum value of 125. Maximum value of 1000.

                                                        + */ + Throughput?: 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. This parameter is + * supported with io1 and io2 volumes only. For more information, see + * + * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

                                                        + */ + MultiAttachEnabled?: boolean; +} + +export namespace ModifyVolumeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVolumeRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVolumeResult { + /** + *

                                                        Information about the volume modification.

                                                        + */ + VolumeModification?: VolumeModification; +} + +export namespace ModifyVolumeResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVolumeResult): any => ({ + ...obj, + }); +} + +export interface ModifyVolumeAttributeRequest { + /** + *

                                                        Indicates whether the volume should be auto-enabled for I/O operations.

                                                        + */ + AutoEnableIO?: AttributeBooleanValue; + + /** + *

                                                        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 ModifyVolumeAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVolumeAttributeRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcAttributeRequest { + /** + *

                                                        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; + + /** + *

                                                        Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to + * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP + * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon + * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is + * not enabled.

                                                        + *

                                                        You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

                                                        + */ + EnableDnsSupport?: AttributeBooleanValue; + + /** + *

                                                        The ID of the VPC.

                                                        + */ + VpcId: string | undefined; +} + +export namespace ModifyVpcAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcAttributeRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the parameters for ModifyVpcEndpoint.

                                                        + */ +export interface ModifyVpcEndpointRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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.

                                                        + */ + 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.

                                                        + */ + ResetPolicy?: boolean; + + /** + *

                                                        (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must + * be in valid JSON format.

                                                        + */ + PolicyDocument?: string; + + /** + *

                                                        (Gateway endpoint) One or more route tables IDs to associate with the endpoint.

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

                                                        (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

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

                                                        (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.

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

                                                        (Interface endpoint) One or more subnets IDs in which to remove the endpoint.

                                                        + */ + RemoveSubnetIds?: 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.

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

                                                        (Interface endpoint) Indicates whether a private hosted zone is associated with the + * VPC.

                                                        + */ + PrivateDnsEnabled?: boolean; +} + +export namespace ModifyVpcEndpointRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcEndpointResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + Return?: boolean; +} + +export namespace ModifyVpcEndpointResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointResult): any => ({ + ...obj, + }); +} + +export interface ModifyVpcEndpointConnectionNotificationRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 notification.

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

                                                        The ARN for the SNS topic for the notification.

                                                        + */ + ConnectionNotificationArn?: string; + + /** + *

                                                        One or more events for the endpoint. Valid values are Accept, + * Connect, Delete, and Reject.

                                                        + */ + ConnectionEvents?: string[]; +} + +export namespace ModifyVpcEndpointConnectionNotificationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcEndpointConnectionNotificationResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + ReturnValue?: boolean; +} + +export namespace ModifyVpcEndpointConnectionNotificationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationResult): any => ({ + ...obj, + }); +} + +export interface ModifyVpcEndpointServiceConfigurationRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 service.

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

                                                        (Interface endpoint configuration) The private DNS name to assign to the endpoint service.

                                                        + */ + PrivateDnsName?: string; + + /** + *

                                                        (Interface endpoint configuration) Removes the private DNS name of the endpoint service.

                                                        + */ + RemovePrivateDnsName?: boolean; + + /** + *

                                                        Indicates whether requests to create an endpoint to your service must be accepted.

                                                        + */ + AcceptanceRequired?: boolean; + + /** + *

                                                        The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service + * configuration.

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

                                                        The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service + * configuration.

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

                                                        The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service + * configuration.

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

                                                        The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service + * configuration.

                                                        + */ + RemoveGatewayLoadBalancerArns?: string[]; +} + +export namespace ModifyVpcEndpointServiceConfigurationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcEndpointServiceConfigurationResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + Return?: boolean; +} + +export namespace ModifyVpcEndpointServiceConfigurationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationResult): any => ({ + ...obj, + }); +} + +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.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        The ID of the service.

                                                        + */ + 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 (*).

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

                                                        The Amazon Resource Names (ARN) of one or more principals. + * Permissions are revoked for principals in this list.

                                                        + */ + RemoveAllowedPrincipals?: string[]; +} + +export namespace ModifyVpcEndpointServicePermissionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcEndpointServicePermissionsResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + ReturnValue?: boolean; +} + +export namespace ModifyVpcEndpointServicePermissionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        The VPC peering connection options.

                                                        + */ +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.

                                                        + */ + AllowDnsResolutionFromRemoteVpc?: 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, 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; +} + +export namespace PeeringConnectionOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PeeringConnectionOptionsRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcPeeringConnectionOptionsRequest { + /** + *

                                                        The VPC peering connection options for the accepter VPC.

                                                        + */ + 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.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        The VPC peering connection options for the requester VPC.

                                                        + */ + RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + + /** + *

                                                        The ID of the VPC peering connection.

                                                        + */ + VpcPeeringConnectionId: string | undefined; +} + +export namespace ModifyVpcPeeringConnectionOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the VPC peering connection options.

                                                        + */ +export interface PeeringConnectionOptions { + /** + *

                                                        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.

                                                        + */ + AllowDnsResolutionFromRemoteVpc?: 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, 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; +} + +export namespace PeeringConnectionOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PeeringConnectionOptions): any => ({ + ...obj, + }); +} + +export interface ModifyVpcPeeringConnectionOptionsResult { + /** + *

                                                        Information about the VPC peering connection options for the accepter VPC.

                                                        + */ + AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + + /** + *

                                                        Information about the VPC peering connection options for the requester VPC.

                                                        + */ + RequesterPeeringConnectionOptions?: PeeringConnectionOptions; +} + +export namespace ModifyVpcPeeringConnectionOptionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsResult): any => ({ + ...obj, + }); +} + +export type VpcTenancy = "default"; + +export interface ModifyVpcTenancyRequest { + /** + *

                                                        The ID of the VPC.

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

                                                        The instance tenancy attribute for the VPC.

                                                        + */ + InstanceTenancy: VpcTenancy | 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 ModifyVpcTenancyRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcTenancyRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcTenancyResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, returns an + * error.

                                                        + */ + ReturnValue?: boolean; +} + +export namespace ModifyVpcTenancyResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcTenancyResult): any => ({ + ...obj, + }); +} + +export interface ModifyVpnConnectionRequest { + /** + *

                                                        The ID of the VPN connection.

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

                                                        The ID of the transit gateway.

                                                        + */ + TransitGatewayId?: string; + + /** + *

                                                        The ID of the customer gateway at your end of the VPN connection.

                                                        + */ + CustomerGatewayId?: string; + + /** + *

                                                        The ID of the virtual private gateway at the Amazon Web Services side of the VPN + * connection.

                                                        + */ + VpnGatewayId?: 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 ModifyVpnConnectionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnConnectionRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpnConnectionResult { + /** + *

                                                        Describes a VPN connection.

                                                        + */ + VpnConnection?: VpnConnection; +} + +export namespace ModifyVpnConnectionResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnConnectionResult): any => ({ + ...obj, + }); +} + +export interface ModifyVpnConnectionOptionsRequest { + /** + *

                                                        The ID of the Site-to-Site VPN connection.

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

                                                        The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

                                                        + *

                                                        Default: 0.0.0.0/0 + *

                                                        + */ + LocalIpv4NetworkCidr?: string; + + /** + *

                                                        The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

                                                        + *

                                                        Default: 0.0.0.0/0 + *

                                                        + */ + RemoteIpv4NetworkCidr?: string; + + /** + *

                                                        The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

                                                        + *

                                                        Default: ::/0 + *

                                                        + */ + LocalIpv6NetworkCidr?: string; + + /** + *

                                                        The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

                                                        + *

                                                        Default: ::/0 + *

                                                        + */ + RemoteIpv6NetworkCidr?: 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 ModifyVpnConnectionOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpnConnectionOptionsResult { + /** + *

                                                        Describes a VPN connection.

                                                        + */ + VpnConnection?: VpnConnection; +} + +export namespace ModifyVpnConnectionOptionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsResult): any => ({ + ...obj, + }); +} + +export interface ModifyVpnTunnelCertificateRequest { + /** + *

                                                        The ID of the Amazon Web Services Site-to-Site VPN connection.

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

                                                        The external IP address of the VPN tunnel.

                                                        + */ + VpnTunnelOutsideIpAddress: 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 ModifyVpnTunnelCertificateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpnTunnelCertificateResult { + /** + *

                                                        Describes a VPN connection.

                                                        + */ + VpnConnection?: VpnConnection; +} + +export namespace ModifyVpnTunnelCertificateResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        The Amazon Web Services Site-to-Site VPN tunnel options to modify.

                                                        + */ +export interface ModifyVpnTunnelOptionsSpecification { + /** + *

                                                        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:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * 169.254.0.0/30 + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 169.254.1.0/30 + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 169.254.2.0/30 + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 169.254.3.0/30 + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 169.254.4.0/30 + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 169.254.5.0/30 + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 169.254.169.252/30 + *

                                                          + *
                                                        • + *
                                                        + */ + TunnelInsideCidr?: string; + + /** + *

                                                        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 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 lifetime for phase 1 of the IKE negotiation, in seconds.

                                                        + *

                                                        Constraints: A value between 900 and 28,800.

                                                        + *

                                                        Default: 28800 + *

                                                        + */ + Phase1LifetimeSeconds?: number; + + /** + *

                                                        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; + + /** + *

                                                        The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services 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 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; + + /** + *

                                                        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; + + /** + *

                                                        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; + + /** + *

                                                        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 + *

                                                        */ - AvailabilityZoneGroup?: string; + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; /** - *

                                                        Deprecated.

                                                        + *

                                                        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 + *

                                                        */ - BlockDurationMinutes?: number; + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; /** - *

                                                        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.

                                                        + *

                                                        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 + *

                                                        */ - ClientToken?: string; + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + + /** + *

                                                        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 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[]; + + /** + *

                                                        The IKE versions that are permitted for the VPN tunnel.

                                                        + *

                                                        Valid values: ikev1 | ikev2 + *

                                                        + */ + IKEVersions?: IKEVersionsRequestListValue[]; + + /** + *

                                                        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 Amazon Web Services to initiate the IKE + * negotiation.

                                                        + *

                                                        Valid Values: add | start + *

                                                        + *

                                                        Default: add + *

                                                        + */ + StartupAction?: string; +} + +export namespace ModifyVpnTunnelOptionsSpecification { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsSpecification): any => ({ + ...obj, + }); +} + +export interface ModifyVpnTunnelOptionsRequest { + /** + *

                                                        The ID of the Amazon Web Services Site-to-Site VPN connection.

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

                                                        The external IP address of the VPN tunnel.

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

                                                        The tunnel options to modify.

                                                        + */ + TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually @@ -5041,119 +6787,246 @@ export interface RequestSpotInstancesRequest { * UnauthorizedOperation.

                                                        */ DryRun?: boolean; +} +export namespace ModifyVpnTunnelOptionsRequest { /** - *

                                                        The maximum number of Spot Instances to launch.

                                                        - *

                                                        Default: 1

                                                        + * @internal */ - InstanceCount?: number; + export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsRequest): any => ({ + ...obj, + }); +} +export interface ModifyVpnTunnelOptionsResult { /** - *

                                                        The instance launch group. Launch groups are Spot Instances that launch together and - * terminate together.

                                                        - *

                                                        Default: Instances are launched and terminated individually

                                                        + *

                                                        Describes a VPN connection.

                                                        */ - LaunchGroup?: string; + VpnConnection?: VpnConnection; +} +export namespace ModifyVpnTunnelOptionsResult { /** - *

                                                        The launch specification.

                                                        + * @internal */ - LaunchSpecification?: RequestSpotLaunchSpecification; + export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsResult): any => ({ + ...obj, + }); +} +export interface MonitorInstancesRequest { /** - *

                                                        The maximum price per hour that you are willing to pay for a Spot Instance. The - * default is the On-Demand price.

                                                        + *

                                                        The IDs of the instances.

                                                        */ - SpotPrice?: string; + InstanceIds: string[] | undefined; /** - *

                                                        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; +} +export namespace MonitorInstancesRequest { /** - *

                                                        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.

                                                        + * @internal */ - ValidFrom?: Date; + export const filterSensitiveLog = (obj: MonitorInstancesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes the monitoring of an instance.

                                                        + */ +export interface InstanceMonitoring { /** - *

                                                        The end date of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ).

                                                        - *
                                                          - *
                                                        • - *

                                                          For a persistent request, the request remains active until the - * ValidUntil date and time is reached. Otherwise, the request - * remains active until you cancel it.

                                                          - *
                                                        • - *
                                                        • - *

                                                          For a one-time request, the request remains active until all instances launch, - * the request is canceled, or the ValidUntil date and time is - * reached. By default, the request is valid for 7 days from the date the request - * was created.

                                                          - *
                                                        • - *
                                                        + *

                                                        The ID of the instance.

                                                        + */ + InstanceId?: string; + + /** + *

                                                        The monitoring for the instance.

                                                        + */ + Monitoring?: Monitoring; +} + +export namespace InstanceMonitoring { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceMonitoring): any => ({ + ...obj, + }); +} + +export interface MonitorInstancesResult { + /** + *

                                                        The monitoring information.

                                                        + */ + InstanceMonitorings?: InstanceMonitoring[]; +} + +export namespace MonitorInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MonitorInstancesResult): any => ({ + ...obj, + }); +} + +export interface MoveAddressToVpcRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MoveAddressToVpcRequest): any => ({ + ...obj, + }); +} + +export enum Status { + inClassic = "InClassic", + inVpc = "InVpc", + moveInProgress = "MoveInProgress", +} + +export interface MoveAddressToVpcResult { + /** + *

                                                        The allocation ID for the Elastic IP address.

                                                        + */ + AllocationId?: string; + + /** + *

                                                        The status of the move of the IP address.

                                                        + */ + Status?: Status | string; +} + +export namespace MoveAddressToVpcResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MoveAddressToVpcResult): any => ({ + ...obj, + }); +} + +export interface MoveByoipCidrToIpamRequest { + /** + *

                                                        A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - ValidUntil?: Date; + 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.

                                                        + *

                                                        The BYOIP CIDR.

                                                        */ - TagSpecifications?: TagSpecification[]; + Cidr?: string; /** - *

                                                        The behavior when a Spot Instance is interrupted. The default is terminate.

                                                        + *

                                                        The IPAM pool ID.

                                                        */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + IpamPoolId?: string; + + /** + *

                                                        The Amazon Web Services account ID of the owner of the IPAM pool.

                                                        + */ + IpamPoolOwner?: string; } -export namespace RequestSpotInstancesRequest { +export namespace MoveByoipCidrToIpamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: MoveByoipCidrToIpamRequest): any => ({ + ...obj, + }); +} + +export interface MoveByoipCidrToIpamResult { + /** + *

                                                        Information about an address range that is provisioned for use with your Amazon Web Services resources + * through bring your own IP addresses (BYOIP).

                                                        + */ + ByoipCidr?: ByoipCidr; +} + +export namespace MoveByoipCidrToIpamResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MoveByoipCidrToIpamResult): any => ({ ...obj, }); } /** - *

                                                        Contains the output of RequestSpotInstances.

                                                        + *

                                                        Provides authorization for Amazon to bring a specific IP address range to a specific + * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

                                                        */ -export interface RequestSpotInstancesResult { +export interface CidrAuthorizationContext { /** - *

                                                        One or more Spot Instance requests.

                                                        + *

                                                        The plain-text authorization message for the prefix and account.

                                                        */ - SpotInstanceRequests?: SpotInstanceRequest[]; + Message: string | undefined; + + /** + *

                                                        The signed authorization message for the prefix and account.

                                                        + */ + Signature: string | undefined; } -export namespace RequestSpotInstancesResult { +export namespace CidrAuthorizationContext { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotInstancesResult): any => ({ + export const filterSensitiveLog = (obj: CidrAuthorizationContext): any => ({ ...obj, }); } -export interface ResetAddressAttributeRequest { +export interface ProvisionByoipCidrRequest { /** - *

                                                        [EC2-VPC] The allocation ID.

                                                        + *

                                                        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.

                                                        */ - AllocationId: string | undefined; + Cidr: string | undefined; /** - *

                                                        The attribute of the IP address.

                                                        + *

                                                        A signed document that proves that you are authorized to bring the specified IP address + * range to Amazon using BYOIP.

                                                        */ - Attribute: AddressAttributeName | string | undefined; + CidrAuthorizationContext?: CidrAuthorizationContext; + + /** + *

                                                        (IPv6 only) Indicate whether the address range will be publicly advertised to the + * internet.

                                                        + *

                                                        Default: true

                                                        + */ + PubliclyAdvertisable?: boolean; + + /** + *

                                                        A description for the address range and the address pool.

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

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -5161,284 +7034,377 @@ export interface ResetAddressAttributeRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; + + /** + *

                                                        The tags to apply to the address pool.

                                                        + */ + PoolTagSpecifications?: TagSpecification[]; + + /** + *

                                                        Reserved.

                                                        + */ + MultiRegion?: boolean; } -export namespace ResetAddressAttributeRequest { +export namespace ProvisionByoipCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetAddressAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ProvisionByoipCidrRequest): any => ({ ...obj, }); } -export interface ResetAddressAttributeResult { +export interface ProvisionByoipCidrResult { /** - *

                                                        Information about the IP address.

                                                        + *

                                                        Information about the address range.

                                                        */ - Address?: AddressAttribute; + ByoipCidr?: ByoipCidr; } -export namespace ResetAddressAttributeResult { +export namespace ProvisionByoipCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: ResetAddressAttributeResult): any => ({ + export const filterSensitiveLog = (obj: ProvisionByoipCidrResult): any => ({ ...obj, }); } -export interface ResetEbsDefaultKmsKeyIdRequest { +/** + *

                                                        A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

                                                        + */ +export interface IpamCidrAuthorizationContext { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        The plain-text authorization message for the prefix and account.

                                                        + */ + Message?: string; + + /** + *

                                                        The signed authorization message for the prefix and account.

                                                        + */ + Signature?: string; +} + +export namespace IpamCidrAuthorizationContext { + /** + * @internal + */ + export const filterSensitiveLog = (obj: IpamCidrAuthorizationContext): any => ({ + ...obj, + }); +} + +export interface ProvisionIpamPoolCidrRequest { + /** + *

                                                        A check for whether you have the required permissions for the action without 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 IPAM pool to which you want to assign a CIDR.

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

                                                        The CIDR you want to assign to the IPAM pool.

                                                        + */ + Cidr?: string; + + /** + *

                                                        A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

                                                        + */ + CidrAuthorizationContext?: IpamCidrAuthorizationContext; } -export namespace ResetEbsDefaultKmsKeyIdRequest { +export namespace ProvisionIpamPoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdRequest): any => ({ + export const filterSensitiveLog = (obj: ProvisionIpamPoolCidrRequest): any => ({ ...obj, }); } -export interface ResetEbsDefaultKmsKeyIdResult { +export interface ProvisionIpamPoolCidrResult { /** - *

                                                        The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

                                                        + *

                                                        Information about the provisioned CIDR.

                                                        */ - KmsKeyId?: string; + IpamPoolCidr?: IpamPoolCidr; } -export namespace ResetEbsDefaultKmsKeyIdResult { +export namespace ProvisionIpamPoolCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdResult): any => ({ + export const filterSensitiveLog = (obj: ProvisionIpamPoolCidrResult): any => ({ ...obj, }); } -export type ResetFpgaImageAttributeName = "loadPermission"; - -export interface ResetFpgaImageAttributeRequest { +export interface ProvisionPublicIpv4PoolCidrRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + *

                                                        A check for whether you have the required permissions for the action without 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.

                                                        + *

                                                        The ID of the IPAM pool you would like to use to allocate this CIDR.

                                                        */ - FpgaImageId: string | undefined; + IpamPoolId: string | undefined; /** - *

                                                        The attribute.

                                                        + *

                                                        The ID of the public IPv4 pool you would like to use for this CIDR.

                                                        */ - Attribute?: ResetFpgaImageAttributeName | string; + PoolId: string | undefined; + + /** + *

                                                        The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

                                                        + */ + NetmaskLength: number | undefined; } -export namespace ResetFpgaImageAttributeRequest { +export namespace ProvisionPublicIpv4PoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetFpgaImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ProvisionPublicIpv4PoolCidrRequest): any => ({ ...obj, }); } -export interface ResetFpgaImageAttributeResult { +export interface ProvisionPublicIpv4PoolCidrResult { /** - *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        + *

                                                        The ID of the pool that you want to provision the CIDR to.

                                                        */ - Return?: boolean; + PoolId?: string; + + /** + *

                                                        Describes an address range of an IPv4 address pool.

                                                        + */ + PoolAddressRange?: PublicIpv4PoolRange; } -export namespace ResetFpgaImageAttributeResult { +export namespace ProvisionPublicIpv4PoolCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: ResetFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: ProvisionPublicIpv4PoolCidrResult): any => ({ ...obj, }); } -export type ResetImageAttributeName = "launchPermission"; +export interface PurchaseHostReservationRequest { + /** + *

                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

                                                        Contains the parameters for ResetImageAttribute.

                                                        - */ -export interface ResetImageAttributeRequest { /** - *

                                                        The attribute to reset (currently you can only reset the launch permission attribute).

                                                        + *

                                                        The currency in which the totalUpfrontPrice, LimitPrice, + * and totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

                                                        */ - Attribute: ResetImageAttributeName | string | undefined; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                        The ID of the AMI.

                                                        + *

                                                        The IDs of the Dedicated Hosts with which the reservation will be associated.

                                                        */ - ImageId: string | undefined; + HostIdSet: 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 specified limit is checked against the total upfront cost of the reservation + * (calculated as the offering's upfront cost multiplied by the host count). If the total + * upfront cost is greater than the specified price limit, the request fails. This is used + * to ensure that the purchase does not exceed the expected upfront cost of the purchase. + * At this time, the only supported currency is USD. For example, to indicate + * a limit price of USD 100, specify 100.00.

                                                        */ - DryRun?: boolean; + LimitPrice?: string; + + /** + *

                                                        The ID of the offering.

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

                                                        The tags to apply to the Dedicated Host Reservation during purchase.

                                                        + */ + TagSpecifications?: TagSpecification[]; } -export namespace ResetImageAttributeRequest { +export namespace PurchaseHostReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseHostReservationRequest): any => ({ ...obj, }); } -export interface ResetInstanceAttributeRequest { +export interface PurchaseHostReservationResult { /** - *

                                                        The attribute to reset.

                                                        - * - *

                                                        You can only reset the following attributes: kernel | - * ramdisk | sourceDestCheck. To change an instance - * attribute, use ModifyInstanceAttribute.

                                                        - *
                                                        + *

                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                        */ - Attribute: InstanceAttributeName | string | undefined; + 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 currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

                                                        */ - DryRun?: boolean; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                        The ID of the instance.

                                                        + *

                                                        Describes the details of the purchase.

                                                        */ - InstanceId: string | undefined; + Purchase?: Purchase[]; + + /** + *

                                                        The total hourly price of the reservation calculated per hour.

                                                        + */ + TotalHourlyPrice?: string; + + /** + *

                                                        The total amount charged to your account when you purchase the reservation.

                                                        + */ + TotalUpfrontPrice?: string; } -export namespace ResetInstanceAttributeRequest { +export namespace PurchaseHostReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ResetInstanceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseHostReservationResult): any => ({ ...obj, }); } /** - *

                                                        Contains the parameters for ResetNetworkInterfaceAttribute.

                                                        + *

                                                        Describes the limit price of a Reserved Instance offering.

                                                        */ -export interface ResetNetworkInterfaceAttributeRequest { - /** - *

                                                        Checks whether you have the required permissions for the action, without 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 ReservedInstanceLimitPrice { /** - *

                                                        The ID of the network interface.

                                                        + *

                                                        Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

                                                        */ - NetworkInterfaceId: string | undefined; + Amount?: number; /** - *

                                                        The source/destination checking attribute. Resets the value to true.

                                                        + *

                                                        The currency in which the limitPrice amount is specified. + * At this time, the only supported currency is USD.

                                                        */ - SourceDestCheck?: string; + CurrencyCode?: CurrencyCodeValues | string; } -export namespace ResetNetworkInterfaceAttributeRequest { +export namespace ReservedInstanceLimitPrice { /** * @internal */ - export const filterSensitiveLog = (obj: ResetNetworkInterfaceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ReservedInstanceLimitPrice): any => ({ ...obj, }); } -export interface ResetSnapshotAttributeRequest { +/** + *

                                                        Contains the parameters for PurchaseReservedInstancesOffering.

                                                        + */ +export interface PurchaseReservedInstancesOfferingRequest { /** - *

                                                        The attribute to reset. Currently, only the attribute for permission to create volumes can - * be reset.

                                                        + *

                                                        The number of Reserved Instances to purchase.

                                                        */ - Attribute: SnapshotAttributeName | string | undefined; + InstanceCount: number | undefined; /** - *

                                                        The ID of the snapshot.

                                                        + *

                                                        The ID of the Reserved Instance offering to purchase.

                                                        */ - SnapshotId: string | undefined; + ReservedInstancesOfferingId: 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.

                                                        + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; + + /** + *

                                                        Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

                                                        + */ + LimitPrice?: ReservedInstanceLimitPrice; + + /** + *

                                                        The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                        + */ + PurchaseTime?: Date; } -export namespace ResetSnapshotAttributeRequest { +export namespace PurchaseReservedInstancesOfferingRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetSnapshotAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingRequest): any => ({ ...obj, }); } -export interface RestoreAddressToClassicRequest { - /** - *

                                                        Checks whether you have the required permissions for the action, without 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; - +/** + *

                                                        Contains the output of PurchaseReservedInstancesOffering.

                                                        + */ +export interface PurchaseReservedInstancesOfferingResult { /** - *

                                                        The Elastic IP address.

                                                        + *

                                                        The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted + * pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing + * pricing tiers in the Amazon Elastic Compute Cloud User Guide.

                                                        */ - PublicIp: string | undefined; + ReservedInstancesId?: string; } -export namespace RestoreAddressToClassicRequest { +export namespace PurchaseReservedInstancesOfferingResult { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreAddressToClassicRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingResult): any => ({ ...obj, }); } -export interface RestoreAddressToClassicResult { +/** + *

                                                        Describes a request to purchase Scheduled Instances.

                                                        + */ +export interface PurchaseRequest { /** - *

                                                        The Elastic IP address.

                                                        + *

                                                        The number of instances.

                                                        */ - PublicIp?: string; + InstanceCount: number | undefined; /** - *

                                                        The move status for the IP address.

                                                        + *

                                                        The purchase token.

                                                        */ - Status?: Status | string; + PurchaseToken: string | undefined; } -export namespace RestoreAddressToClassicResult { +export namespace PurchaseRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreAddressToClassicResult): any => ({ + export const filterSensitiveLog = (obj: PurchaseRequest): any => ({ ...obj, }); } -export interface RestoreManagedPrefixListVersionRequest { +/** + *

                                                        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; + /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5447,51 +7413,44 @@ export interface RestoreManagedPrefixListVersionRequest { DryRun?: boolean; /** - *

                                                        The ID of the prefix list.

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

                                                        The version to restore.

                                                        - */ - PreviousVersion: number | undefined; - - /** - *

                                                        The current version number for the prefix list.

                                                        + *

                                                        The purchase requests.

                                                        */ - CurrentVersion: number | undefined; + PurchaseRequests: PurchaseRequest[] | undefined; } -export namespace RestoreManagedPrefixListVersionRequest { +export namespace PurchaseScheduledInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseScheduledInstancesRequest): any => ({ ...obj, }); } -export interface RestoreManagedPrefixListVersionResult { +/** + *

                                                        Contains the output of PurchaseScheduledInstances.

                                                        + */ +export interface PurchaseScheduledInstancesResult { /** - *

                                                        Information about the prefix list.

                                                        + *

                                                        Information about the Scheduled Instances.

                                                        */ - PrefixList?: ManagedPrefixList; + ScheduledInstanceSet?: ScheduledInstance[]; } -export namespace RestoreManagedPrefixListVersionResult { +export namespace PurchaseScheduledInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionResult): any => ({ + export const filterSensitiveLog = (obj: PurchaseScheduledInstancesResult): any => ({ ...obj, }); } -export interface RestoreSnapshotFromRecycleBinRequest { +export interface RebootInstancesRequest { /** - *

                                                        The ID of the snapshot to restore.

                                                        + *

                                                        The instance IDs.

                                                        */ - SnapshotId: string | undefined; + InstanceIds: string[] | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -5501,871 +7460,781 @@ export interface RestoreSnapshotFromRecycleBinRequest { DryRun?: boolean; } -export namespace RestoreSnapshotFromRecycleBinRequest { +export namespace RebootInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinRequest): any => ({ + export const filterSensitiveLog = (obj: RebootInstancesRequest): any => ({ ...obj, }); } -export interface RestoreSnapshotFromRecycleBinResult { - /** - *

                                                        The ID of the snapshot.

                                                        - */ - SnapshotId?: string; - - /** - *

                                                        The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the - * Amazon Elastic Compute Cloud User Guide.

                                                        - */ - OutpostArn?: string; - - /** - *

                                                        The description for the snapshot.

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

                                                        Indicates whether the snapshot is encrypted.

                                                        - */ - Encrypted?: boolean; - - /** - *

                                                        The ID of the Amazon Web Services account that owns the EBS snapshot.

                                                        - */ - OwnerId?: string; - - /** - *

                                                        The progress of the snapshot, as a percentage.

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

                                                        Contains the parameters for RegisterImage.

                                                        + */ +export interface RegisterImageRequest { /** - *

                                                        The time stamp when the snapshot was initiated.

                                                        + *

                                                        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.

                                                        */ - StartTime?: Date; + ImageLocation?: string; /** - *

                                                        The state of the snapshot.

                                                        + *

                                                        The architecture of the AMI.

                                                        + *

                                                        Default: For Amazon EBS-backed AMIs, i386. + * For instance store-backed AMIs, the architecture specified in the manifest file.

                                                        */ - State?: SnapshotState | string; + Architecture?: ArchitectureValues | string; /** - *

                                                        The ID of the volume that was used to create the snapshot.

                                                        + *

                                                        The block device mapping entries.

                                                        + *

                                                        If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

                                                        + *

                                                        If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region + * of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost + * only. For more information, + * Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

                                                        */ - VolumeId?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                        The size of the volume, in GiB.

                                                        + *

                                                        A description for your AMI.

                                                        */ - VolumeSize?: number; -} + Description?: string; -export namespace RestoreSnapshotFromRecycleBinResult { /** - * @internal + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface RestoreSnapshotTierRequest { /** - *

                                                        The ID of the snapshot to restore.

                                                        + *

                                                        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.

                                                        */ - SnapshotId: string | undefined; + EnaSupport?: boolean; /** - *

                                                        Specifies the number of days for which to temporarily restore an archived snapshot. - * Required for temporary restores only. The snapshot will be automatically re-archived - * after this period.

                                                        - *

                                                        To temporarily restore an archived snapshot, specify the number of days and omit - * the PermanentRestore parameter or set it to - * false.

                                                        + *

                                                        The ID of the kernel.

                                                        */ - TemporaryRestoreDays?: number; + KernelId?: string; /** - *

                                                        Indicates whether to permanently restore an archived snapshot. To permanently restore - * an archived snapshot, specify true and omit the - * RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

                                                        + *

                                                        A name for your AMI.

                                                        + *

                                                        Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

                                                        */ - PermanentRestore?: boolean; + Name: 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 billing product codes. Your account must be authorized to specify billing product codes. Otherwise, + * you can use the Amazon Web Services Marketplace to bill for the use of an AMI.

                                                        */ - DryRun?: boolean; -} + BillingProducts?: string[]; -export namespace RestoreSnapshotTierRequest { /** - * @internal + *

                                                        The ID of the RAM disk.

                                                        */ - export const filterSensitiveLog = (obj: RestoreSnapshotTierRequest): any => ({ - ...obj, - }); -} + RamdiskId?: string; -export interface RestoreSnapshotTierResult { /** - *

                                                        The ID of the snapshot.

                                                        + *

                                                        The device name of the root device volume (for example, /dev/sda1).

                                                        */ - SnapshotId?: string; + RootDeviceName?: string; /** - *

                                                        The date and time when the snapshot restore process started.

                                                        + *

                                                        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.

                                                        */ - RestoreStartTime?: Date; + SriovNetSupport?: string; /** - *

                                                        For temporary restores only. The number of days for which the archived snapshot - * is temporarily restored.

                                                        + *

                                                        The type of virtualization (hvm | paravirtual).

                                                        + *

                                                        Default: paravirtual + *

                                                        */ - RestoreDuration?: number; + VirtualizationType?: string; /** - *

                                                        Indicates whether the snapshot is permanently restored. true indicates a permanent - * restore. false indicates a temporary restore.

                                                        + *

                                                        The boot mode of the AMI. For more information, see Boot modes in the + * Amazon Elastic Compute Cloud User Guide.

                                                        */ - IsPermanentRestore?: boolean; + BootMode?: BootModeValues | string; } -export namespace RestoreSnapshotTierResult { +export namespace RegisterImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreSnapshotTierResult): any => ({ + export const filterSensitiveLog = (obj: RegisterImageRequest): any => ({ ...obj, }); } -export interface RevokeClientVpnIngressRequest { - /** - *

                                                        The ID of the Client VPN endpoint with which the authorization rule is associated.

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

                                                        Contains the output of RegisterImage.

                                                        + */ +export interface RegisterImageResult { /** - *

                                                        The IPv4 address range, in CIDR notation, of the network for which access is being removed.

                                                        + *

                                                        The ID of the newly registered AMI.

                                                        */ - TargetNetworkCidr: string | undefined; + ImageId?: string; +} +export namespace RegisterImageResult { /** - *

                                                        The ID of the Active Directory group for which to revoke access.

                                                        + * @internal */ - AccessGroupId?: string; + export const filterSensitiveLog = (obj: RegisterImageResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Information about the tag keys to register for the current Region. You can either specify + * individual tag keys or register all tag keys in the current Region. You must specify either + * IncludeAllTagsOfInstance or InstanceTagKeys in the request

                                                        + */ +export interface RegisterInstanceTagAttributeRequest { /** - *

                                                        Indicates whether access should be revoked for all clients.

                                                        + *

                                                        Indicates whether to register all tag keys in the current Region. Specify true + * to register all tag keys.

                                                        */ - RevokeAllGroups?: boolean; + IncludeAllTagsOfInstance?: 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 tag keys to register.

                                                        */ - DryRun?: boolean; + InstanceTagKeys?: string[]; } -export namespace RevokeClientVpnIngressRequest { +export namespace RegisterInstanceTagAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeClientVpnIngressRequest): any => ({ + export const filterSensitiveLog = (obj: RegisterInstanceTagAttributeRequest): any => ({ ...obj, }); } -export interface RevokeClientVpnIngressResult { +export interface RegisterInstanceEventNotificationAttributesRequest { /** - *

                                                        The current state of the authorization 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.

                                                        */ - Status?: ClientVpnAuthorizationRuleStatus; + DryRun?: boolean; + + /** + *

                                                        Information about the tag keys to register.

                                                        + */ + InstanceTagAttribute?: RegisterInstanceTagAttributeRequest; } -export namespace RevokeClientVpnIngressResult { +export namespace RegisterInstanceEventNotificationAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeClientVpnIngressResult): any => ({ + export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesRequest): any => ({ ...obj, }); } -export interface RevokeSecurityGroupEgressRequest { +export interface RegisterInstanceEventNotificationAttributesResult { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 resulting set of tag keys.

                                                        */ - DryRun?: boolean; + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} +export namespace RegisterInstanceEventNotificationAttributesResult { /** - *

                                                        The ID of the security group.

                                                        + * @internal */ - GroupId: string | undefined; + export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesResult): any => ({ + ...obj, + }); +} +export interface RegisterTransitGatewayMulticastGroupMembersRequest { /** - *

                                                        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.

                                                        + *

                                                        The ID of the transit gateway multicast domain.

                                                        */ - IpPermissions?: IpPermission[]; + TransitGatewayMulticastDomainId?: string; /** - *

                                                        The IDs of the security group rules.

                                                        + *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        */ - SecurityGroupRuleIds?: string[]; + GroupIpAddress?: string; /** - *

                                                        Not supported. Use a set of IP permissions to specify the CIDR.

                                                        + *

                                                        The group members' network interface IDs to register with the transit gateway multicast group.

                                                        */ - CidrIp?: string; + NetworkInterfaceIds?: string[]; /** - *

                                                        Not supported. Use a set of IP permissions to specify the port.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - FromPort?: number; + DryRun?: boolean; +} +export namespace RegisterTransitGatewayMulticastGroupMembersRequest { /** - *

                                                        Not supported. Use a set of IP permissions to specify the protocol name or - * number.

                                                        + * @internal */ - IpProtocol?: string; + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes the registered transit gateway multicast group members.

                                                        + */ +export interface TransitGatewayMulticastRegisteredGroupMembers { /** - *

                                                        Not supported. Use a set of IP permissions to specify the port.

                                                        + *

                                                        The ID of the transit gateway multicast domain.

                                                        */ - ToPort?: number; + TransitGatewayMulticastDomainId?: string; /** - *

                                                        Not supported. Use a set of IP permissions to specify a - * destination security group.

                                                        + *

                                                        The ID of the registered network interfaces.

                                                        */ - SourceSecurityGroupName?: string; + RegisteredNetworkInterfaceIds?: string[]; /** - *

                                                        Not supported. Use a set of IP permissions to specify a destination security - * group.

                                                        + *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        */ - SourceSecurityGroupOwnerId?: string; + GroupIpAddress?: string; } -export namespace RevokeSecurityGroupEgressRequest { +export namespace TransitGatewayMulticastRegisteredGroupMembers { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupMembers): any => ({ ...obj, }); } -export interface RevokeSecurityGroupEgressResult { - /** - *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        - */ - Return?: boolean; - +export interface RegisterTransitGatewayMulticastGroupMembersResult { /** - *

                                                        The outbound rules that were unknown to the service. In some cases, - * unknownIpPermissionSet might be in a different format from the request - * parameter.

                                                        + *

                                                        Information about the registered transit gateway multicast group members.

                                                        */ - UnknownIpPermissions?: IpPermission[]; + RegisteredMulticastGroupMembers?: TransitGatewayMulticastRegisteredGroupMembers; } -export namespace RevokeSecurityGroupEgressResult { +export namespace RegisterTransitGatewayMulticastGroupMembersResult { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressResult): any => ({ + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersResult): any => ({ ...obj, }); } -export interface RevokeSecurityGroupIngressRequest { - /** - *

                                                        The CIDR IP address range. You can't specify this parameter when specifying a source security group.

                                                        - */ - CidrIp?: string; - +export interface RegisterTransitGatewayMulticastGroupSourcesRequest { /** - *

                                                        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 ICMP types.

                                                        + *

                                                        The ID of the transit gateway multicast domain.

                                                        */ - FromPort?: number; + TransitGatewayMulticastDomainId?: 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 IP address assigned to the transit gateway multicast group.

                                                        */ - GroupId?: string; + GroupIpAddress?: 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.

                                                        + *

                                                        The group sources' network interface IDs to register with the transit gateway multicast group.

                                                        */ - GroupName?: string; + NetworkInterfaceIds?: 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.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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; +} +export namespace RegisterTransitGatewayMulticastGroupSourcesRequest { /** - *

                                                        The IP protocol name (tcp, udp, icmp) or number - * (see Protocol Numbers). - * Use -1 to specify all.

                                                        + * @internal */ - IpProtocol?: string; + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes the members registered with the transit gateway multicast group.

                                                        + */ +export interface TransitGatewayMulticastRegisteredGroupSources { /** - *

                                                        [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.

                                                        + *

                                                        The ID of the transit gateway multicast domain.

                                                        */ - SourceSecurityGroupName?: string; + TransitGatewayMulticastDomainId?: string; /** - *

                                                        [EC2-Classic] The Amazon Web Services 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.

                                                        + *

                                                        The IDs of the network interfaces members registered with the transit gateway multicast group.

                                                        */ - SourceSecurityGroupOwnerId?: string; + RegisteredNetworkInterfaceIds?: 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 ICMP codes for the ICMP type.

                                                        + *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        */ - ToPort?: number; + GroupIpAddress?: string; +} +export namespace TransitGatewayMulticastRegisteredGroupSources { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupSources): any => ({ + ...obj, + }); +} +export interface RegisterTransitGatewayMulticastGroupSourcesResult { /** - *

                                                        The IDs of the security group rules.

                                                        + *

                                                        Information about the transit gateway multicast group sources.

                                                        */ - SecurityGroupRuleIds?: string[]; + RegisteredMulticastGroupSources?: TransitGatewayMulticastRegisteredGroupSources; } -export namespace RevokeSecurityGroupIngressRequest { +export namespace RegisterTransitGatewayMulticastGroupSourcesResult { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressRequest): any => ({ + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesResult): any => ({ ...obj, }); } -export interface RevokeSecurityGroupIngressResult { +export interface RejectTransitGatewayMulticastDomainAssociationsRequest { /** - *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        + *

                                                        The ID of the transit gateway multicast domain.

                                                        */ - Return?: boolean; + TransitGatewayMulticastDomainId?: string; /** - *

                                                        The inbound rules that were unknown to the service. In some cases, - * unknownIpPermissionSet might be in a different format from the request - * parameter.

                                                        + *

                                                        The ID of the transit gateway attachment.

                                                        */ - UnknownIpPermissions?: IpPermission[]; + TransitGatewayAttachmentId?: string; + + /** + *

                                                        The IDs of the subnets to associate with the transit gateway multicast domain.

                                                        + */ + SubnetIds?: 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 RevokeSecurityGroupIngressResult { +export namespace RejectTransitGatewayMulticastDomainAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressResult): any => ({ + export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsRequest): any => ({ ...obj, }); } -/** - *

                                                        The CPU options for the instance. Both the core count and threads per core must be - * specified in the request.

                                                        - */ -export interface CpuOptionsRequest { - /** - *

                                                        The number of CPU cores for the instance.

                                                        - */ - CoreCount?: number; - +export interface RejectTransitGatewayMulticastDomainAssociationsResult { /** - *

                                                        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.

                                                        + *

                                                        Describes the multicast domain associations.

                                                        */ - ThreadsPerCore?: number; + Associations?: TransitGatewayMulticastDomainAssociations; } -export namespace CpuOptionsRequest { +export namespace RejectTransitGatewayMulticastDomainAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: CpuOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsResult): any => ({ ...obj, }); } -/** - *

                                                        - * Describes an elastic inference accelerator. - *

                                                        - */ -export interface ElasticInferenceAccelerator { +export interface RejectTransitGatewayPeeringAttachmentRequest { /** - *

                                                        - * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge. - *

                                                        + *

                                                        The ID of the transit gateway peering attachment.

                                                        */ - Type: string | undefined; + TransitGatewayAttachmentId: string | undefined; /** - *

                                                        - * The number of elastic inference accelerators to attach to the instance. - *

                                                        - *

                                                        Default: 1

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Count?: number; + DryRun?: boolean; } -export namespace ElasticInferenceAccelerator { +export namespace RejectTransitGatewayPeeringAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticInferenceAccelerator): any => ({ + export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentRequest): any => ({ ...obj, }); } -/** - *

                                                        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, - * see - * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

                                                        - */ -export interface EnclaveOptionsRequest { +export interface RejectTransitGatewayPeeringAttachmentResult { /** - *

                                                        To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

                                                        + *

                                                        The transit gateway peering attachment.

                                                        */ - Enabled?: boolean; + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; } -export namespace EnclaveOptionsRequest { +export namespace RejectTransitGatewayPeeringAttachmentResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnclaveOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentResult): any => ({ ...obj, }); } -/** - *

                                                        Indicates whether your instance is configured for hibernation. This parameter is valid - * only if the instance meets the hibernation - * prerequisites. For - * more information, see Hibernate your instance in the - * Amazon EC2 User Guide.

                                                        - */ -export interface HibernationOptionsRequest { +export interface RejectTransitGatewayVpcAttachmentRequest { /** - *

                                                        If you set this parameter to true, your instance is enabled for - * hibernation.

                                                        - *

                                                        Default: false - *

                                                        + *

                                                        The ID of the attachment.

                                                        */ - Configured?: boolean; + 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 HibernationOptionsRequest { +export namespace RejectTransitGatewayVpcAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: HibernationOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentRequest): any => ({ ...obj, }); } -/** - *

                                                        The options for Spot Instances.

                                                        - */ -export interface SpotMarketOptions { +export interface RejectTransitGatewayVpcAttachmentResult { /** - *

                                                        The maximum hourly price you're willing to pay for the Spot Instances. The default is - * the On-Demand price.

                                                        + *

                                                        Information about the attachment.

                                                        */ - MaxPrice?: string; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +export namespace RejectTransitGatewayVpcAttachmentResult { /** - *

                                                        The Spot Instance request type. For RunInstances, persistent Spot - * Instance requests are only supported when the instance interruption behavior is either hibernate or - * stop.

                                                        + * @internal */ - SpotInstanceType?: SpotInstanceType | string; + export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} +export interface RejectVpcEndpointConnectionsRequest { /** - *

                                                        Deprecated.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - BlockDurationMinutes?: number; + DryRun?: boolean; /** - *

                                                        The end date of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * Supported only for persistent requests.

                                                        - *
                                                          - *
                                                        • - *

                                                          For a persistent request, the request remains active until the - * ValidUntil date and time is reached. Otherwise, the request - * remains active until you cancel it.

                                                          - *
                                                        • - *
                                                        • - *

                                                          For a one-time request, ValidUntil is not supported. The request - * remains active until all instances launch or you cancel the request.

                                                          - *
                                                        • - *
                                                        + *

                                                        The ID of the service.

                                                        */ - ValidUntil?: Date; + ServiceId: string | undefined; /** - *

                                                        The behavior when a Spot Instance is interrupted. The default is - * terminate.

                                                        + *

                                                        The IDs of one or more VPC endpoints.

                                                        */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + VpcEndpointIds: string[] | undefined; } -export namespace SpotMarketOptions { +export namespace RejectVpcEndpointConnectionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotMarketOptions): any => ({ + export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes the market (purchasing) option for the instances.

                                                        - */ -export interface InstanceMarketOptionsRequest { - /** - *

                                                        The market type.

                                                        - */ - MarketType?: MarketType | string; - +export interface RejectVpcEndpointConnectionsResult { /** - *

                                                        The options for Spot Instances.

                                                        + *

                                                        Information about the endpoints that were not rejected, if applicable.

                                                        */ - SpotOptions?: SpotMarketOptions; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace InstanceMarketOptionsRequest { +export namespace RejectVpcEndpointConnectionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceMarketOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsResult): any => ({ ...obj, }); } -/** - *

                                                        The launch template to use. 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.

                                                        - */ - LaunchTemplateId?: string; - +export interface RejectVpcPeeringConnectionRequest { /** - *

                                                        The name of the launch template.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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; /** - *

                                                        The version number of the launch template.

                                                        - *

                                                        Default: The default version for the launch template.

                                                        + *

                                                        The ID of the VPC peering connection.

                                                        */ - Version?: string; + VpcPeeringConnectionId: string | undefined; } -export namespace LaunchTemplateSpecification { +export namespace RejectVpcPeeringConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateSpecification): any => ({ + export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes a license configuration.

                                                        - */ -export interface LicenseConfigurationRequest { +export interface RejectVpcPeeringConnectionResult { /** - *

                                                        The Amazon Resource Name (ARN) of the license configuration.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        */ - LicenseConfigurationArn?: string; + Return?: boolean; } -export namespace LicenseConfigurationRequest { +export namespace RejectVpcPeeringConnectionResult { /** * @internal */ - export const filterSensitiveLog = (obj: LicenseConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionResult): any => ({ ...obj, }); } -/** - *

                                                        The metadata options for the instance.

                                                        - */ -export interface InstanceMetadataOptionsRequest { +export interface ReleaseAddressRequest { /** - *

                                                        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.

                                                        + *

                                                        [EC2-VPC] The allocation ID. Required for EC2-VPC.

                                                        */ - HttpTokens?: HttpTokensState | string; + AllocationId?: 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

                                                        + *

                                                        [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                        */ - HttpPutResponseHopLimit?: number; + PublicIp?: string; /** - *

                                                        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 set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises + * IP addresses.

                                                        + *

                                                        If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

                                                        + *

                                                        You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you + * receive an InvalidParameterCombination error.

                                                        */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + NetworkBorderGroup?: string; /** - *

                                                        Enables or disables the IPv6 endpoint for the instance metadata 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.

                                                        */ - HttpProtocolIpv6?: InstanceMetadataProtocolState | string; + DryRun?: boolean; } -export namespace InstanceMetadataOptionsRequest { +export namespace ReleaseAddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceMetadataOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ReleaseAddressRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes the options for instance hostnames.

                                                        - */ -export interface PrivateDnsNameOptionsRequest { +export interface ReleaseHostsRequest { /** - *

                                                        The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be - * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based - * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance - * IPv4 address or the instance ID.

                                                        + *

                                                        The IDs of the Dedicated Hosts to release.

                                                        */ - HostnameType?: HostnameType | string; + HostIds: string[] | undefined; +} +export namespace ReleaseHostsRequest { /** - *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                                        + * @internal */ - EnableResourceNameDnsARecord?: boolean; + export const filterSensitiveLog = (obj: ReleaseHostsRequest): any => ({ + ...obj, + }); +} +export interface ReleaseHostsResult { /** - *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                                        + *

                                                        The IDs of the Dedicated Hosts that were successfully released.

                                                        */ - EnableResourceNameDnsAAAARecord?: boolean; + Successful?: string[]; + + /** + *

                                                        The IDs of the Dedicated Hosts that could not be released, including an error + * message.

                                                        + */ + Unsuccessful?: UnsuccessfulItem[]; } -export namespace PrivateDnsNameOptionsRequest { +export namespace ReleaseHostsResult { /** * @internal */ - export const filterSensitiveLog = (obj: PrivateDnsNameOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ReleaseHostsResult): any => ({ ...obj, }); } -export interface RunInstancesRequest { +export interface ReleaseIpamPoolAllocationRequest { /** - *

                                                        The block device mapping, which defines the EBS volumes and instance store - * volumes to attach to the instance at launch. For more information, see Block device mappings - * in the Amazon EC2 User Guide.

                                                        + *

                                                        A check for whether you have the required permissions for the action without actually making the request + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - BlockDeviceMappings?: BlockDeviceMapping[]; + DryRun?: boolean; /** - *

                                                        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 ID of the IPAM pool which contains the allocation you want to release.

                                                        */ - ImageId?: string; + IpamPoolId: string | undefined; /** - *

                                                        The instance type. For more information, see Instance types in the - * Amazon EC2 User Guide.

                                                        - *

                                                        Default: m1.small - *

                                                        + *

                                                        The CIDR of the allocation you want to release.

                                                        */ - InstanceType?: _InstanceType | string; + Cidr: string | undefined; /** - *

                                                        [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.

                                                        + *

                                                        The ID of the allocation.

                                                        */ - Ipv6AddressCount?: number; + IpamPoolAllocationId?: string; +} +export namespace ReleaseIpamPoolAllocationRequest { /** - *

                                                        [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 - * number of IPv6 addresses in the same request. You cannot 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.

                                                        + * @internal */ - Ipv6Addresses?: InstanceIpv6Address[]; + export const filterSensitiveLog = (obj: ReleaseIpamPoolAllocationRequest): any => ({ + ...obj, + }); +} +export interface ReleaseIpamPoolAllocationResult { /** - *

                                                        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 EC2 User Guide.

                                                        - *
                                                        + *

                                                        Indicates if the release was successful.

                                                        */ - KernelId?: string; + Success?: boolean; +} +export namespace ReleaseIpamPoolAllocationResult { /** - *

                                                        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.

                                                        - *
                                                        + * @internal */ - KeyName?: string; + export const filterSensitiveLog = (obj: ReleaseIpamPoolAllocationResult): any => ({ + ...obj, + }); +} +export interface ReplaceIamInstanceProfileAssociationRequest { /** - *

                                                        The maximum number of instances to launch. If you specify more instances than Amazon - * EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible - * number of instances above MinCount.

                                                        - *

                                                        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 FAQ.

                                                        + *

                                                        The IAM instance profile.

                                                        */ - MaxCount: number | undefined; + IamInstanceProfile: IamInstanceProfileSpecification | undefined; /** - *

                                                        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.

                                                        + *

                                                        The ID of the existing IAM instance profile association.

                                                        */ - MinCount: number | undefined; + AssociationId: string | undefined; +} +export namespace ReplaceIamInstanceProfileAssociationRequest { /** - *

                                                        Specifies whether detailed monitoring is enabled for the instance.

                                                        + * @internal */ - Monitoring?: RunInstancesMonitoringEnabled; + export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationRequest): any => ({ + ...obj, + }); +} +export interface ReplaceIamInstanceProfileAssociationResult { /** - *

                                                        The placement for the instance.

                                                        + *

                                                        Information about the IAM instance profile association.

                                                        */ - Placement?: Placement; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; +} +export namespace ReplaceIamInstanceProfileAssociationResult { /** - *

                                                        The ID of the RAM disk to select. 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, go to the Amazon Web Services Resource Center and search for the - * kernel ID.

                                                        - * - *

                                                        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - * information, see PV-GRUB in the - * Amazon EC2 User Guide.

                                                        - *
                                                        + * @internal */ - RamdiskId?: string; + export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationResult): any => ({ + ...obj, + }); +} +export interface ReplaceNetworkAclAssociationRequest { /** - *

                                                        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.

                                                        + *

                                                        The ID of the current association between the original network ACL and the subnet.

                                                        */ - SecurityGroupIds?: string[]; + AssociationId: string | undefined; /** - *

                                                        [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.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - SecurityGroups?: string[]; + DryRun?: boolean; /** - *

                                                        [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.

                                                        + *

                                                        The ID of the new network ACL to associate with the subnet.

                                                        */ - SubnetId?: string; + NetworkAclId: string | undefined; +} +export namespace ReplaceNetworkAclAssociationRequest { /** - *

                                                        The user data to make available to the instance. For more information, see Run commands - * on your Linux instance at launch and Run commands on your Windows instance at launch. 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.

                                                        + * @internal */ - UserData?: string; + export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationRequest): any => ({ + ...obj, + }); +} +export interface ReplaceNetworkAclAssociationResult { /** - *

                                                        Reserved.

                                                        + *

                                                        The ID of the new association.

                                                        */ - AdditionalInfo?: string; + NewAssociationId?: string; +} +export namespace ReplaceNetworkAclAssociationResult { /** - *

                                                        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

                                                        + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationResult): any => ({ + ...obj, + }); +} +export interface ReplaceNetworkAclEntryRequest { /** - *

                                                        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 - *

                                                        + *

                                                        The IPv4 network range to allow or deny, in CIDR notation (for example + * 172.16.0.0/24).

                                                        */ - DisableApiTermination?: boolean; + CidrBlock?: string; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -6375,450 +8244,446 @@ export interface RunInstancesRequest { DryRun?: boolean; /** - *

                                                        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 - *

                                                        + *

                                                        Indicates whether to replace the egress rule.

                                                        + *

                                                        Default: If no value is specified, we replace the ingress rule.

                                                        */ - EbsOptimized?: boolean; + Egress: boolean | undefined; /** - *

                                                        The name or Amazon Resource Name (ARN) of an IAM instance profile.

                                                        + *

                                                        ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol + * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

                                                        */ - IamInstanceProfile?: IamInstanceProfileSpecification; + IcmpTypeCode?: IcmpTypeCode; /** - *

                                                        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 IPv6 network range to allow or deny, in CIDR notation (for example + * 2001:bd8:1234:1a00::/64).

                                                        */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + Ipv6CidrBlock?: string; /** - *

                                                        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.

                                                        + *

                                                        The ID of the ACL.

                                                        */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + NetworkAclId: string | undefined; /** - *

                                                        [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address - * range of the subnet.

                                                        - *

                                                        Only one private IP address can be designated as primary. You can't specify this - * option if you've specified the option to designate a private IP address as the primary - * IP address in a network interface specification. You cannot specify this option if - * you're launching more than one instance in the request.

                                                        - *

                                                        You cannot specify this option and the network interfaces option in the same - * request.

                                                        + *

                                                        TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

                                                        */ - PrivateIpAddress?: string; + PortRange?: PortRange; + + /** + *

                                                        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.

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

                                                        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 EC2 User Guide.

                                                        + *

                                                        Indicates whether to allow or deny the traffic that matches the rule.

                                                        */ - ElasticGpuSpecification?: ElasticGpuSpecification[]; + RuleAction: RuleAction | string | undefined; /** - *

                                                        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 rule number of the entry to replace.

                                                        */ - ElasticInferenceAccelerators?: ElasticInferenceAccelerator[]; + RuleNumber: number | undefined; +} +export namespace ReplaceNetworkAclEntryRequest { /** - *

                                                        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.

                                                        + * @internal */ - TagSpecifications?: TagSpecification[]; + export const filterSensitiveLog = (obj: ReplaceNetworkAclEntryRequest): any => ({ + ...obj, + }); +} +export interface ReplaceRouteRequest { /** - *

                                                        The launch template to use to launch the instances. Any parameters that you specify in - * RunInstances override the same parameters in the launch template. - * You can specify either the name or ID of a launch template, but not both.

                                                        + *

                                                        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.

                                                        */ - LaunchTemplate?: LaunchTemplateSpecification; + DestinationCidrBlock?: string; /** - *

                                                        The market (purchasing) option for the instances.

                                                        - *

                                                        For RunInstances, persistent Spot Instance requests are - * only supported when InstanceInterruptionBehavior is set - * to either hibernate or stop.

                                                        + *

                                                        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.

                                                        */ - InstanceMarketOptions?: InstanceMarketOptionsRequest; + DestinationIpv6CidrBlock?: string; /** - *

                                                        The credit option for CPU usage of the burstable performance instance. Valid values - * are standard and unlimited. To change this attribute after - * launch, use - * ModifyInstanceCreditSpecification. For more information, see Burstable - * performance instances in the Amazon EC2 User Guide.

                                                        - *

                                                        Default: standard (T2 instances) or unlimited (T3/T3a - * instances)

                                                        - * - *

                                                        For T3 instances with host tenancy, only standard is - * supported.

                                                        + *

                                                        The ID of the prefix list for the route.

                                                        */ - CreditSpecification?: CreditSpecificationRequest; + DestinationPrefixListId?: string; /** - *

                                                        The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - CpuOptions?: CpuOptionsRequest; + DryRun?: boolean; /** - *

                                                        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).

                                                        + *

                                                        The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

                                                        */ - CapacityReservationSpecification?: CapacityReservationSpecification; + VpcEndpointId?: string; /** - *

                                                        Indicates whether an instance is enabled for hibernation. For more information, see - * Hibernate - * your instance in the Amazon EC2 User Guide.

                                                        - *

                                                        You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

                                                        + *

                                                        [IPv6 traffic only] The ID of an egress-only internet gateway.

                                                        */ - HibernationOptions?: HibernationOptionsRequest; + EgressOnlyInternetGatewayId?: string; /** - *

                                                        The license configurations.

                                                        + *

                                                        The ID of an internet gateway or virtual private gateway.

                                                        */ - LicenseSpecifications?: LicenseConfigurationRequest[]; + GatewayId?: string; /** - *

                                                        The metadata options for the instance. For more information, see Instance metadata and user data.

                                                        + *

                                                        The ID of a NAT instance in your VPC.

                                                        */ - MetadataOptions?: InstanceMetadataOptionsRequest; + InstanceId?: string; /** - *

                                                        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, - * see - * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

                                                        - *

                                                        You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

                                                        + *

                                                        Specifies whether to reset the local route to its default target (local).

                                                        */ - EnclaveOptions?: EnclaveOptionsRequest; + LocalTarget?: boolean; /** - *

                                                        The options for the instance hostname. The default values are inherited from the subnet.

                                                        + *

                                                        [IPv4 traffic only] The ID of a NAT gateway.

                                                        */ - PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest; -} + NatGatewayId?: string; -export namespace RunInstancesRequest { /** - * @internal + *

                                                        The ID of a transit gateway.

                                                        */ - export const filterSensitiveLog = (obj: RunInstancesRequest): any => ({ - ...obj, - }); -} + TransitGatewayId?: string; -/** - *

                                                        Describes an EBS volume for a Scheduled Instance.

                                                        - */ -export interface ScheduledInstancesEbs { /** - *

                                                        Indicates whether the volume is deleted on instance termination.

                                                        + *

                                                        The ID of the local gateway.

                                                        */ - DeleteOnTermination?: boolean; + LocalGatewayId?: string; /** - *

                                                        Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

                                                        + *

                                                        [IPv4 traffic only] The ID of a carrier gateway.

                                                        */ - Encrypted?: boolean; + CarrierGatewayId?: 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 - * instances built on the Nitro System. Other instance families guarantee performance up to - * 32,000 IOPS. For more information, see Amazon EBS volume types in the - * Amazon EC2 User Guide.

                                                        - *

                                                        This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

                                                        + *

                                                        The ID of a network interface.

                                                        */ - Iops?: number; + NetworkInterfaceId?: string; /** - *

                                                        The ID of the snapshot.

                                                        + *

                                                        The ID of the route table.

                                                        */ - SnapshotId?: string; + RouteTableId: string | undefined; /** - *

                                                        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 a VPC peering connection.

                                                        */ - VolumeSize?: number; + VpcPeeringConnectionId?: string; /** - *

                                                        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 - *

                                                        + *

                                                        The Amazon Resource Name (ARN) of the core network.

                                                        */ - VolumeType?: string; + CoreNetworkArn?: string; } -export namespace ScheduledInstancesEbs { +export namespace ReplaceRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesEbs): any => ({ + export const filterSensitiveLog = (obj: ReplaceRouteRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes a block device mapping for a Scheduled Instance.

                                                        - */ -export interface ScheduledInstancesBlockDeviceMapping { - /** - *

                                                        The device name (for example, /dev/sdh or xvdh).

                                                        - */ - DeviceName?: string; - +export interface ReplaceRouteTableAssociationRequest { /** - *

                                                        Parameters used to set up EBS volumes automatically when the instance is launched.

                                                        + *

                                                        The association ID.

                                                        */ - Ebs?: ScheduledInstancesEbs; + AssociationId: string | undefined; /** - *

                                                        To omit the device from the block device mapping, specify an empty 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.

                                                        */ - NoDevice?: string; + DryRun?: boolean; /** - *

                                                        The virtual device name (ephemeralN). Instance store volumes are numbered - * starting from 0. An instance type with two 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.

                                                        - *

                                                        Constraints: For M3 instances, you must specify instance store volumes in the block device - * mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes - * specified in the block device mapping for the AMI.

                                                        + *

                                                        The ID of the new route table to associate with the subnet.

                                                        */ - VirtualName?: string; + RouteTableId: string | undefined; } -export namespace ScheduledInstancesBlockDeviceMapping { +export namespace ReplaceRouteTableAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesBlockDeviceMapping): any => ({ + export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes an IAM instance profile for a Scheduled Instance.

                                                        - */ -export interface ScheduledInstancesIamInstanceProfile { +export interface ReplaceRouteTableAssociationResult { /** - *

                                                        The Amazon Resource Name (ARN).

                                                        + *

                                                        The ID of the new association.

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

                                                        The name.

                                                        + *

                                                        The state of the association.

                                                        */ - Name?: string; + AssociationState?: RouteTableAssociationState; } -export namespace ScheduledInstancesIamInstanceProfile { +export namespace ReplaceRouteTableAssociationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesIamInstanceProfile): any => ({ + export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationResult): any => ({ ...obj, }); } -/** - *

                                                        Describes whether monitoring is enabled for a Scheduled Instance.

                                                        - */ -export interface ScheduledInstancesMonitoring { +export interface ReplaceTransitGatewayRouteRequest { /** - *

                                                        Indicates whether monitoring is enabled.

                                                        + *

                                                        The CIDR range used for the destination match. Routing decisions are based on the most specific match.

                                                        */ - Enabled?: boolean; -} + DestinationCidrBlock: string | undefined; -export namespace ScheduledInstancesMonitoring { /** - * @internal + *

                                                        The ID of the route table.

                                                        */ - export const filterSensitiveLog = (obj: ScheduledInstancesMonitoring): any => ({ - ...obj, - }); -} + TransitGatewayRouteTableId: string | undefined; + + /** + *

                                                        The ID of the attachment.

                                                        + */ + TransitGatewayAttachmentId?: string; + + /** + *

                                                        Indicates whether traffic matching this route is to be dropped.

                                                        + */ + Blackhole?: boolean; -/** - *

                                                        Describes an IPv6 address.

                                                        - */ -export interface ScheduledInstancesIpv6Address { /** - *

                                                        The IPv6 address.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - Ipv6Address?: string; + DryRun?: boolean; } -export namespace ScheduledInstancesIpv6Address { +export namespace ReplaceTransitGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesIpv6Address): any => ({ + export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteRequest): any => ({ ...obj, }); } -/** - *

                                                        Describes a private IPv4 address for a Scheduled Instance.

                                                        - */ -export interface ScheduledInstancesPrivateIpAddressConfig { - /** - *

                                                        Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

                                                        - */ - Primary?: boolean; - +export interface ReplaceTransitGatewayRouteResult { /** - *

                                                        The IPv4 address.

                                                        + *

                                                        Information about the modified route.

                                                        */ - PrivateIpAddress?: string; + Route?: TransitGatewayRoute; } -export namespace ScheduledInstancesPrivateIpAddressConfig { +export namespace ReplaceTransitGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesPrivateIpAddressConfig): any => ({ + export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteResult): any => ({ ...obj, }); } -/** - *

                                                        Describes a network interface for a Scheduled Instance.

                                                        - */ -export interface ScheduledInstancesNetworkInterface { - /** - *

                                                        Indicates whether to assign a public IPv4 address to instances launched in a VPC. The - * public IPv4 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; +export type ReportInstanceReasonCodes = + | "instance-stuck-in-state" + | "not-accepting-credentials" + | "other" + | "password-not-available" + | "performance-ebs-volume" + | "performance-instance-store" + | "performance-network" + | "performance-other" + | "unresponsive"; - /** - *

                                                        Indicates whether to delete the interface when the instance is terminated.

                                                        - */ - DeleteOnTermination?: boolean; +export type ReportStatusType = "impaired" | "ok"; +export interface ReportInstanceStatusRequest { /** - *

                                                        The description.

                                                        + *

                                                        Descriptive text about the health state of your instance.

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

                                                        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; + DryRun?: boolean; /** - *

                                                        The IDs of the security groups.

                                                        + *

                                                        The time at which the reported instance health state ended.

                                                        */ - Groups?: string[]; + EndTime?: Date; /** - *

                                                        The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

                                                        + *

                                                        The instances.

                                                        */ - Ipv6AddressCount?: number; + Instances: string[] | undefined; /** - *

                                                        The specific IPv6 addresses from the subnet range.

                                                        + *

                                                        The reason codes that describe the health state of your instance.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * instance-stuck-in-state: My instance is stuck in a state.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * unresponsive: My instance is unresponsive.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * not-accepting-credentials: My instance is not accepting my + * credentials.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * password-not-available: A password is not available for my + * instance.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * performance-network: My instance is experiencing performance + * problems that I believe are network related.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * performance-instance-store: My instance is experiencing performance + * problems that I believe are related to the instance stores.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * performance-ebs-volume: My instance is experiencing performance + * problems that I believe are related to an EBS volume.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * performance-other: My instance is experiencing performance + * problems.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * other: [explain using the description parameter]

                                                          + *
                                                        • + *
                                                        */ - Ipv6Addresses?: ScheduledInstancesIpv6Address[]; + ReasonCodes: (ReportInstanceReasonCodes | string)[] | undefined; /** - *

                                                        The ID of the network interface.

                                                        + *

                                                        The time at which the reported instance health state began.

                                                        */ - NetworkInterfaceId?: string; + StartTime?: Date; /** - *

                                                        The IPv4 address of the network interface within the subnet.

                                                        + *

                                                        The status of all instances listed.

                                                        */ - PrivateIpAddress?: string; + Status: ReportStatusType | string | undefined; +} +export namespace ReportInstanceStatusRequest { /** - *

                                                        The private IPv4 addresses.

                                                        + * @internal */ - PrivateIpAddressConfigs?: ScheduledInstancesPrivateIpAddressConfig[]; + export const filterSensitiveLog = (obj: ReportInstanceStatusRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for RequestSpotFleet.

                                                        + */ +export interface RequestSpotFleetRequest { /** - *

                                                        The number of secondary private IPv4 addresses.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                        */ - SecondaryPrivateIpAddressCount?: number; + DryRun?: boolean; /** - *

                                                        The ID of the subnet.

                                                        + *

                                                        The configuration for the Spot Fleet request.

                                                        */ - SubnetId?: string; + SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; } -export namespace ScheduledInstancesNetworkInterface { +export namespace RequestSpotFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesNetworkInterface): any => ({ + export const filterSensitiveLog = (obj: RequestSpotFleetRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the placement for a Scheduled Instance.

                                                        + *

                                                        Contains the output of RequestSpotFleet.

                                                        */ -export interface ScheduledInstancesPlacement { - /** - *

                                                        The Availability Zone.

                                                        - */ - AvailabilityZone?: string; - +export interface RequestSpotFleetResponse { /** - *

                                                        The name of the placement group.

                                                        + *

                                                        The ID of the Spot Fleet request.

                                                        */ - GroupName?: string; + SpotFleetRequestId?: string; } -export namespace ScheduledInstancesPlacement { +export namespace RequestSpotFleetResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesPlacement): any => ({ + export const filterSensitiveLog = (obj: RequestSpotFleetResponse): any => ({ ...obj, }); } /** - *

                                                        Describes the launch specification for a Scheduled Instance.

                                                        - *

                                                        If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. - * You can specify the subnet using either SubnetId or NetworkInterface.

                                                        + *

                                                        Describes the launch specification for an instance.

                                                        */ -export interface ScheduledInstancesLaunchSpecification { +export interface RequestSpotLaunchSpecification { /** - *

                                                        The block device mapping entries.

                                                        + *

                                                        One or more security group IDs.

                                                        + */ + SecurityGroupIds?: 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.

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

                                                        Deprecated.

                                                        + */ + AddressingType?: string; + + /** + *

                                                        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.

                                                        */ - BlockDeviceMappings?: ScheduledInstancesBlockDeviceMapping[]; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                        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.

                                                        + *

                                                        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 *

                                                        */ @@ -6827,17 +8692,17 @@ export interface ScheduledInstancesLaunchSpecification { /** *

                                                        The IAM instance profile.

                                                        */ - IamInstanceProfile?: ScheduledInstancesIamInstanceProfile; + IamInstanceProfile?: IamInstanceProfileSpecification; /** - *

                                                        The ID of the Amazon Machine Image (AMI).

                                                        + *

                                                        The ID of the AMI.

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

                                                        The instance type.

                                                        */ - InstanceType?: string; + InstanceType?: _InstanceType | string; /** *

                                                        The ID of the kernel.

                                                        @@ -6850,19 +8715,21 @@ export interface ScheduledInstancesLaunchSpecification { KeyName?: string; /** - *

                                                        Enable or disable monitoring for the instances.

                                                        + *

                                                        Indicates whether basic or detailed monitoring is enabled for the instance.

                                                        + *

                                                        Default: Disabled

                                                        */ - Monitoring?: ScheduledInstancesMonitoring; + Monitoring?: RunInstancesMonitoringEnabled; /** - *

                                                        The network interfaces.

                                                        + *

                                                        One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                        */ - NetworkInterfaces?: ScheduledInstancesNetworkInterface[]; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                        The placement information.

                                                        + *

                                                        The placement information for the instance.

                                                        */ - Placement?: ScheduledInstancesPlacement; + Placement?: SpotPlacement; /** *

                                                        The ID of the RAM disk.

                                                        @@ -6870,114 +8737,180 @@ export interface ScheduledInstancesLaunchSpecification { RamdiskId?: string; /** - *

                                                        The IDs of the security groups.

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

                                                        The ID of the subnet in which to launch the instances.

                                                        + *

                                                        The ID of the subnet in which to launch the instance.

                                                        */ SubnetId?: string; /** - *

                                                        The base64-encoded MIME user data.

                                                        + *

                                                        The Base64-encoded user data for the instance. User data is limited to 16 KB.

                                                        */ UserData?: string; } -export namespace ScheduledInstancesLaunchSpecification { +export namespace RequestSpotLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstancesLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: RequestSpotLaunchSpecification): any => ({ ...obj, }); } /** - *

                                                        Contains the parameters for RunScheduledInstances.

                                                        + *

                                                        Contains the parameters for RequestSpotInstances.

                                                        */ -export interface RunScheduledInstancesRequest { +export interface RequestSpotInstancesRequest { /** - *

                                                        Unique, case-sensitive identifier that ensures the idempotency of the request. - * For more information, see Ensuring Idempotency.

                                                        + *

                                                        The user-specified name for a logical grouping of requests.

                                                        + *

                                                        When you specify an Availability Zone group in a Spot Instance request, all Spot + * Instances in the request are launched in the same Availability Zone. Instance proximity + * is maintained with this parameter, but the choice of Availability Zone is not. The group + * applies only to requests for Spot Instances of the same instance type. Any additional + * Spot Instance requests that are specified with the same Availability Zone group name are + * launched in that same Availability Zone, as long as at least one instance from the group + * is still active.

                                                        + *

                                                        If there is no active instance running in the Availability Zone group that you specify + * for a new Spot Instance request (all instances are terminated, the request is expired, + * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches + * the instance in any Availability Zone where the constraint can be met. Consequently, the + * subsequent set of Spot Instances could be placed in a different zone from the original + * request, even if you specified the same Availability Zone group.

                                                        + *

                                                        Default: Instances are launched in any available Availability Zone.

                                                        + */ + AvailabilityZoneGroup?: string; + + /** + *

                                                        Deprecated.

                                                        + */ + BlockDurationMinutes?: number; + + /** + *

                                                        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; /** - *

                                                        Checks whether you have the required permissions for the action, without 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 Spot Instances to launch.

                                                        + *

                                                        Default: 1

                                                        + */ + InstanceCount?: number; + + /** + *

                                                        The instance launch group. Launch groups are Spot Instances that launch together and + * terminate together.

                                                        + *

                                                        Default: Instances are launched and terminated individually

                                                        + */ + LaunchGroup?: string; + + /** + *

                                                        The launch specification.

                                                        + */ + LaunchSpecification?: RequestSpotLaunchSpecification; + + /** + *

                                                        The maximum price per hour that you are willing to pay for a Spot Instance. The + * default is the On-Demand price.

                                                        + */ + SpotPrice?: string; + + /** + *

                                                        The Spot Instance request type.

                                                        + *

                                                        Default: one-time + *

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

                                                        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.

                                                        */ - DryRun?: boolean; + ValidFrom?: Date; /** - *

                                                        The number of instances.

                                                        - *

                                                        Default: 1

                                                        + *

                                                        The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ).

                                                        + *
                                                          + *
                                                        • + *

                                                          For a persistent request, the request remains active until the + * ValidUntil date and time is reached. Otherwise, the request + * remains active until you cancel it.

                                                          + *
                                                        • + *
                                                        • + *

                                                          For a one-time request, the request remains active until all instances launch, + * the request is canceled, or the ValidUntil date and time is + * reached. By default, the request is valid for 7 days from the date the request + * was created.

                                                          + *
                                                        • + *
                                                        */ - InstanceCount?: number; + ValidUntil?: Date; /** - *

                                                        The launch specification. You must match the instance type, Availability Zone, - * network, and platform of the schedule that you purchased.

                                                        + *

                                                        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.

                                                        */ - LaunchSpecification: ScheduledInstancesLaunchSpecification | undefined; + TagSpecifications?: TagSpecification[]; /** - *

                                                        The Scheduled Instance ID.

                                                        + *

                                                        The behavior when a Spot Instance is interrupted. The default is terminate.

                                                        */ - ScheduledInstanceId: string | undefined; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace RunScheduledInstancesRequest { +export namespace RequestSpotInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RunScheduledInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: RequestSpotInstancesRequest): any => ({ ...obj, }); } /** - *

                                                        Contains the output of RunScheduledInstances.

                                                        + *

                                                        Contains the output of RequestSpotInstances.

                                                        */ -export interface RunScheduledInstancesResult { +export interface RequestSpotInstancesResult { /** - *

                                                        The IDs of the newly launched instances.

                                                        + *

                                                        One or more Spot Instance requests.

                                                        */ - InstanceIdSet?: string[]; + SpotInstanceRequests?: SpotInstanceRequest[]; } -export namespace RunScheduledInstancesResult { +export namespace RequestSpotInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: RunScheduledInstancesResult): any => ({ + export const filterSensitiveLog = (obj: RequestSpotInstancesResult): any => ({ ...obj, }); } -export interface SearchLocalGatewayRoutesRequest { - /** - *

                                                        The ID of the local gateway route table.

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

                                                        One or more filters.

                                                        - */ - Filters?: Filter[]; - +export interface ResetAddressAttributeRequest { /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        [EC2-VPC] The allocation ID.

                                                        */ - MaxResults?: number; + AllocationId: string | undefined; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        The attribute of the IP address.

                                                        */ - NextToken?: string; + Attribute: AddressAttributeName | string | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -6987,96 +8920,32 @@ export interface SearchLocalGatewayRoutesRequest { DryRun?: boolean; } -export namespace SearchLocalGatewayRoutesRequest { +export namespace ResetAddressAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SearchLocalGatewayRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: ResetAddressAttributeRequest): any => ({ ...obj, }); } -export interface SearchLocalGatewayRoutesResult { - /** - *

                                                        Information about the routes.

                                                        - */ - Routes?: LocalGatewayRoute[]; - +export interface ResetAddressAttributeResult { /** - *

                                                        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 IP address.

                                                        */ - NextToken?: string; + Address?: AddressAttribute; } -export namespace SearchLocalGatewayRoutesResult { +export namespace ResetAddressAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: SearchLocalGatewayRoutesResult): any => ({ + export const filterSensitiveLog = (obj: ResetAddressAttributeResult): any => ({ ...obj, }); } -export interface SearchTransitGatewayMulticastGroupsRequest { - /** - *

                                                        The ID of the transit gateway multicast domain.

                                                        - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

                                                        One or more filters. The possible values are:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * group-ip-address - The IP address of the transit gateway multicast group.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * is-group-member - The resource is a group member. Valid values are true | false.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * is-group-source - The resource is a group source. Valid values are true | false.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * member-type - The member type. Valid values are igmp | static.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * resource-id - The ID of the resource.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * source-type - The source type. Valid values are igmp | static.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * subnet-id - The ID of the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                          - *
                                                        • - *
                                                        - */ - 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 interface ResetEbsDefaultKmsKeyIdRequest { /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7085,312 +8954,301 @@ export interface SearchTransitGatewayMulticastGroupsRequest { DryRun?: boolean; } -export namespace SearchTransitGatewayMulticastGroupsRequest { +export namespace ResetEbsDefaultKmsKeyIdRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SearchTransitGatewayMulticastGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdRequest): any => ({ ...obj, }); } -export type MembershipType = "igmp" | "static"; - -/** - *

                                                        Describes the transit gateway multicast group resources.

                                                        - */ -export interface TransitGatewayMulticastGroup { +export interface ResetEbsDefaultKmsKeyIdResult { /** - *

                                                        The IP address assigned to the transit gateway multicast group.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

                                                        */ - GroupIpAddress?: string; + KmsKeyId?: string; +} +export namespace ResetEbsDefaultKmsKeyIdResult { /** - *

                                                        The ID of the transit gateway attachment.

                                                        + * @internal */ - TransitGatewayAttachmentId?: string; + export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdResult): any => ({ + ...obj, + }); +} + +export type ResetFpgaImageAttributeName = "loadPermission"; +export interface ResetFpgaImageAttributeRequest { /** - *

                                                        The ID of the subnet.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 ID of the resource.

                                                        + *

                                                        The ID of the AFI.

                                                        */ - ResourceId?: string; + FpgaImageId: string | undefined; /** - *

                                                        The type of resource, for example a VPC attachment.

                                                        + *

                                                        The attribute.

                                                        */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Attribute?: ResetFpgaImageAttributeName | string; +} +export namespace ResetFpgaImageAttributeRequest { /** - *

                                                        The ID of the Amazon Web Services account that owns the transit gateway multicast domain group resource.

                                                        + * @internal */ - ResourceOwnerId?: string; + export const filterSensitiveLog = (obj: ResetFpgaImageAttributeRequest): any => ({ + ...obj, + }); +} +export interface ResetFpgaImageAttributeResult { /** - *

                                                        The ID of the transit gateway attachment.

                                                        + *

                                                        Is true if the request succeeds, and an error otherwise.

                                                        */ - NetworkInterfaceId?: string; + Return?: boolean; +} +export namespace ResetFpgaImageAttributeResult { /** - *

                                                        Indicates that the resource is a transit gateway multicast group member.

                                                        + * @internal */ - GroupMember?: boolean; + export const filterSensitiveLog = (obj: ResetFpgaImageAttributeResult): any => ({ + ...obj, + }); +} +export type ResetImageAttributeName = "launchPermission"; + +/** + *

                                                        Contains the parameters for ResetImageAttribute.

                                                        + */ +export interface ResetImageAttributeRequest { /** - *

                                                        Indicates that the resource is a transit gateway multicast group member.

                                                        + *

                                                        The attribute to reset (currently you can only reset the launch permission attribute).

                                                        */ - GroupSource?: boolean; + Attribute: ResetImageAttributeName | string | undefined; /** - *

                                                        The member type (for example, static).

                                                        + *

                                                        The ID of the AMI.

                                                        */ - MemberType?: MembershipType | string; + ImageId: string | undefined; /** - *

                                                        The source 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.

                                                        */ - SourceType?: MembershipType | string; + DryRun?: boolean; } -export namespace TransitGatewayMulticastGroup { +export namespace ResetImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastGroup): any => ({ + export const filterSensitiveLog = (obj: ResetImageAttributeRequest): any => ({ ...obj, }); } -export interface SearchTransitGatewayMulticastGroupsResult { +export interface ResetInstanceAttributeRequest { /** - *

                                                        Information about the transit gateway multicast group.

                                                        + *

                                                        The attribute to reset.

                                                        + * + *

                                                        You can only reset the following attributes: kernel | + * ramdisk | sourceDestCheck. To change an instance + * attribute, use ModifyInstanceAttribute.

                                                        + *
                                                        */ - MulticastGroups?: TransitGatewayMulticastGroup[]; + Attribute: InstanceAttributeName | string | undefined; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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 instance.

                                                        + */ + InstanceId: string | undefined; } -export namespace SearchTransitGatewayMulticastGroupsResult { +export namespace ResetInstanceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SearchTransitGatewayMulticastGroupsResult): any => ({ + export const filterSensitiveLog = (obj: ResetInstanceAttributeRequest): any => ({ ...obj, }); } -export interface SearchTransitGatewayRoutesRequest { - /** - *

                                                        The ID of the transit gateway route table.

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

                                                        Contains the parameters for ResetNetworkInterfaceAttribute.

                                                        + */ +export interface ResetNetworkInterfaceAttributeRequest { /** - *

                                                        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.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * attachment.resource-type - The attachment resource type. Valid values - * are vpc | vpn | direct-connect-gateway | - * peering | connect.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * prefix-list-id - The ID of the prefix list.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * 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).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * type - The type of route (propagated | - * static).

                                                          - *
                                                        • - *
                                                        + *

                                                        Checks whether you have the required permissions for the action, without 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[] | undefined; + DryRun?: boolean; /** - *

                                                        The maximum number of routes to return.

                                                        + *

                                                        The ID of the network interface.

                                                        */ - MaxResults?: number; + 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.

                                                        + *

                                                        The source/destination checking attribute. Resets the value to true.

                                                        */ - DryRun?: boolean; + SourceDestCheck?: string; } -export namespace SearchTransitGatewayRoutesRequest { +export namespace ResetNetworkInterfaceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SearchTransitGatewayRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: ResetNetworkInterfaceAttributeRequest): any => ({ ...obj, }); } -export interface SearchTransitGatewayRoutesResult { +export interface ResetSnapshotAttributeRequest { + /** + *

                                                        The attribute to reset. Currently, only the attribute for permission to create volumes can + * be reset.

                                                        + */ + Attribute: SnapshotAttributeName | string | undefined; + /** - *

                                                        Information about the routes.

                                                        + *

                                                        The ID of the snapshot.

                                                        */ - Routes?: TransitGatewayRoute[]; + SnapshotId: string | undefined; /** - *

                                                        Indicates whether there are additional routes available.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - AdditionalRoutesAvailable?: boolean; + DryRun?: boolean; } -export namespace SearchTransitGatewayRoutesResult { +export namespace ResetSnapshotAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SearchTransitGatewayRoutesResult): any => ({ + export const filterSensitiveLog = (obj: ResetSnapshotAttributeRequest): any => ({ ...obj, }); } -export interface SendDiagnosticInterruptRequest { - /** - *

                                                        The ID of the instance.

                                                        - */ - InstanceId: string | undefined; - +export interface RestoreAddressToClassicRequest { /** *

                                                        Checks whether you have the required permissions for the action, without 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 SendDiagnosticInterruptRequest { +export namespace RestoreAddressToClassicRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SendDiagnosticInterruptRequest): any => ({ + export const filterSensitiveLog = (obj: RestoreAddressToClassicRequest): any => ({ ...obj, }); } -export interface StartInstancesRequest { - /** - *

                                                        The IDs of the instances.

                                                        - */ - InstanceIds: string[] | undefined; - +export interface RestoreAddressToClassicResult { /** - *

                                                        Reserved.

                                                        + *

                                                        The Elastic IP address.

                                                        */ - AdditionalInfo?: string; + PublicIp?: 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 move status for the IP address.

                                                        */ - DryRun?: boolean; + Status?: Status | string; } -export namespace StartInstancesRequest { +export namespace RestoreAddressToClassicResult { /** * @internal */ - export const filterSensitiveLog = (obj: StartInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: RestoreAddressToClassicResult): any => ({ ...obj, }); } -/** - *

                                                        Describes an instance state change.

                                                        - */ -export interface InstanceStateChange { +export interface RestoreManagedPrefixListVersionRequest { /** - *

                                                        The current state of the instance.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - CurrentState?: InstanceState; + DryRun?: boolean; /** - *

                                                        The ID of the instance.

                                                        + *

                                                        The ID of the prefix list.

                                                        */ - InstanceId?: string; + PrefixListId: string | undefined; /** - *

                                                        The previous state of the instance.

                                                        + *

                                                        The version to restore.

                                                        + */ + PreviousVersion: number | undefined; + + /** + *

                                                        The current version number for the prefix list.

                                                        */ - PreviousState?: InstanceState; + CurrentVersion: number | undefined; } -export namespace InstanceStateChange { +export namespace RestoreManagedPrefixListVersionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStateChange): any => ({ + export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionRequest): any => ({ ...obj, }); } -export interface StartInstancesResult { +export interface RestoreManagedPrefixListVersionResult { /** - *

                                                        Information about the started instances.

                                                        + *

                                                        Information about the prefix list.

                                                        */ - StartingInstances?: InstanceStateChange[]; + PrefixList?: ManagedPrefixList; } -export namespace StartInstancesResult { +export namespace RestoreManagedPrefixListVersionResult { /** * @internal */ - export const filterSensitiveLog = (obj: StartInstancesResult): any => ({ + export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionResult): any => ({ ...obj, }); } -export interface StartNetworkInsightsAnalysisRequest { - /** - *

                                                        The ID of the path.

                                                        - */ - NetworkInsightsPathId: string | undefined; - +export interface RestoreSnapshotFromRecycleBinRequest { /** - *

                                                        The Amazon Resource Names (ARN) of the resources that the path must traverse.

                                                        + *

                                                        The ID of the snapshot to restore.

                                                        */ - FilterInArns?: string[]; + SnapshotId: string | undefined; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -7398,98 +9256,101 @@ export interface StartNetworkInsightsAnalysisRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; +} +export namespace RestoreSnapshotFromRecycleBinRequest { /** - *

                                                        The tags to apply.

                                                        + * @internal */ - TagSpecifications?: TagSpecification[]; + export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinRequest): any => ({ + ...obj, + }); +} +export interface RestoreSnapshotFromRecycleBinResult { /** - *

                                                        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 snapshot.

                                                        */ - ClientToken?: string; -} + SnapshotId?: string; -export namespace StartNetworkInsightsAnalysisRequest { /** - * @internal + *

                                                        The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the + * Amazon Elastic Compute Cloud User Guide.

                                                        */ - export const filterSensitiveLog = (obj: StartNetworkInsightsAnalysisRequest): any => ({ - ...obj, - }); -} + OutpostArn?: string; -export interface StartNetworkInsightsAnalysisResult { /** - *

                                                        Information about the network insights analysis.

                                                        + *

                                                        The description for the snapshot.

                                                        */ - NetworkInsightsAnalysis?: NetworkInsightsAnalysis; -} + Description?: string; -export namespace StartNetworkInsightsAnalysisResult { /** - * @internal + *

                                                        Indicates whether the snapshot is encrypted.

                                                        */ - export const filterSensitiveLog = (obj: StartNetworkInsightsAnalysisResult): any => ({ - ...obj, - }); -} + Encrypted?: boolean; -export interface StartVpcEndpointServicePrivateDnsVerificationRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without 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 Amazon Web Services account that owns the EBS snapshot.

                                                        */ - DryRun?: boolean; + OwnerId?: string; + + /** + *

                                                        The progress of the snapshot, as a percentage.

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

                                                        The ID of the endpoint service.

                                                        + *

                                                        The time stamp when the snapshot was initiated.

                                                        */ - ServiceId: string | undefined; -} + StartTime?: Date; -export namespace StartVpcEndpointServicePrivateDnsVerificationRequest { /** - * @internal + *

                                                        The state of the snapshot.

                                                        */ - export const filterSensitiveLog = (obj: StartVpcEndpointServicePrivateDnsVerificationRequest): any => ({ - ...obj, - }); -} + State?: SnapshotState | string; -export interface StartVpcEndpointServicePrivateDnsVerificationResult { /** - *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + *

                                                        The ID of the volume that was used to create the snapshot.

                                                        */ - ReturnValue?: boolean; + VolumeId?: string; + + /** + *

                                                        The size of the volume, in GiB.

                                                        + */ + VolumeSize?: number; } -export namespace StartVpcEndpointServicePrivateDnsVerificationResult { +export namespace RestoreSnapshotFromRecycleBinResult { /** * @internal */ - export const filterSensitiveLog = (obj: StartVpcEndpointServicePrivateDnsVerificationResult): any => ({ + export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinResult): any => ({ ...obj, }); } -export interface StopInstancesRequest { +export interface RestoreSnapshotTierRequest { /** - *

                                                        The IDs of the instances.

                                                        + *

                                                        The ID of the snapshot to restore.

                                                        */ - InstanceIds: string[] | undefined; + SnapshotId: string | undefined; /** - *

                                                        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, - * see Hibernate - * your instance in the Amazon EC2 User Guide.

                                                        - *

                                                        Default: false - *

                                                        + *

                                                        Specifies the number of days for which to temporarily restore an archived snapshot. + * Required for temporary restores only. The snapshot will be automatically re-archived + * after this period.

                                                        + *

                                                        To temporarily restore an archived snapshot, specify the number of days and omit + * the PermanentRestore parameter or set it to + * false.

                                                        + */ + TemporaryRestoreDays?: number; + + /** + *

                                                        Indicates whether to permanently restore an archived snapshot. To permanently restore + * an archived snapshot, specify true and omit the + * RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

                                                        */ - Hibernate?: boolean; + PermanentRestore?: boolean; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -7497,59 +9358,70 @@ export interface StopInstancesRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; - - /** - *

                                                        Forces the instances to stop. The instances do not 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. This option is not recommended for Windows - * instances.

                                                        - *

                                                        Default: false - *

                                                        - */ - Force?: boolean; } -export namespace StopInstancesRequest { +export namespace RestoreSnapshotTierRequest { /** * @internal */ - export const filterSensitiveLog = (obj: StopInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: RestoreSnapshotTierRequest): any => ({ ...obj, }); } -export interface StopInstancesResult { +export interface RestoreSnapshotTierResult { + /** + *

                                                        The ID of the snapshot.

                                                        + */ + SnapshotId?: string; + + /** + *

                                                        The date and time when the snapshot restore process started.

                                                        + */ + RestoreStartTime?: Date; + + /** + *

                                                        For temporary restores only. The number of days for which the archived snapshot + * is temporarily restored.

                                                        + */ + RestoreDuration?: number; + /** - *

                                                        Information about the stopped instances.

                                                        + *

                                                        Indicates whether the snapshot is permanently restored. true indicates a permanent + * restore. false indicates a temporary restore.

                                                        */ - StoppingInstances?: InstanceStateChange[]; + IsPermanentRestore?: boolean; } -export namespace StopInstancesResult { +export namespace RestoreSnapshotTierResult { /** * @internal */ - export const filterSensitiveLog = (obj: StopInstancesResult): any => ({ + export const filterSensitiveLog = (obj: RestoreSnapshotTierResult): any => ({ ...obj, }); } -export interface TerminateClientVpnConnectionsRequest { +export interface RevokeClientVpnIngressRequest { /** - *

                                                        The ID of the Client VPN endpoint to which the client is connected.

                                                        + *

                                                        The ID of the Client VPN endpoint with which the authorization rule is associated.

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

                                                        The ID of the client connection to be terminated.

                                                        + *

                                                        The IPv4 address range, in CIDR notation, of the network for which access is being removed.

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

                                                        The ID of the Active Directory group for which to revoke access.

                                                        */ - ConnectionId?: string; + AccessGroupId?: 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.

                                                        + *

                                                        Indicates whether access should be revoked for all clients.

                                                        */ - Username?: string; + RevokeAllGroups?: 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.

                                                        @@ -7557,197 +9429,172 @@ export interface TerminateClientVpnConnectionsRequest { DryRun?: boolean; } -export namespace TerminateClientVpnConnectionsRequest { +export namespace RevokeClientVpnIngressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TerminateClientVpnConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: RevokeClientVpnIngressRequest): any => ({ ...obj, }); } -/** - *

                                                        Information about a terminated Client VPN endpoint client connection.

                                                        - */ -export interface TerminateConnectionStatus { +export interface RevokeClientVpnIngressResult { /** - *

                                                        The ID of the client connection.

                                                        + *

                                                        The current state of the authorization rule.

                                                        */ - ConnectionId?: string; + Status?: ClientVpnAuthorizationRuleStatus; +} +export namespace RevokeClientVpnIngressResult { /** - *

                                                        The state of the client connection.

                                                        + * @internal */ - PreviousStatus?: ClientVpnConnectionStatus; + export const filterSensitiveLog = (obj: RevokeClientVpnIngressResult): any => ({ + ...obj, + }); +} +export interface RevokeSecurityGroupEgressRequest { /** - *

                                                        A message about the status of the client connection, if applicable.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - CurrentStatus?: ClientVpnConnectionStatus; -} + DryRun?: boolean; -export namespace TerminateConnectionStatus { /** - * @internal + *

                                                        The ID of the security group.

                                                        */ - export const filterSensitiveLog = (obj: TerminateConnectionStatus): any => ({ - ...obj, - }); -} + GroupId: string | undefined; -export interface TerminateClientVpnConnectionsResult { /** - *

                                                        The ID of the Client VPN endpoint.

                                                        + *

                                                        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.

                                                        */ - ClientVpnEndpointId?: string; + IpPermissions?: IpPermission[]; /** - *

                                                        The user who established the terminated client connections.

                                                        + *

                                                        The IDs of the security group rules.

                                                        */ - Username?: string; + SecurityGroupRuleIds?: string[]; /** - *

                                                        The current state of the client connections.

                                                        + *

                                                        Not supported. Use a set of IP permissions to specify the CIDR.

                                                        */ - ConnectionStatuses?: TerminateConnectionStatus[]; -} + CidrIp?: string; -export namespace TerminateClientVpnConnectionsResult { /** - * @internal + *

                                                        Not supported. Use a set of IP permissions to specify the port.

                                                        */ - export const filterSensitiveLog = (obj: TerminateClientVpnConnectionsResult): any => ({ - ...obj, - }); -} + FromPort?: number; -export interface TerminateInstancesRequest { /** - *

                                                        The IDs of the instances.

                                                        - *

                                                        Constraints: Up to 1000 instance IDs. We recommend breaking up this request into - * smaller batches.

                                                        + *

                                                        Not supported. Use a set of IP permissions to specify the protocol name or + * number.

                                                        */ - InstanceIds: string[] | undefined; + 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.

                                                        + *

                                                        Not supported. Use a set of IP permissions to specify the port.

                                                        */ - DryRun?: boolean; -} + ToPort?: number; -export namespace TerminateInstancesRequest { /** - * @internal + *

                                                        Not supported. Use a set of IP permissions to specify a + * destination security group.

                                                        */ - export const filterSensitiveLog = (obj: TerminateInstancesRequest): any => ({ - ...obj, - }); -} + SourceSecurityGroupName?: string; -export interface TerminateInstancesResult { /** - *

                                                        Information about the terminated instances.

                                                        + *

                                                        Not supported. Use a set of IP permissions to specify a destination security + * group.

                                                        */ - TerminatingInstances?: InstanceStateChange[]; + SourceSecurityGroupOwnerId?: string; } -export namespace TerminateInstancesResult { +export namespace RevokeSecurityGroupEgressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TerminateInstancesResult): any => ({ + export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressRequest): any => ({ ...obj, }); } -export interface UnassignIpv6AddressesRequest { - /** - *

                                                        The IPv6 addresses to unassign from the network interface.

                                                        - */ - Ipv6Addresses?: string[]; - +export interface RevokeSecurityGroupEgressResult { /** - *

                                                        One or more IPv6 prefixes to unassign from the network interface.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        */ - Ipv6Prefixes?: string[]; + Return?: boolean; /** - *

                                                        The ID of the network interface.

                                                        + *

                                                        The outbound rules that were unknown to the service. In some cases, + * unknownIpPermissionSet might be in a different format from the request + * parameter.

                                                        */ - NetworkInterfaceId: string | undefined; + UnknownIpPermissions?: IpPermission[]; } -export namespace UnassignIpv6AddressesRequest { +export namespace RevokeSecurityGroupEgressResult { /** * @internal */ - export const filterSensitiveLog = (obj: UnassignIpv6AddressesRequest): any => ({ + export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressResult): any => ({ ...obj, }); } -export interface UnassignIpv6AddressesResult { +export interface RevokeSecurityGroupIngressRequest { /** - *

                                                        The ID of the network interface.

                                                        + *

                                                        The CIDR IP address range. You can't specify this parameter when specifying a source security group.

                                                        */ - NetworkInterfaceId?: string; + CidrIp?: string; /** - *

                                                        The IPv6 addresses that have been unassigned from the network interface.

                                                        + *

                                                        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 ICMP types.

                                                        */ - UnassignedIpv6Addresses?: string[]; + FromPort?: number; /** - *

                                                        The IPv4 prefixes that have been unassigned from the network interface.

                                                        + *

                                                        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.

                                                        */ - UnassignedIpv6Prefixes?: string[]; -} + GroupId?: string; -export namespace UnassignIpv6AddressesResult { /** - * @internal + *

                                                        [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.

                                                        */ - export const filterSensitiveLog = (obj: UnassignIpv6AddressesResult): any => ({ - ...obj, - }); -} + GroupName?: string; -/** - *

                                                        Contains the parameters for UnassignPrivateIpAddresses.

                                                        - */ -export interface UnassignPrivateIpAddressesRequest { /** - *

                                                        The ID of the network interface.

                                                        + *

                                                        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.

                                                        */ - NetworkInterfaceId: string | undefined; + IpPermissions?: IpPermission[]; /** - *

                                                        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 IP protocol name (tcp, udp, icmp) or number + * (see Protocol Numbers). + * Use -1 to specify all.

                                                        */ - PrivateIpAddresses?: string[]; + IpProtocol?: string; /** - *

                                                        The IPv4 prefixes to unassign from the network interface.

                                                        + *

                                                        [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.

                                                        */ - Ipv4Prefixes?: string[]; -} + SourceSecurityGroupName?: string; -export namespace UnassignPrivateIpAddressesRequest { /** - * @internal + *

                                                        [EC2-Classic] The Amazon Web Services 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.

                                                        */ - export const filterSensitiveLog = (obj: UnassignPrivateIpAddressesRequest): any => ({ - ...obj, - }); -} + SourceSecurityGroupOwnerId?: string; -export interface UnmonitorInstancesRequest { /** - *

                                                        The IDs of the instances.

                                                        + *

                                                        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 ICMP codes for the ICMP type.

                                                        */ - InstanceIds: string[] | undefined; + ToPort?: number; /** *

                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -7755,211 +9602,226 @@ export interface UnmonitorInstancesRequest { * Otherwise, it is UnauthorizedOperation.

                                                        */ DryRun?: boolean; + + /** + *

                                                        The IDs of the security group rules.

                                                        + */ + SecurityGroupRuleIds?: string[]; } -export namespace UnmonitorInstancesRequest { +export namespace RevokeSecurityGroupIngressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UnmonitorInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressRequest): any => ({ ...obj, }); } -export interface UnmonitorInstancesResult { +export interface RevokeSecurityGroupIngressResult { /** - *

                                                        The monitoring information.

                                                        + *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        */ - InstanceMonitorings?: InstanceMonitoring[]; + Return?: boolean; + + /** + *

                                                        The inbound rules that were unknown to the service. In some cases, + * unknownIpPermissionSet might be in a different format from the request + * parameter.

                                                        + */ + UnknownIpPermissions?: IpPermission[]; } -export namespace UnmonitorInstancesResult { +export namespace RevokeSecurityGroupIngressResult { /** * @internal */ - export const filterSensitiveLog = (obj: UnmonitorInstancesResult): any => ({ + export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressResult): any => ({ ...obj, }); } /** - *

                                                        Describes the description of a security group rule.

                                                        - *

                                                        You can use this when you want to update the security group rule description for either an inbound or outbound rule.

                                                        + *

                                                        The CPU options for the instance. Both the core count and threads per core must be + * specified in the request.

                                                        */ -export interface SecurityGroupRuleDescription { +export interface CpuOptionsRequest { /** - *

                                                        The ID of the security group rule.

                                                        + *

                                                        The number of CPU cores for the instance.

                                                        */ - SecurityGroupRuleId?: string; + CoreCount?: number; /** - *

                                                        The description of the security group rule.

                                                        + *

                                                        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.

                                                        */ - Description?: string; + ThreadsPerCore?: number; } -export namespace SecurityGroupRuleDescription { +export namespace CpuOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupRuleDescription): any => ({ + export const filterSensitiveLog = (obj: CpuOptionsRequest): any => ({ ...obj, }); } -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.

                                                        - */ - DryRun?: boolean; - - /** - *

                                                        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; - - /** - *

                                                        [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; - +/** + *

                                                        + * Describes an elastic inference accelerator. + *

                                                        + */ +export interface ElasticInferenceAccelerator { /** - *

                                                        The IP permissions for the security group rule. You must specify either the IP permissions - * or the description.

                                                        + *

                                                        + * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge. + *

                                                        */ - IpPermissions?: IpPermission[]; + Type: string | undefined; /** - *

                                                        The description for the egress security group rules. You must specify either the - * description or the IP permissions.

                                                        + *

                                                        + * The number of elastic inference accelerators to attach to the instance. + *

                                                        + *

                                                        Default: 1

                                                        */ - SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[]; + Count?: number; } -export namespace UpdateSecurityGroupRuleDescriptionsEgressRequest { +export namespace ElasticInferenceAccelerator { /** * @internal */ - export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsEgressRequest): any => ({ + export const filterSensitiveLog = (obj: ElasticInferenceAccelerator): any => ({ ...obj, }); } -export interface UpdateSecurityGroupRuleDescriptionsEgressResult { +/** + *

                                                        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, + * see + * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

                                                        + */ +export interface EnclaveOptionsRequest { /** - *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        + *

                                                        To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

                                                        */ - Return?: boolean; + Enabled?: boolean; } -export namespace UpdateSecurityGroupRuleDescriptionsEgressResult { +export namespace EnclaveOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsEgressResult): any => ({ + export const filterSensitiveLog = (obj: EnclaveOptionsRequest): any => ({ ...obj, }); } -export interface UpdateSecurityGroupRuleDescriptionsIngressRequest { +/** + *

                                                        Indicates whether your instance is configured for hibernation. This parameter is valid + * only if the instance meets the hibernation + * prerequisites. For + * more information, see Hibernate your instance in the + * Amazon EC2 User Guide.

                                                        + */ +export interface HibernationOptionsRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        If you set this parameter to true, your instance is enabled for + * hibernation.

                                                        + *

                                                        Default: false + *

                                                        */ - DryRun?: boolean; + Configured?: boolean; +} +export namespace HibernationOptionsRequest { /** - *

                                                        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.

                                                        + * @internal */ - GroupId?: string; + export const filterSensitiveLog = (obj: HibernationOptionsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        The options for Spot Instances.

                                                        + */ +export interface SpotMarketOptions { /** - *

                                                        [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.

                                                        + *

                                                        The maximum hourly price you're willing to pay for the Spot Instances. The default is + * the On-Demand price.

                                                        */ - GroupName?: string; + MaxPrice?: string; /** - *

                                                        The IP permissions for the security group rule. You must specify either IP permissions - * or a description.

                                                        + *

                                                        The Spot Instance request type. For RunInstances, persistent Spot + * Instance requests are only supported when the instance interruption behavior is either hibernate or + * stop.

                                                        */ - IpPermissions?: IpPermission[]; + SpotInstanceType?: SpotInstanceType | string; /** - *

                                                        [VPC only] The description for the ingress security group rules. You must specify either - * a description or IP permissions.

                                                        + *

                                                        Deprecated.

                                                        */ - SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[]; -} + BlockDurationMinutes?: number; -export namespace UpdateSecurityGroupRuleDescriptionsIngressRequest { /** - * @internal + *

                                                        The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * Supported only for persistent requests.

                                                        + *
                                                          + *
                                                        • + *

                                                          For a persistent request, the request remains active until the + * ValidUntil date and time is reached. Otherwise, the request + * remains active until you cancel it.

                                                          + *
                                                        • + *
                                                        • + *

                                                          For a one-time request, ValidUntil is not supported. The request + * remains active until all instances launch or you cancel the request.

                                                          + *
                                                        • + *
                                                        */ - export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsIngressRequest): any => ({ - ...obj, - }); -} + ValidUntil?: Date; -export interface UpdateSecurityGroupRuleDescriptionsIngressResult { /** - *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        + *

                                                        The behavior when a Spot Instance is interrupted. The default is + * terminate.

                                                        */ - Return?: boolean; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace UpdateSecurityGroupRuleDescriptionsIngressResult { +export namespace SpotMarketOptions { /** * @internal */ - export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsIngressResult): any => ({ + export const filterSensitiveLog = (obj: SpotMarketOptions): any => ({ ...obj, }); } -export interface WithdrawByoipCidrRequest { - /** - *

                                                        The address range, in CIDR notation.

                                                        - */ - 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; -} - -export namespace WithdrawByoipCidrRequest { +/** + *

                                                        Describes the market (purchasing) option for the instances.

                                                        + */ +export interface InstanceMarketOptionsRequest { /** - * @internal + *

                                                        The market type.

                                                        */ - export const filterSensitiveLog = (obj: WithdrawByoipCidrRequest): any => ({ - ...obj, - }); -} + MarketType?: MarketType | string; -export interface WithdrawByoipCidrResult { /** - *

                                                        Information about the address pool.

                                                        + *

                                                        The options for Spot Instances.

                                                        */ - ByoipCidr?: ByoipCidr; + SpotOptions?: SpotMarketOptions; } -export namespace WithdrawByoipCidrResult { +export namespace InstanceMarketOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: WithdrawByoipCidrResult): any => ({ + export const filterSensitiveLog = (obj: InstanceMarketOptionsRequest): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts new file mode 100644 index 000000000000..e655e8951b35 --- /dev/null +++ b/clients/client-ec2/src/models/models_6.ts @@ -0,0 +1,1982 @@ +import { + _InstanceType, + ByoipCidr, + HostnameType, + IamInstanceProfileSpecification, + IpPermission, + TagSpecification, + TransitGatewayAttachmentResourceType, +} from "./models_0"; +import { + BlockDeviceMapping, + CreditSpecificationRequest, + ElasticGpuSpecification, + InstanceIpv6Address, + LocalGatewayRoute, + Placement, + ShutdownBehavior, +} from "./models_1"; +import { ClientVpnConnectionStatus, Filter, TransitGatewayRoute } from "./models_2"; +import { + HttpTokensState, + InstanceMetadataEndpointState, + InstanceMetadataProtocolState, + InstanceState, + NetworkInsightsAccessScopeAnalysis, + NetworkInsightsAnalysis, +} from "./models_3"; +import { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled } from "./models_4"; +import { + CapacityReservationSpecification, + CpuOptionsRequest, + ElasticInferenceAccelerator, + EnclaveOptionsRequest, + HibernationOptionsRequest, + InstanceMarketOptionsRequest, + InstanceMonitoring, +} from "./models_5"; + +/** + *

                                                        The launch template to use. 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.

                                                        + */ + LaunchTemplateId?: string; + + /** + *

                                                        The name of the launch template.

                                                        + */ + LaunchTemplateName?: string; + + /** + *

                                                        The version number of the launch template.

                                                        + *

                                                        Default: The default version for the launch template.

                                                        + */ + Version?: string; +} + +export namespace LaunchTemplateSpecification { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LaunchTemplateSpecification): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a license configuration.

                                                        + */ +export interface LicenseConfigurationRequest { + /** + *

                                                        The Amazon Resource Name (ARN) of the license configuration.

                                                        + */ + LicenseConfigurationArn?: string; +} + +export namespace LicenseConfigurationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LicenseConfigurationRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        The metadata options for the instance.

                                                        + */ +export interface InstanceMetadataOptionsRequest { + /** + *

                                                        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?: 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

                                                        + */ + HttpPutResponseHopLimit?: number; + + /** + *

                                                        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?: InstanceMetadataEndpointState | string; + + /** + *

                                                        Enables or disables the IPv6 endpoint for the instance metadata service.

                                                        + */ + HttpProtocolIpv6?: InstanceMetadataProtocolState | string; +} + +export namespace InstanceMetadataOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceMetadataOptionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the options for instance hostnames.

                                                        + */ +export interface PrivateDnsNameOptionsRequest { + /** + *

                                                        The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be + * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based + * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance + * IPv4 address or the instance ID.

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

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

                                                        + */ + EnableResourceNameDnsARecord?: boolean; + + /** + *

                                                        Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

                                                        + */ + EnableResourceNameDnsAAAARecord?: boolean; +} + +export namespace PrivateDnsNameOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PrivateDnsNameOptionsRequest): any => ({ + ...obj, + }); +} + +export interface RunInstancesRequest { + /** + *

                                                        The block device mapping, which defines the EBS volumes and instance store + * volumes to attach to the instance at launch. For more information, see Block device mappings + * in the Amazon EC2 User Guide.

                                                        + */ + 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.

                                                        + */ + ImageId?: string; + + /** + *

                                                        The instance type. For more information, see Instance types in the + * Amazon EC2 User Guide.

                                                        + *

                                                        Default: m1.small + *

                                                        + */ + InstanceType?: _InstanceType | 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; + + /** + *

                                                        [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 + * number of IPv6 addresses in the same request. You cannot 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.

                                                        + */ + 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 EC2 User Guide.

                                                        + *
                                                        + */ + KernelId?: 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.

                                                        + *
                                                        + */ + KeyName?: string; + + /** + *

                                                        The maximum number of instances to launch. If you specify more instances than Amazon + * EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible + * number of instances above MinCount.

                                                        + *

                                                        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 FAQ.

                                                        + */ + MaxCount: number | undefined; + + /** + *

                                                        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; + + /** + *

                                                        Specifies whether detailed monitoring is enabled for the instance.

                                                        + */ + Monitoring?: RunInstancesMonitoringEnabled; + + /** + *

                                                        The placement for the instance.

                                                        + */ + Placement?: Placement; + + /** + *

                                                        The ID of the RAM disk to select. 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, go to the Amazon Web Services Resource Center and search for the + * kernel ID.

                                                        + * + *

                                                        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + * information, see PV-GRUB in the + * Amazon EC2 User Guide.

                                                        + *
                                                        + */ + RamdiskId?: string; + + /** + *

                                                        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[]; + + /** + *

                                                        [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.

                                                        + */ + SecurityGroups?: 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 Run commands + * on your Linux instance at launch and Run commands on your Windows instance at launch. 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; + + /** + *

                                                        Reserved.

                                                        + */ + AdditionalInfo?: 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; + + /** + *

                                                        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 + *

                                                        + */ + DisableApiTermination?: 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; + + /** + *

                                                        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 name or Amazon Resource Name (ARN) of an IAM instance profile.

                                                        + */ + IamInstanceProfile?: IamInstanceProfileSpecification; + + /** + *

                                                        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; + + /** + *

                                                        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[]; + + /** + *

                                                        [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address + * range of the subnet.

                                                        + *

                                                        Only one private IP address can be designated as primary. You can't specify this + * option if you've specified the option to designate a private IP address as the primary + * IP address in a network interface specification. You cannot specify this option if + * you're launching more than one instance in the request.

                                                        + *

                                                        You cannot specify this option and the network interfaces option in the same + * request.

                                                        + */ + PrivateIpAddress?: 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 EC2 User Guide.

                                                        + */ + ElasticGpuSpecification?: ElasticGpuSpecification[]; + + /** + *

                                                        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[]; + + /** + *

                                                        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 launch template to use to launch the instances. Any parameters that you specify in + * RunInstances override the same parameters in the launch template. + * You can specify either the name or ID of a launch template, but not both.

                                                        + */ + LaunchTemplate?: LaunchTemplateSpecification; + + /** + *

                                                        The market (purchasing) option for the instances.

                                                        + *

                                                        For RunInstances, persistent Spot Instance requests are + * only supported when InstanceInterruptionBehavior is set + * to either hibernate or stop.

                                                        + */ + InstanceMarketOptions?: InstanceMarketOptionsRequest; + + /** + *

                                                        The credit option for CPU usage of the burstable performance instance. Valid values + * are standard and unlimited. To change this attribute after + * launch, use + * ModifyInstanceCreditSpecification. For more information, see Burstable + * performance instances in the Amazon EC2 User Guide.

                                                        + *

                                                        Default: standard (T2 instances) or unlimited (T3/T3a + * instances)

                                                        + * + *

                                                        For T3 instances with host tenancy, only standard is + * supported.

                                                        + */ + CreditSpecification?: CreditSpecificationRequest; + + /** + *

                                                        The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 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; + + /** + *

                                                        Indicates whether an instance is enabled for hibernation. For more information, see + * Hibernate + * your instance in the Amazon EC2 User Guide.

                                                        + *

                                                        You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

                                                        + */ + HibernationOptions?: HibernationOptionsRequest; + + /** + *

                                                        The license configurations.

                                                        + */ + LicenseSpecifications?: LicenseConfigurationRequest[]; + + /** + *

                                                        The metadata options for the instance. For more information, see Instance metadata and user data.

                                                        + */ + MetadataOptions?: InstanceMetadataOptionsRequest; + + /** + *

                                                        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, + * see + * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

                                                        + *

                                                        You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

                                                        + */ + EnclaveOptions?: EnclaveOptionsRequest; + + /** + *

                                                        The options for the instance hostname. The default values are inherited from the subnet.

                                                        + */ + PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest; +} + +export namespace RunInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RunInstancesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes an EBS volume for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesEbs { + /** + *

                                                        Indicates whether the volume is deleted on instance termination.

                                                        + */ + DeleteOnTermination?: boolean; + + /** + *

                                                        Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

                                                        + */ + Encrypted?: boolean; + + /** + *

                                                        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 + * instances built on the Nitro System. Other instance families guarantee performance up to + * 32,000 IOPS. For more information, see Amazon EBS volume types in the + * Amazon EC2 User Guide.

                                                        + *

                                                        This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

                                                        + */ + Iops?: number; + + /** + *

                                                        The ID of the snapshot.

                                                        + */ + 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.

                                                        + */ + VolumeSize?: number; + + /** + *

                                                        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 + *

                                                        + */ + VolumeType?: string; +} + +export namespace ScheduledInstancesEbs { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesEbs): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a block device mapping for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesBlockDeviceMapping { + /** + *

                                                        The device name (for example, /dev/sdh or xvdh).

                                                        + */ + DeviceName?: string; + + /** + *

                                                        Parameters used to set up EBS volumes automatically when the instance is launched.

                                                        + */ + Ebs?: ScheduledInstancesEbs; + + /** + *

                                                        To omit the device from the block device mapping, specify an empty string.

                                                        + */ + NoDevice?: string; + + /** + *

                                                        The virtual device name (ephemeralN). Instance store volumes are numbered + * starting from 0. An instance type with two 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.

                                                        + *

                                                        Constraints: For M3 instances, you must specify instance store volumes in the block device + * mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes + * specified in the block device mapping for the AMI.

                                                        + */ + VirtualName?: string; +} + +export namespace ScheduledInstancesBlockDeviceMapping { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesBlockDeviceMapping): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes an IAM instance profile for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesIamInstanceProfile { + /** + *

                                                        The Amazon Resource Name (ARN).

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

                                                        The name.

                                                        + */ + Name?: string; +} + +export namespace ScheduledInstancesIamInstanceProfile { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesIamInstanceProfile): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes whether monitoring is enabled for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesMonitoring { + /** + *

                                                        Indicates whether monitoring is enabled.

                                                        + */ + Enabled?: boolean; +} + +export namespace ScheduledInstancesMonitoring { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesMonitoring): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes an IPv6 address.

                                                        + */ +export interface ScheduledInstancesIpv6Address { + /** + *

                                                        The IPv6 address.

                                                        + */ + Ipv6Address?: string; +} + +export namespace ScheduledInstancesIpv6Address { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesIpv6Address): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a private IPv4 address for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesPrivateIpAddressConfig { + /** + *

                                                        Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

                                                        + */ + Primary?: boolean; + + /** + *

                                                        The IPv4 address.

                                                        + */ + PrivateIpAddress?: string; +} + +export namespace ScheduledInstancesPrivateIpAddressConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesPrivateIpAddressConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a network interface for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesNetworkInterface { + /** + *

                                                        Indicates whether to assign a public IPv4 address to instances launched in a VPC. The + * public IPv4 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; + + /** + *

                                                        Indicates whether to delete the interface when the instance is terminated.

                                                        + */ + DeleteOnTermination?: boolean; + + /** + *

                                                        The description.

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

                                                        The index of the device for the network interface attachment.

                                                        + */ + DeviceIndex?: number; + + /** + *

                                                        The IDs of the security groups.

                                                        + */ + Groups?: 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 specific IPv6 addresses from the subnet range.

                                                        + */ + Ipv6Addresses?: ScheduledInstancesIpv6Address[]; + + /** + *

                                                        The ID of the network interface.

                                                        + */ + NetworkInterfaceId?: string; + + /** + *

                                                        The IPv4 address of the network interface within the subnet.

                                                        + */ + PrivateIpAddress?: string; + + /** + *

                                                        The private IPv4 addresses.

                                                        + */ + PrivateIpAddressConfigs?: ScheduledInstancesPrivateIpAddressConfig[]; + + /** + *

                                                        The number of secondary private IPv4 addresses.

                                                        + */ + SecondaryPrivateIpAddressCount?: number; + + /** + *

                                                        The ID of the subnet.

                                                        + */ + SubnetId?: string; +} + +export namespace ScheduledInstancesNetworkInterface { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesNetworkInterface): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the placement for a Scheduled Instance.

                                                        + */ +export interface ScheduledInstancesPlacement { + /** + *

                                                        The Availability Zone.

                                                        + */ + AvailabilityZone?: string; + + /** + *

                                                        The name of the placement group.

                                                        + */ + GroupName?: string; +} + +export namespace ScheduledInstancesPlacement { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesPlacement): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the launch specification for a Scheduled Instance.

                                                        + *

                                                        If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. + * You can specify the subnet using either SubnetId or NetworkInterface.

                                                        + */ +export interface ScheduledInstancesLaunchSpecification { + /** + *

                                                        The block device mapping entries.

                                                        + */ + BlockDeviceMappings?: ScheduledInstancesBlockDeviceMapping[]; + + /** + *

                                                        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; + + /** + *

                                                        The IAM instance profile.

                                                        + */ + IamInstanceProfile?: ScheduledInstancesIamInstanceProfile; + + /** + *

                                                        The ID of the Amazon Machine Image (AMI).

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

                                                        The instance type.

                                                        + */ + InstanceType?: string; + + /** + *

                                                        The ID of the kernel.

                                                        + */ + KernelId?: string; + + /** + *

                                                        The name of the key pair.

                                                        + */ + KeyName?: string; + + /** + *

                                                        Enable or disable monitoring for the instances.

                                                        + */ + Monitoring?: ScheduledInstancesMonitoring; + + /** + *

                                                        The network interfaces.

                                                        + */ + NetworkInterfaces?: ScheduledInstancesNetworkInterface[]; + + /** + *

                                                        The placement information.

                                                        + */ + Placement?: ScheduledInstancesPlacement; + + /** + *

                                                        The ID of the RAM disk.

                                                        + */ + RamdiskId?: string; + + /** + *

                                                        The IDs of the security groups.

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

                                                        The ID of the subnet in which to launch the instances.

                                                        + */ + SubnetId?: string; + + /** + *

                                                        The base64-encoded MIME user data.

                                                        + */ + UserData?: string; +} + +export namespace ScheduledInstancesLaunchSpecification { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ScheduledInstancesLaunchSpecification): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the parameters for RunScheduledInstances.

                                                        + */ +export interface RunScheduledInstancesRequest { + /** + *

                                                        Unique, case-sensitive identifier that ensures the idempotency of the request. + * For more information, see Ensuring Idempotency.

                                                        + */ + 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.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        The number of instances.

                                                        + *

                                                        Default: 1

                                                        + */ + InstanceCount?: number; + + /** + *

                                                        The launch specification. You must match the instance type, Availability Zone, + * network, and platform of the schedule that you purchased.

                                                        + */ + LaunchSpecification: ScheduledInstancesLaunchSpecification | undefined; + + /** + *

                                                        The Scheduled Instance ID.

                                                        + */ + ScheduledInstanceId: string | undefined; +} + +export namespace RunScheduledInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RunScheduledInstancesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the output of RunScheduledInstances.

                                                        + */ +export interface RunScheduledInstancesResult { + /** + *

                                                        The IDs of the newly launched instances.

                                                        + */ + InstanceIdSet?: string[]; +} + +export namespace RunScheduledInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RunScheduledInstancesResult): any => ({ + ...obj, + }); +} + +export interface SearchLocalGatewayRoutesRequest { + /** + *

                                                        The ID of the local gateway route table.

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

                                                        One or more filters.

                                                        + */ + 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; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 SearchLocalGatewayRoutesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchLocalGatewayRoutesRequest): any => ({ + ...obj, + }); +} + +export interface SearchLocalGatewayRoutesResult { + /** + *

                                                        Information about the routes.

                                                        + */ + Routes?: LocalGatewayRoute[]; + + /** + *

                                                        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 SearchLocalGatewayRoutesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchLocalGatewayRoutesResult): any => ({ + ...obj, + }); +} + +export interface SearchTransitGatewayMulticastGroupsRequest { + /** + *

                                                        The ID of the transit gateway multicast domain.

                                                        + */ + TransitGatewayMulticastDomainId?: string; + + /** + *

                                                        One or more filters. The possible values are:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * group-ip-address - The IP address of the transit gateway multicast group.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * is-group-member - The resource is a group member. Valid values are true | false.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * is-group-source - The resource is a group source. Valid values are true | false.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * member-type - The member type. Valid values are igmp | static.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * resource-id - The ID of the resource.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * source-type - The source type. Valid values are igmp | static.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * subnet-id - The ID of the subnet.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                          + *
                                                        • + *
                                                        + */ + 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; + + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 SearchTransitGatewayMulticastGroupsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchTransitGatewayMulticastGroupsRequest): any => ({ + ...obj, + }); +} + +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 ID of the transit gateway attachment.

                                                        + */ + TransitGatewayAttachmentId?: string; + + /** + *

                                                        The ID of the subnet.

                                                        + */ + SubnetId?: string; + + /** + *

                                                        The ID of the resource.

                                                        + */ + ResourceId?: string; + + /** + *

                                                        The type of resource, for example a VPC attachment.

                                                        + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; + + /** + *

                                                        The ID of the Amazon Web Services account that owns the transit gateway multicast domain group resource.

                                                        + */ + ResourceOwnerId?: string; + + /** + *

                                                        The ID of the transit gateway attachment.

                                                        + */ + NetworkInterfaceId?: string; + + /** + *

                                                        Indicates that the resource is a transit gateway multicast group member.

                                                        + */ + GroupMember?: boolean; + + /** + *

                                                        Indicates that the resource is a transit gateway multicast group member.

                                                        + */ + GroupSource?: boolean; + + /** + *

                                                        The member type (for example, static).

                                                        + */ + MemberType?: MembershipType | string; + + /** + *

                                                        The source type.

                                                        + */ + SourceType?: MembershipType | string; +} + +export namespace TransitGatewayMulticastGroup { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TransitGatewayMulticastGroup): any => ({ + ...obj, + }); +} + +export interface SearchTransitGatewayMulticastGroupsResult { + /** + *

                                                        Information about the transit gateway multicast group.

                                                        + */ + MulticastGroups?: TransitGatewayMulticastGroup[]; + + /** + *

                                                        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 SearchTransitGatewayMulticastGroupsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchTransitGatewayMulticastGroupsResult): any => ({ + ...obj, + }); +} + +export interface SearchTransitGatewayRoutesRequest { + /** + *

                                                        The ID of the transit gateway route table.

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

                                                        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.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * attachment.resource-type - The attachment resource type. Valid values + * are vpc | vpn | direct-connect-gateway | + * peering | connect.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * prefix-list-id - The ID of the prefix list.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * 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).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * type - The type of route (propagated | + * static).

                                                          + *
                                                        • + *
                                                        + */ + Filters: Filter[] | undefined; + + /** + *

                                                        The maximum number of routes to return.

                                                        + */ + 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 SearchTransitGatewayRoutesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchTransitGatewayRoutesRequest): any => ({ + ...obj, + }); +} + +export interface SearchTransitGatewayRoutesResult { + /** + *

                                                        Information about the routes.

                                                        + */ + Routes?: TransitGatewayRoute[]; + + /** + *

                                                        Indicates whether there are additional routes available.

                                                        + */ + AdditionalRoutesAvailable?: boolean; +} + +export namespace SearchTransitGatewayRoutesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchTransitGatewayRoutesResult): any => ({ + ...obj, + }); +} + +export interface SendDiagnosticInterruptRequest { + /** + *

                                                        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; +} + +export namespace SendDiagnosticInterruptRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SendDiagnosticInterruptRequest): any => ({ + ...obj, + }); +} + +export interface StartInstancesRequest { + /** + *

                                                        The IDs of the instances.

                                                        + */ + InstanceIds: string[] | undefined; + + /** + *

                                                        Reserved.

                                                        + */ + AdditionalInfo?: 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 StartInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartInstancesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes an instance state change.

                                                        + */ +export interface InstanceStateChange { + /** + *

                                                        The current state of the instance.

                                                        + */ + CurrentState?: InstanceState; + + /** + *

                                                        The ID of the instance.

                                                        + */ + InstanceId?: string; + + /** + *

                                                        The previous state of the instance.

                                                        + */ + PreviousState?: InstanceState; +} + +export namespace InstanceStateChange { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceStateChange): any => ({ + ...obj, + }); +} + +export interface StartInstancesResult { + /** + *

                                                        Information about the started instances.

                                                        + */ + StartingInstances?: InstanceStateChange[]; +} + +export namespace StartInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartInstancesResult): any => ({ + ...obj, + }); +} + +export interface StartNetworkInsightsAccessScopeAnalysisRequest { + /** + *

                                                        The ID of the Network Access Scope.

                                                        + */ + NetworkInsightsAccessScopeId: 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 tags to apply.

                                                        + */ + TagSpecifications?: TagSpecification[]; + + /** + *

                                                        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 StartNetworkInsightsAccessScopeAnalysisRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartNetworkInsightsAccessScopeAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface StartNetworkInsightsAccessScopeAnalysisResult { + /** + *

                                                        The Network Access Scope analysis.

                                                        + */ + NetworkInsightsAccessScopeAnalysis?: NetworkInsightsAccessScopeAnalysis; +} + +export namespace StartNetworkInsightsAccessScopeAnalysisResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartNetworkInsightsAccessScopeAnalysisResult): any => ({ + ...obj, + }); +} + +export interface StartNetworkInsightsAnalysisRequest { + /** + *

                                                        The ID of the path.

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

                                                        The Amazon Resource Names (ARN) of the resources that the path must traverse.

                                                        + */ + FilterInArns?: 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 tags to apply.

                                                        + */ + TagSpecifications?: TagSpecification[]; + + /** + *

                                                        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 StartNetworkInsightsAnalysisRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartNetworkInsightsAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface StartNetworkInsightsAnalysisResult { + /** + *

                                                        Information about the network insights analysis.

                                                        + */ + NetworkInsightsAnalysis?: NetworkInsightsAnalysis; +} + +export namespace StartNetworkInsightsAnalysisResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartNetworkInsightsAnalysisResult): any => ({ + ...obj, + }); +} + +export interface StartVpcEndpointServicePrivateDnsVerificationRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartVpcEndpointServicePrivateDnsVerificationRequest): any => ({ + ...obj, + }); +} + +export interface StartVpcEndpointServicePrivateDnsVerificationResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, it returns an error.

                                                        + */ + ReturnValue?: boolean; +} + +export namespace StartVpcEndpointServicePrivateDnsVerificationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartVpcEndpointServicePrivateDnsVerificationResult): any => ({ + ...obj, + }); +} + +export interface StopInstancesRequest { + /** + *

                                                        The IDs of the instances.

                                                        + */ + InstanceIds: string[] | undefined; + + /** + *

                                                        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, + * see Hibernate + * your instance in the Amazon EC2 User Guide.

                                                        + *

                                                        Default: false + *

                                                        + */ + 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; + + /** + *

                                                        Forces the instances to stop. The instances do not 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. This option is not recommended for Windows + * instances.

                                                        + *

                                                        Default: false + *

                                                        + */ + Force?: boolean; +} + +export namespace StopInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopInstancesRequest): any => ({ + ...obj, + }); +} + +export interface StopInstancesResult { + /** + *

                                                        Information about the stopped instances.

                                                        + */ + StoppingInstances?: InstanceStateChange[]; +} + +export namespace StopInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopInstancesResult): any => ({ + ...obj, + }); +} + +export interface TerminateClientVpnConnectionsRequest { + /** + *

                                                        The ID of the Client VPN endpoint to which the client is connected.

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

                                                        The ID of the client connection to be terminated.

                                                        + */ + 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.

                                                        + */ + Username?: 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 TerminateClientVpnConnectionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TerminateClientVpnConnectionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Information about a terminated Client VPN endpoint client connection.

                                                        + */ +export interface TerminateConnectionStatus { + /** + *

                                                        The ID of the client connection.

                                                        + */ + ConnectionId?: string; + + /** + *

                                                        The state of the client connection.

                                                        + */ + PreviousStatus?: ClientVpnConnectionStatus; + + /** + *

                                                        A message about the status of the client connection, if applicable.

                                                        + */ + CurrentStatus?: ClientVpnConnectionStatus; +} + +export namespace TerminateConnectionStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TerminateConnectionStatus): any => ({ + ...obj, + }); +} + +export interface TerminateClientVpnConnectionsResult { + /** + *

                                                        The ID of the Client VPN endpoint.

                                                        + */ + ClientVpnEndpointId?: string; + + /** + *

                                                        The user who established the terminated client connections.

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

                                                        The current state of the client connections.

                                                        + */ + ConnectionStatuses?: TerminateConnectionStatus[]; +} + +export namespace TerminateClientVpnConnectionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TerminateClientVpnConnectionsResult): any => ({ + ...obj, + }); +} + +export interface TerminateInstancesRequest { + /** + *

                                                        The IDs of the instances.

                                                        + *

                                                        Constraints: Up to 1000 instance IDs. We recommend breaking up this request into + * smaller batches.

                                                        + */ + 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; +} + +export namespace TerminateInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TerminateInstancesRequest): any => ({ + ...obj, + }); +} + +export interface TerminateInstancesResult { + /** + *

                                                        Information about the terminated instances.

                                                        + */ + TerminatingInstances?: InstanceStateChange[]; +} + +export namespace TerminateInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TerminateInstancesResult): any => ({ + ...obj, + }); +} + +export interface UnassignIpv6AddressesRequest { + /** + *

                                                        The IPv6 addresses to unassign from the network interface.

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

                                                        One or more IPv6 prefixes to unassign from the network interface.

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

                                                        The ID of the network interface.

                                                        + */ + NetworkInterfaceId: string | undefined; +} + +export namespace UnassignIpv6AddressesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnassignIpv6AddressesRequest): any => ({ + ...obj, + }); +} + +export interface UnassignIpv6AddressesResult { + /** + *

                                                        The ID of the network interface.

                                                        + */ + NetworkInterfaceId?: string; + + /** + *

                                                        The IPv6 addresses that have been unassigned from the network interface.

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

                                                        The IPv4 prefixes that have been unassigned from the network interface.

                                                        + */ + UnassignedIpv6Prefixes?: string[]; +} + +export namespace UnassignIpv6AddressesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnassignIpv6AddressesResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the parameters for UnassignPrivateIpAddresses.

                                                        + */ +export interface UnassignPrivateIpAddressesRequest { + /** + *

                                                        The ID of the network interface.

                                                        + */ + NetworkInterfaceId: 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.

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

                                                        The IPv4 prefixes to unassign from the network interface.

                                                        + */ + Ipv4Prefixes?: string[]; +} + +export namespace UnassignPrivateIpAddressesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnassignPrivateIpAddressesRequest): any => ({ + ...obj, + }); +} + +export interface UnmonitorInstancesRequest { + /** + *

                                                        The IDs of the instances.

                                                        + */ + 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; +} + +export namespace UnmonitorInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnmonitorInstancesRequest): any => ({ + ...obj, + }); +} + +export interface UnmonitorInstancesResult { + /** + *

                                                        The monitoring information.

                                                        + */ + InstanceMonitorings?: InstanceMonitoring[]; +} + +export namespace UnmonitorInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnmonitorInstancesResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the description of a security group rule.

                                                        + *

                                                        You can use this when you want to update the security group rule description for either an inbound or outbound rule.

                                                        + */ +export interface SecurityGroupRuleDescription { + /** + *

                                                        The ID of the security group rule.

                                                        + */ + SecurityGroupRuleId?: string; + + /** + *

                                                        The description of the security group rule.

                                                        + */ + Description?: string; +} + +export namespace SecurityGroupRuleDescription { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityGroupRuleDescription): any => ({ + ...obj, + }); +} + +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.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        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; + + /** + *

                                                        [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 IP permissions for the security group rule. You must specify either the IP permissions + * or the description.

                                                        + */ + IpPermissions?: IpPermission[]; + + /** + *

                                                        The description for the egress security group rules. You must specify either the + * description or the IP permissions.

                                                        + */ + SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[]; +} + +export namespace UpdateSecurityGroupRuleDescriptionsEgressRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsEgressRequest): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityGroupRuleDescriptionsEgressResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        + */ + Return?: boolean; +} + +export namespace UpdateSecurityGroupRuleDescriptionsEgressResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsEgressResult): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityGroupRuleDescriptionsIngressRequest { + /** + *

                                                        Checks whether you have the required permissions for the action, without 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 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 security group. You must specify either the + * security group ID or the security group name in the request.

                                                        + */ + GroupName?: string; + + /** + *

                                                        The IP permissions for the security group rule. You must specify either IP permissions + * or a description.

                                                        + */ + IpPermissions?: IpPermission[]; + + /** + *

                                                        [VPC only] The description for the ingress security group rules. You must specify either + * a description or IP permissions.

                                                        + */ + SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[]; +} + +export namespace UpdateSecurityGroupRuleDescriptionsIngressRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsIngressRequest): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityGroupRuleDescriptionsIngressResult { + /** + *

                                                        Returns true if the request succeeds; otherwise, returns an error.

                                                        + */ + Return?: boolean; +} + +export namespace UpdateSecurityGroupRuleDescriptionsIngressResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityGroupRuleDescriptionsIngressResult): any => ({ + ...obj, + }); +} + +export interface WithdrawByoipCidrRequest { + /** + *

                                                        The address range, in CIDR notation.

                                                        + */ + 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; +} + +export namespace WithdrawByoipCidrRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: WithdrawByoipCidrRequest): any => ({ + ...obj, + }); +} + +export interface WithdrawByoipCidrResult { + /** + *

                                                        Information about the address pool.

                                                        + */ + ByoipCidr?: ByoipCidr; +} + +export namespace WithdrawByoipCidrResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: WithdrawByoipCidrResult): any => ({ + ...obj, + }); +} diff --git a/clients/client-ec2/src/pagination/DescribeIpamPoolsPaginator.ts b/clients/client-ec2/src/pagination/DescribeIpamPoolsPaginator.ts new file mode 100644 index 000000000000..48d6824addd3 --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeIpamPoolsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeIpamPoolsCommand, + DescribeIpamPoolsCommandInput, + DescribeIpamPoolsCommandOutput, +} from "../commands/DescribeIpamPoolsCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeIpamPoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeIpamPoolsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeIpamPoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeIpamPools(input, ...args); +}; +export async function* paginateDescribeIpamPools( + config: EC2PaginationConfiguration, + input: DescribeIpamPoolsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeIpamPoolsCommandOutput; + 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/src/pagination/DescribeIpamScopesPaginator.ts b/clients/client-ec2/src/pagination/DescribeIpamScopesPaginator.ts new file mode 100644 index 000000000000..a93232805387 --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeIpamScopesPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeIpamScopesCommand, + DescribeIpamScopesCommandInput, + DescribeIpamScopesCommandOutput, +} from "../commands/DescribeIpamScopesCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeIpamScopesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeIpamScopesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeIpamScopesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeIpamScopes(input, ...args); +}; +export async function* paginateDescribeIpamScopes( + config: EC2PaginationConfiguration, + input: DescribeIpamScopesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeIpamScopesCommandOutput; + 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/src/pagination/DescribeIpamsPaginator.ts b/clients/client-ec2/src/pagination/DescribeIpamsPaginator.ts new file mode 100644 index 000000000000..cbda6f4d84ab --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeIpamsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeIpamsCommand, + DescribeIpamsCommandInput, + DescribeIpamsCommandOutput, +} from "../commands/DescribeIpamsCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeIpamsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeIpamsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeIpamsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeIpams(input, ...args); +}; +export async function* paginateDescribeIpams( + config: EC2PaginationConfiguration, + input: DescribeIpamsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeIpamsCommandOutput; + 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/src/pagination/DescribeNetworkInsightsAccessScopeAnalysesPaginator.ts b/clients/client-ec2/src/pagination/DescribeNetworkInsightsAccessScopeAnalysesPaginator.ts new file mode 100644 index 000000000000..e41be81a356d --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeNetworkInsightsAccessScopeAnalysesPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeNetworkInsightsAccessScopeAnalysesCommand, + DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + DescribeNetworkInsightsAccessScopeAnalysesCommandOutput, +} from "../commands/DescribeNetworkInsightsAccessScopeAnalysesCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNetworkInsightsAccessScopeAnalysesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNetworkInsightsAccessScopeAnalyses(input, ...args); +}; +export async function* paginateDescribeNetworkInsightsAccessScopeAnalyses( + config: EC2PaginationConfiguration, + input: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeNetworkInsightsAccessScopeAnalysesCommandOutput; + 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/src/pagination/DescribeNetworkInsightsAccessScopesPaginator.ts b/clients/client-ec2/src/pagination/DescribeNetworkInsightsAccessScopesPaginator.ts new file mode 100644 index 000000000000..27a5a185f2bb --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeNetworkInsightsAccessScopesPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeNetworkInsightsAccessScopesCommand, + DescribeNetworkInsightsAccessScopesCommandInput, + DescribeNetworkInsightsAccessScopesCommandOutput, +} from "../commands/DescribeNetworkInsightsAccessScopesCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeNetworkInsightsAccessScopesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNetworkInsightsAccessScopesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeNetworkInsightsAccessScopesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNetworkInsightsAccessScopes(input, ...args); +}; +export async function* paginateDescribeNetworkInsightsAccessScopes( + config: EC2PaginationConfiguration, + input: DescribeNetworkInsightsAccessScopesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeNetworkInsightsAccessScopesCommandOutput; + 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/src/pagination/GetIpamAddressHistoryPaginator.ts b/clients/client-ec2/src/pagination/GetIpamAddressHistoryPaginator.ts new file mode 100644 index 000000000000..c003c6e7d283 --- /dev/null +++ b/clients/client-ec2/src/pagination/GetIpamAddressHistoryPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetIpamAddressHistoryCommand, + GetIpamAddressHistoryCommandInput, + GetIpamAddressHistoryCommandOutput, +} from "../commands/GetIpamAddressHistoryCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: GetIpamAddressHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetIpamAddressHistoryCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: GetIpamAddressHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getIpamAddressHistory(input, ...args); +}; +export async function* paginateGetIpamAddressHistory( + config: EC2PaginationConfiguration, + input: GetIpamAddressHistoryCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetIpamAddressHistoryCommandOutput; + 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/src/pagination/GetIpamPoolAllocationsPaginator.ts b/clients/client-ec2/src/pagination/GetIpamPoolAllocationsPaginator.ts new file mode 100644 index 000000000000..e778e94ff263 --- /dev/null +++ b/clients/client-ec2/src/pagination/GetIpamPoolAllocationsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetIpamPoolAllocationsCommand, + GetIpamPoolAllocationsCommandInput, + GetIpamPoolAllocationsCommandOutput, +} from "../commands/GetIpamPoolAllocationsCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: GetIpamPoolAllocationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetIpamPoolAllocationsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: GetIpamPoolAllocationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getIpamPoolAllocations(input, ...args); +}; +export async function* paginateGetIpamPoolAllocations( + config: EC2PaginationConfiguration, + input: GetIpamPoolAllocationsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetIpamPoolAllocationsCommandOutput; + 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/src/pagination/GetIpamPoolCidrsPaginator.ts b/clients/client-ec2/src/pagination/GetIpamPoolCidrsPaginator.ts new file mode 100644 index 000000000000..9b85cdd96118 --- /dev/null +++ b/clients/client-ec2/src/pagination/GetIpamPoolCidrsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetIpamPoolCidrsCommand, + GetIpamPoolCidrsCommandInput, + GetIpamPoolCidrsCommandOutput, +} from "../commands/GetIpamPoolCidrsCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: GetIpamPoolCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetIpamPoolCidrsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: GetIpamPoolCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getIpamPoolCidrs(input, ...args); +}; +export async function* paginateGetIpamPoolCidrs( + config: EC2PaginationConfiguration, + input: GetIpamPoolCidrsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetIpamPoolCidrsCommandOutput; + 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/src/pagination/GetIpamResourceCidrsPaginator.ts b/clients/client-ec2/src/pagination/GetIpamResourceCidrsPaginator.ts new file mode 100644 index 000000000000..2ede3d6fa32c --- /dev/null +++ b/clients/client-ec2/src/pagination/GetIpamResourceCidrsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetIpamResourceCidrsCommand, + GetIpamResourceCidrsCommandInput, + GetIpamResourceCidrsCommandOutput, +} from "../commands/GetIpamResourceCidrsCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: GetIpamResourceCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetIpamResourceCidrsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: GetIpamResourceCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getIpamResourceCidrs(input, ...args); +}; +export async function* paginateGetIpamResourceCidrs( + config: EC2PaginationConfiguration, + input: GetIpamResourceCidrsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetIpamResourceCidrsCommandOutput; + 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/src/pagination/index.ts b/clients/client-ec2/src/pagination/index.ts index fd2206cda152..3e9cf79947be 100644 --- a/clients/client-ec2/src/pagination/index.ts +++ b/clients/client-ec2/src/pagination/index.ts @@ -31,6 +31,9 @@ export * from "./DescribeInstanceTypeOfferingsPaginator"; export * from "./DescribeInstanceTypesPaginator"; export * from "./DescribeInstancesPaginator"; export * from "./DescribeInternetGatewaysPaginator"; +export * from "./DescribeIpamPoolsPaginator"; +export * from "./DescribeIpamScopesPaginator"; +export * from "./DescribeIpamsPaginator"; export * from "./DescribeIpv6PoolsPaginator"; export * from "./DescribeLaunchTemplateVersionsPaginator"; export * from "./DescribeLaunchTemplatesPaginator"; @@ -44,6 +47,8 @@ export * from "./DescribeManagedPrefixListsPaginator"; export * from "./DescribeMovingAddressesPaginator"; export * from "./DescribeNatGatewaysPaginator"; export * from "./DescribeNetworkAclsPaginator"; +export * from "./DescribeNetworkInsightsAccessScopeAnalysesPaginator"; +export * from "./DescribeNetworkInsightsAccessScopesPaginator"; export * from "./DescribeNetworkInsightsAnalysesPaginator"; export * from "./DescribeNetworkInsightsPathsPaginator"; export * from "./DescribeNetworkInterfacePermissionsPaginator"; @@ -94,6 +99,10 @@ export * from "./DescribeVpcsPaginator"; export * from "./GetAssociatedIpv6PoolCidrsPaginator"; export * from "./GetGroupsForCapacityReservationPaginator"; export * from "./GetInstanceTypesFromInstanceRequirementsPaginator"; +export * from "./GetIpamAddressHistoryPaginator"; +export * from "./GetIpamPoolAllocationsPaginator"; +export * from "./GetIpamPoolCidrsPaginator"; +export * from "./GetIpamResourceCidrsPaginator"; export * from "./GetManagedPrefixListAssociationsPaginator"; export * from "./GetManagedPrefixListEntriesPaginator"; export * from "./GetSpotPlacementScoresPaginator"; diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 1293e7d0c68b..0d6af76e9d95 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -51,6 +51,10 @@ import { import { AdvertiseByoipCidrCommandInput, AdvertiseByoipCidrCommandOutput } from "../commands/AdvertiseByoipCidrCommand"; import { AllocateAddressCommandInput, AllocateAddressCommandOutput } from "../commands/AllocateAddressCommand"; import { AllocateHostsCommandInput, AllocateHostsCommandOutput } from "../commands/AllocateHostsCommand"; +import { + AllocateIpamPoolCidrCommandInput, + AllocateIpamPoolCidrCommandOutput, +} from "../commands/AllocateIpamPoolCidrCommand"; import { ApplySecurityGroupsToClientVpnTargetNetworkCommandInput, ApplySecurityGroupsToClientVpnTargetNetworkCommandOutput, @@ -219,6 +223,9 @@ import { CreateInternetGatewayCommandInput, CreateInternetGatewayCommandOutput, } from "../commands/CreateInternetGatewayCommand"; +import { CreateIpamCommandInput, CreateIpamCommandOutput } from "../commands/CreateIpamCommand"; +import { CreateIpamPoolCommandInput, CreateIpamPoolCommandOutput } from "../commands/CreateIpamPoolCommand"; +import { CreateIpamScopeCommandInput, CreateIpamScopeCommandOutput } from "../commands/CreateIpamScopeCommand"; import { CreateKeyPairCommandInput, CreateKeyPairCommandOutput } from "../commands/CreateKeyPairCommand"; import { CreateLaunchTemplateCommandInput, @@ -246,6 +253,10 @@ import { CreateNetworkAclEntryCommandInput, CreateNetworkAclEntryCommandOutput, } from "../commands/CreateNetworkAclEntryCommand"; +import { + CreateNetworkInsightsAccessScopeCommandInput, + CreateNetworkInsightsAccessScopeCommandOutput, +} from "../commands/CreateNetworkInsightsAccessScopeCommand"; import { CreateNetworkInsightsPathCommandInput, CreateNetworkInsightsPathCommandOutput, @@ -262,6 +273,10 @@ import { CreatePlacementGroupCommandInput, CreatePlacementGroupCommandOutput, } from "../commands/CreatePlacementGroupCommand"; +import { + CreatePublicIpv4PoolCommandInput, + CreatePublicIpv4PoolCommandOutput, +} from "../commands/CreatePublicIpv4PoolCommand"; import { CreateReplaceRootVolumeTaskCommandInput, CreateReplaceRootVolumeTaskCommandOutput, @@ -404,6 +419,9 @@ import { DeleteInternetGatewayCommandInput, DeleteInternetGatewayCommandOutput, } from "../commands/DeleteInternetGatewayCommand"; +import { DeleteIpamCommandInput, DeleteIpamCommandOutput } from "../commands/DeleteIpamCommand"; +import { DeleteIpamPoolCommandInput, DeleteIpamPoolCommandOutput } from "../commands/DeleteIpamPoolCommand"; +import { DeleteIpamScopeCommandInput, DeleteIpamScopeCommandOutput } from "../commands/DeleteIpamScopeCommand"; import { DeleteKeyPairCommandInput, DeleteKeyPairCommandOutput } from "../commands/DeleteKeyPairCommand"; import { DeleteLaunchTemplateCommandInput, @@ -431,6 +449,14 @@ import { DeleteNetworkAclEntryCommandInput, DeleteNetworkAclEntryCommandOutput, } from "../commands/DeleteNetworkAclEntryCommand"; +import { + DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + DeleteNetworkInsightsAccessScopeAnalysisCommandOutput, +} from "../commands/DeleteNetworkInsightsAccessScopeAnalysisCommand"; +import { + DeleteNetworkInsightsAccessScopeCommandInput, + DeleteNetworkInsightsAccessScopeCommandOutput, +} from "../commands/DeleteNetworkInsightsAccessScopeCommand"; import { DeleteNetworkInsightsAnalysisCommandInput, DeleteNetworkInsightsAnalysisCommandOutput, @@ -451,6 +477,10 @@ import { DeletePlacementGroupCommandInput, DeletePlacementGroupCommandOutput, } from "../commands/DeletePlacementGroupCommand"; +import { + DeletePublicIpv4PoolCommandInput, + DeletePublicIpv4PoolCommandOutput, +} from "../commands/DeletePublicIpv4PoolCommand"; import { DeleteQueuedReservedInstancesCommandInput, DeleteQueuedReservedInstancesCommandOutput, @@ -552,6 +582,14 @@ import { DeprovisionByoipCidrCommandInput, DeprovisionByoipCidrCommandOutput, } from "../commands/DeprovisionByoipCidrCommand"; +import { + DeprovisionIpamPoolCidrCommandInput, + DeprovisionIpamPoolCidrCommandOutput, +} from "../commands/DeprovisionIpamPoolCidrCommand"; +import { + DeprovisionPublicIpv4PoolCidrCommandInput, + DeprovisionPublicIpv4PoolCidrCommandOutput, +} from "../commands/DeprovisionPublicIpv4PoolCidrCommand"; import { DeregisterImageCommandInput, DeregisterImageCommandOutput } from "../commands/DeregisterImageCommand"; import { DeregisterInstanceEventNotificationAttributesCommandInput, @@ -735,6 +773,9 @@ import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput, } from "../commands/DescribeInternetGatewaysCommand"; +import { DescribeIpamPoolsCommandInput, DescribeIpamPoolsCommandOutput } from "../commands/DescribeIpamPoolsCommand"; +import { DescribeIpamsCommandInput, DescribeIpamsCommandOutput } from "../commands/DescribeIpamsCommand"; +import { DescribeIpamScopesCommandInput, DescribeIpamScopesCommandOutput } from "../commands/DescribeIpamScopesCommand"; import { DescribeIpv6PoolsCommandInput, DescribeIpv6PoolsCommandOutput } from "../commands/DescribeIpv6PoolsCommand"; import { DescribeKeyPairsCommandInput, DescribeKeyPairsCommandOutput } from "../commands/DescribeKeyPairsCommand"; import { @@ -785,6 +826,14 @@ import { DescribeNetworkAclsCommandInput, DescribeNetworkAclsCommandOutput, } from "../commands/DescribeNetworkAclsCommand"; +import { + DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + DescribeNetworkInsightsAccessScopeAnalysesCommandOutput, +} from "../commands/DescribeNetworkInsightsAccessScopeAnalysesCommand"; +import { + DescribeNetworkInsightsAccessScopesCommandInput, + DescribeNetworkInsightsAccessScopesCommandOutput, +} from "../commands/DescribeNetworkInsightsAccessScopesCommand"; import { DescribeNetworkInsightsAnalysesCommandInput, DescribeNetworkInsightsAnalysesCommandOutput, @@ -1045,6 +1094,10 @@ import { DisableImageDeprecationCommandInput, DisableImageDeprecationCommandOutput, } from "../commands/DisableImageDeprecationCommand"; +import { + DisableIpamOrganizationAdminAccountCommandInput, + DisableIpamOrganizationAdminAccountCommandOutput, +} from "../commands/DisableIpamOrganizationAdminAccountCommand"; import { DisableSerialConsoleAccessCommandInput, DisableSerialConsoleAccessCommandOutput, @@ -1121,6 +1174,10 @@ import { EnableImageDeprecationCommandInput, EnableImageDeprecationCommandOutput, } from "../commands/EnableImageDeprecationCommand"; +import { + EnableIpamOrganizationAdminAccountCommandInput, + EnableIpamOrganizationAdminAccountCommandOutput, +} from "../commands/EnableIpamOrganizationAdminAccountCommand"; import { EnableSerialConsoleAccessCommandInput, EnableSerialConsoleAccessCommandOutput, @@ -1201,6 +1258,19 @@ import { GetInstanceTypesFromInstanceRequirementsCommandInput, GetInstanceTypesFromInstanceRequirementsCommandOutput, } from "../commands/GetInstanceTypesFromInstanceRequirementsCommand"; +import { + GetIpamAddressHistoryCommandInput, + GetIpamAddressHistoryCommandOutput, +} from "../commands/GetIpamAddressHistoryCommand"; +import { + GetIpamPoolAllocationsCommandInput, + GetIpamPoolAllocationsCommandOutput, +} from "../commands/GetIpamPoolAllocationsCommand"; +import { GetIpamPoolCidrsCommandInput, GetIpamPoolCidrsCommandOutput } from "../commands/GetIpamPoolCidrsCommand"; +import { + GetIpamResourceCidrsCommandInput, + GetIpamResourceCidrsCommandOutput, +} from "../commands/GetIpamResourceCidrsCommand"; import { GetLaunchTemplateDataCommandInput, GetLaunchTemplateDataCommandOutput, @@ -1213,6 +1283,14 @@ import { GetManagedPrefixListEntriesCommandInput, GetManagedPrefixListEntriesCommandOutput, } from "../commands/GetManagedPrefixListEntriesCommand"; +import { + GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput, +} from "../commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand"; +import { + GetNetworkInsightsAccessScopeContentCommandInput, + GetNetworkInsightsAccessScopeContentCommandOutput, +} from "../commands/GetNetworkInsightsAccessScopeContentCommand"; import { GetPasswordDataCommandInput, GetPasswordDataCommandOutput } from "../commands/GetPasswordDataCommand"; import { GetReservedInstancesExchangeQuoteCommandInput, @@ -1342,6 +1420,13 @@ import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput, } from "../commands/ModifyInstancePlacementCommand"; +import { ModifyIpamCommandInput, ModifyIpamCommandOutput } from "../commands/ModifyIpamCommand"; +import { ModifyIpamPoolCommandInput, ModifyIpamPoolCommandOutput } from "../commands/ModifyIpamPoolCommand"; +import { + ModifyIpamResourceCidrCommandInput, + ModifyIpamResourceCidrCommandOutput, +} from "../commands/ModifyIpamResourceCidrCommand"; +import { ModifyIpamScopeCommandInput, ModifyIpamScopeCommandOutput } from "../commands/ModifyIpamScopeCommand"; import { ModifyLaunchTemplateCommandInput, ModifyLaunchTemplateCommandOutput, @@ -1445,7 +1530,19 @@ import { } from "../commands/ModifyVpnTunnelOptionsCommand"; import { MonitorInstancesCommandInput, MonitorInstancesCommandOutput } from "../commands/MonitorInstancesCommand"; import { MoveAddressToVpcCommandInput, MoveAddressToVpcCommandOutput } from "../commands/MoveAddressToVpcCommand"; +import { + MoveByoipCidrToIpamCommandInput, + MoveByoipCidrToIpamCommandOutput, +} from "../commands/MoveByoipCidrToIpamCommand"; import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput } from "../commands/ProvisionByoipCidrCommand"; +import { + ProvisionIpamPoolCidrCommandInput, + ProvisionIpamPoolCidrCommandOutput, +} from "../commands/ProvisionIpamPoolCidrCommand"; +import { + ProvisionPublicIpv4PoolCidrCommandInput, + ProvisionPublicIpv4PoolCidrCommandOutput, +} from "../commands/ProvisionPublicIpv4PoolCidrCommand"; import { PurchaseHostReservationCommandInput, PurchaseHostReservationCommandOutput, @@ -1494,6 +1591,10 @@ import { } from "../commands/RejectVpcPeeringConnectionCommand"; import { ReleaseAddressCommandInput, ReleaseAddressCommandOutput } from "../commands/ReleaseAddressCommand"; import { ReleaseHostsCommandInput, ReleaseHostsCommandOutput } from "../commands/ReleaseHostsCommand"; +import { + ReleaseIpamPoolAllocationCommandInput, + ReleaseIpamPoolAllocationCommandOutput, +} from "../commands/ReleaseIpamPoolAllocationCommand"; import { ReplaceIamInstanceProfileAssociationCommandInput, ReplaceIamInstanceProfileAssociationCommandOutput, @@ -1602,6 +1703,10 @@ import { SendDiagnosticInterruptCommandOutput, } from "../commands/SendDiagnosticInterruptCommand"; import { StartInstancesCommandInput, StartInstancesCommandOutput } from "../commands/StartInstancesCommand"; +import { + StartNetworkInsightsAccessScopeAnalysisCommandInput, + StartNetworkInsightsAccessScopeAnalysisCommandOutput, +} from "../commands/StartNetworkInsightsAccessScopeAnalysisCommand"; import { StartNetworkInsightsAnalysisCommandInput, StartNetworkInsightsAnalysisCommandOutput, @@ -1655,10 +1760,14 @@ import { AcceptVpcEndpointConnectionsResult, AcceptVpcPeeringConnectionRequest, AcceptVpcPeeringConnectionResult, + AccessScopeAnalysisFinding, + AccessScopePath, + AccessScopePathRequest, AccountAttribute, AccountAttributeName, AccountAttributeValue, ActiveInstance, + AddIpamOperatingRegion, AddPrefixListEntry, Address, AddressAttribute, @@ -1668,8 +1777,15 @@ import { AllocateAddressResult, AllocateHostsRequest, AllocateHostsResult, + AllocateIpamPoolCidrRequest, + AllocateIpamPoolCidrResult, AllowedPrincipal, AlternatePathHint, + AnalysisAclRule, + AnalysisComponent, + AnalysisPacketHeader, + AnalysisRouteTableRoute, + AnalysisSecurityGroupRule, ApplySecurityGroupsToClientVpnTargetNetworkRequest, ApplySecurityGroupsToClientVpnTargetNetworkResult, AssignedPrivateIpAddress, @@ -1745,7 +1861,6 @@ import { CancelSpotInstanceRequestsResult, CapacityReservation, CapacityReservationFleetCancellationState, - CapacityReservationOptionsRequest, CarrierGateway, CertificateAuthenticationRequest, CidrBlock, @@ -1784,7 +1899,6 @@ import { CreateDhcpOptionsResult, CreateEgressOnlyInternetGatewayRequest, CreateEgressOnlyInternetGatewayResult, - CreateFleetRequest, CustomerGateway, DhcpConfiguration, DhcpOptions, @@ -1793,12 +1907,7 @@ import { FailedCapacityReservationFleetCancellationResult, FederatedAuthenticationRequest, FleetCapacityReservation, - FleetLaunchTemplateConfigRequest, - FleetLaunchTemplateOverridesRequest, - FleetLaunchTemplateSpecification, FleetLaunchTemplateSpecificationRequest, - FleetSpotCapacityRebalanceRequest, - FleetSpotMaintenanceStrategiesRequest, IamInstanceProfile, IamInstanceProfileAssociation, IamInstanceProfileSpecification, @@ -1808,33 +1917,36 @@ import { InstanceEventWindowAssociationTarget, InstanceEventWindowTimeRange, InstanceGeneration, - InstanceRequirementsRequest, InternetGatewayAttachment, + IpamPoolAllocation, IpPermission, IpRange, Ipv4PrefixSpecification, Ipv6CidrBlock, Ipv6Range, LocalStorageType, - MemoryGiBPerVCpuRequest, - MemoryMiBRequest, - NetworkInterfaceCountRequest, NewDhcpConfiguration, - OnDemandOptionsRequest, + PacketHeaderStatement, + PacketHeaderStatementRequest, + PathComponent, + PathStatement, + PathStatementRequest, PeeringAttachmentStatus, PeeringTgwInfo, - Placement, + PortRange, PrefixListId, PriceSchedule, PrivateDnsNameOptionsOnLaunch, + Protocol, PtrUpdateStatus, ReferencedSecurityGroup, ReservationFleetInstanceSpecification, ReservedInstancesListing, + ResourceStatement, + ResourceStatementRequest, RouteTableAssociationState, S3Storage, SecurityGroupRule, - SpotOptionsRequest, Storage, Subnet, SubnetAssociation, @@ -1842,9 +1954,9 @@ import { SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, - TargetCapacitySpecificationRequest, TargetConfigurationRequest, - TotalLocalStorageGBRequest, + ThroughResourcesStatement, + ThroughResourcesStatementRequest, TransitGatewayAssociation, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, @@ -1854,7 +1966,6 @@ import { UnsuccessfulItem, UnsuccessfulItemError, UserIdGroupPair, - VCpuCountRangeRequest, VolumeAttachment, Vpc, VpcAttachment, @@ -1869,10 +1980,12 @@ import { import { BaselineEbsBandwidthMbps, BlockDeviceMapping, + CapacityReservationOptionsRequest, CapacityReservationTarget, CapacityReservationTargetResponse, CreateFleetError, CreateFleetInstance, + CreateFleetRequest, CreateFleetResult, CreateFlowLogsRequest, CreateFlowLogsResult, @@ -1886,6 +1999,12 @@ import { CreateInstanceExportTaskResult, CreateInternetGatewayRequest, CreateInternetGatewayResult, + CreateIpamPoolRequest, + CreateIpamPoolResult, + CreateIpamRequest, + CreateIpamResult, + CreateIpamScopeRequest, + CreateIpamScopeResult, CreateKeyPairRequest, CreateLaunchTemplateRequest, CreateLaunchTemplateResult, @@ -1902,6 +2021,8 @@ import { CreateNetworkAclEntryRequest, CreateNetworkAclRequest, CreateNetworkAclResult, + CreateNetworkInsightsAccessScopeRequest, + CreateNetworkInsightsAccessScopeResult, CreateNetworkInsightsPathRequest, CreateNetworkInsightsPathResult, CreateNetworkInterfacePermissionRequest, @@ -1910,6 +2031,8 @@ import { CreateNetworkInterfaceResult, CreatePlacementGroupRequest, CreatePlacementGroupResult, + CreatePublicIpv4PoolRequest, + CreatePublicIpv4PoolResult, CreateReplaceRootVolumeTaskRequest, CreateReplaceRootVolumeTaskResult, CreateReservedInstancesListingRequest, @@ -1943,42 +2066,26 @@ import { CreateTrafficMirrorTargetRequest, CreateTrafficMirrorTargetResult, CreateTransitGatewayConnectPeerRequest, - CreateTransitGatewayConnectPeerResult, CreateTransitGatewayConnectRequest, CreateTransitGatewayConnectRequestOptions, CreateTransitGatewayConnectResult, - CreateTransitGatewayMulticastDomainRequest, - CreateTransitGatewayMulticastDomainRequestOptions, - CreateTransitGatewayMulticastDomainResult, - CreateTransitGatewayPeeringAttachmentRequest, - CreateTransitGatewayPeeringAttachmentResult, - CreateTransitGatewayPrefixListReferenceRequest, - CreateTransitGatewayPrefixListReferenceResult, CreateTransitGatewayRequest, CreateTransitGatewayResult, - CreateTransitGatewayRouteRequest, - CreateTransitGatewayRouteResult, - CreateTransitGatewayRouteTableRequest, - CreateTransitGatewayRouteTableResult, - CreateTransitGatewayVpcAttachmentRequest, - CreateTransitGatewayVpcAttachmentRequestOptions, - CreateTransitGatewayVpcAttachmentResult, - CreateVolumeRequest, - CreateVpcEndpointRequest, - CreateVpcEndpointResult, - CreateVpcRequest, - CreateVpcResult, CreditSpecification, CreditSpecificationRequest, DestinationOptionsRequest, - DnsEntry, EbsBlockDevice, ElasticGpuSpecification, ElasticGpuSpecificationResponse, ExportTask, ExportToS3Task, ExportToS3TaskSpecification, + FleetLaunchTemplateConfigRequest, FleetLaunchTemplateOverrides, + FleetLaunchTemplateOverridesRequest, + FleetLaunchTemplateSpecification, + FleetSpotCapacityRebalanceRequest, + FleetSpotMaintenanceStrategiesRequest, GroupIdentifier, IcmpTypeCode, InstanceEventWindowTimeRangeRequest, @@ -1986,15 +2093,20 @@ import { InstanceIpv6Address, InstanceIpv6AddressRequest, InstanceRequirements, + InstanceRequirementsRequest, InstanceSpecification, InternetGateway, + Ipam, + IpamOperatingRegion, + IpamPool, + IpamResourceTag, + IpamScope, Ipv4PrefixSpecificationRequest, Ipv4PrefixSpecificationResponse, Ipv6PrefixSpecification, Ipv6PrefixSpecificationRequest, Ipv6PrefixSpecificationResponse, KeyPair, - LastError, LaunchTemplate, LaunchTemplateAndOverridesResponse, LaunchTemplateBlockDeviceMapping, @@ -2036,43 +2148,52 @@ import { LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, MemoryGiBPerVCpu, + MemoryGiBPerVCpuRequest, MemoryMiB, + MemoryMiBRequest, NatGateway, NatGatewayAddress, NetworkAcl, NetworkAclAssociation, NetworkAclEntry, + NetworkInsightsAccessScope, + NetworkInsightsAccessScopeContent, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAssociation, NetworkInterfaceAttachment, NetworkInterfaceCount, + NetworkInterfaceCountRequest, NetworkInterfaceIpv6Address, NetworkInterfacePermission, NetworkInterfacePermissionState, NetworkInterfacePrivateIpAddress, + OnDemandOptionsRequest, + Placement, PlacementGroup, PlacementResponse, - PortRange, PriceScheduleSpecification, PrivateIpAddressSpecification, PropagatingVgw, ProvisionedBandwidth, ReplaceRootVolumeTask, + RequestIpamResourceTag, RequestLaunchTemplateData, ResponseLaunchTemplateData, Route, RouteTable, RouteTableAssociation, S3ObjectTag, - SecurityGroupIdentifier, Snapshot, SnapshotInfo, SpotDatafeedSubscription, SpotInstanceStateFault, + SpotOptionsRequest, StorageLocation, SubnetCidrReservation, + TargetCapacitySpecificationRequest, TotalLocalStorageGB, + TotalLocalStorageGBRequest, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorNetworkService, @@ -2084,23 +2205,13 @@ import { TransitGatewayAttachmentBgpConfiguration, TransitGatewayConnect, TransitGatewayConnectOptions, - TransitGatewayConnectPeer, - TransitGatewayConnectPeerConfiguration, TransitGatewayConnectRequestBgpOptions, - TransitGatewayMulticastDomain, - TransitGatewayMulticastDomainOptions, TransitGatewayOptions, - TransitGatewayPrefixListAttachment, - TransitGatewayPrefixListReference, TransitGatewayRequestOptions, - TransitGatewayRoute, - TransitGatewayRouteAttachment, - TransitGatewayRouteTable, ValidationError, ValidationWarning, VCpuCountRange, - Volume, - VpcEndpoint, + VCpuCountRangeRequest, } from "../models/models_1"; import { AssociatedTargetNetwork, @@ -2108,7 +2219,6 @@ import { AvailabilityZone, AvailabilityZoneMessage, CapacityReservationFleet, - CapacityReservationOptions, CertificateAuthentication, ClassicLinkInstance, ClientConnectResponseOptions, @@ -2121,13 +2231,32 @@ import { CoipPool, ConnectionLogResponseOptions, ConnectionNotification, - ConversionTask, + CreateTransitGatewayConnectPeerResult, + CreateTransitGatewayMulticastDomainRequest, + CreateTransitGatewayMulticastDomainRequestOptions, + CreateTransitGatewayMulticastDomainResult, + CreateTransitGatewayPeeringAttachmentRequest, + CreateTransitGatewayPeeringAttachmentResult, + CreateTransitGatewayPrefixListReferenceRequest, + CreateTransitGatewayPrefixListReferenceResult, + CreateTransitGatewayRouteRequest, + CreateTransitGatewayRouteResult, + CreateTransitGatewayRouteTableRequest, + CreateTransitGatewayRouteTableResult, + CreateTransitGatewayVpcAttachmentRequest, + CreateTransitGatewayVpcAttachmentRequestOptions, + CreateTransitGatewayVpcAttachmentResult, + CreateVolumeRequest, CreateVpcEndpointConnectionNotificationRequest, CreateVpcEndpointConnectionNotificationResult, + CreateVpcEndpointRequest, + CreateVpcEndpointResult, CreateVpcEndpointServiceConfigurationRequest, CreateVpcEndpointServiceConfigurationResult, CreateVpcPeeringConnectionRequest, CreateVpcPeeringConnectionResult, + CreateVpcRequest, + CreateVpcResult, CreateVpnConnectionRequest, CreateVpnConnectionResult, CreateVpnConnectionRouteRequest, @@ -2155,6 +2284,12 @@ import { DeleteInstanceEventWindowRequest, DeleteInstanceEventWindowResult, DeleteInternetGatewayRequest, + DeleteIpamPoolRequest, + DeleteIpamPoolResult, + DeleteIpamRequest, + DeleteIpamResult, + DeleteIpamScopeRequest, + DeleteIpamScopeResult, DeleteKeyPairRequest, DeleteLaunchTemplateRequest, DeleteLaunchTemplateResult, @@ -2172,6 +2307,10 @@ import { DeleteNatGatewayResult, DeleteNetworkAclEntryRequest, DeleteNetworkAclRequest, + DeleteNetworkInsightsAccessScopeAnalysisRequest, + DeleteNetworkInsightsAccessScopeAnalysisResult, + DeleteNetworkInsightsAccessScopeRequest, + DeleteNetworkInsightsAccessScopeResult, DeleteNetworkInsightsAnalysisRequest, DeleteNetworkInsightsAnalysisResult, DeleteNetworkInsightsPathRequest, @@ -2180,6 +2319,8 @@ import { DeleteNetworkInterfacePermissionResult, DeleteNetworkInterfaceRequest, DeletePlacementGroupRequest, + DeletePublicIpv4PoolRequest, + DeletePublicIpv4PoolResult, DeleteQueuedReservedInstancesError, DeleteQueuedReservedInstancesRequest, DeleteQueuedReservedInstancesResult, @@ -2233,6 +2374,10 @@ import { DeleteVpnGatewayRequest, DeprovisionByoipCidrRequest, DeprovisionByoipCidrResult, + DeprovisionIpamPoolCidrRequest, + DeprovisionIpamPoolCidrResult, + DeprovisionPublicIpv4PoolCidrRequest, + DeprovisionPublicIpv4PoolCidrResult, DeregisterImageRequest, DeregisterInstanceEventNotificationAttributesRequest, DeregisterInstanceEventNotificationAttributesResult, @@ -2276,60 +2421,13 @@ import { DescribeCoipPoolsRequest, DescribeCoipPoolsResult, DescribeConversionTasksRequest, - DescribeConversionTasksResult, - DescribeCustomerGatewaysRequest, - DescribeCustomerGatewaysResult, - DescribeDhcpOptionsRequest, - DescribeDhcpOptionsResult, - DescribeEgressOnlyInternetGatewaysRequest, - DescribeEgressOnlyInternetGatewaysResult, - DescribeElasticGpusRequest, - DescribeElasticGpusResult, - DescribeExportImageTasksRequest, - DescribeExportImageTasksResult, - DescribeExportTasksRequest, - DescribeExportTasksResult, - DescribeFastSnapshotRestoresRequest, - DescribeFastSnapshotRestoresResult, - DescribeFastSnapshotRestoreSuccessItem, - DescribeFleetError, - DescribeFleetHistoryRequest, - DescribeFleetHistoryResult, - DescribeFleetInstancesRequest, - DescribeFleetInstancesResult, - DescribeFleetsInstances, - DescribeFleetsRequest, - DescribeFleetsResult, - DescribeFlowLogsRequest, - DescribeFlowLogsResult, - DescribeFpgaImageAttributeRequest, - DescribeFpgaImageAttributeResult, - DescribeFpgaImagesRequest, - DescribeFpgaImagesResult, - DescribeHostReservationOfferingsRequest, - DescribeHostReservationOfferingsResult, - DestinationOptionsResponse, DirectoryServiceAuthentication, DiskImageDescription, DiskImageVolumeDescription, - ElasticGpuHealth, - ElasticGpus, - EventInformation, - ExportImageTask, - ExportTaskS3Location, + DnsEntry, FailedQueuedPurchaseDeletion, FederatedAuthentication, Filter, - FleetData, - FleetLaunchTemplateConfig, - FleetSpotCapacityRebalance, - FleetSpotMaintenanceStrategies, - FlowLog, - FpgaImage, - FpgaImageAttribute, - FpgaImageState, - HistoryRecordEntry, - HostOffering, IdFormat, IKEVersionsListValue, IKEVersionsRequestListValue, @@ -2338,9 +2436,9 @@ import { ImportVolumeTaskDetails, InstanceEventWindowStateChange, InstanceTagNotificationAttribute, - LoadPermission, - OnDemandOptions, - PciId, + IpamPoolCidr, + IpamPoolCidrFailureReason, + LastError, Phase1DHGroupNumbersListValue, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsListValue, @@ -2354,18 +2452,27 @@ import { Phase2IntegrityAlgorithmsListValue, Phase2IntegrityAlgorithmsRequestListValue, PrivateDnsNameConfiguration, - ProductCode, ResponseError, + SecurityGroupIdentifier, ServiceConfiguration, ServiceTypeDetail, - SpotOptions, SuccessfulQueuedPurchaseDeletion, - TargetCapacitySpecification, TargetNetwork, + TransitGatewayConnectPeer, + TransitGatewayConnectPeerConfiguration, TransitGatewayMulticastDeregisteredGroupMembers, TransitGatewayMulticastDeregisteredGroupSources, + TransitGatewayMulticastDomain, + TransitGatewayMulticastDomainOptions, + TransitGatewayPrefixListAttachment, + TransitGatewayPrefixListReference, + TransitGatewayRoute, + TransitGatewayRouteAttachment, + TransitGatewayRouteTable, TunnelOption, VgwTelemetry, + Volume, + VpcEndpoint, VpnConnection, VpnConnectionOptions, VpnConnectionOptionsSpecification, @@ -2374,22 +2481,48 @@ import { VpnTunnelOptionsSpecification, } from "../models/models_2"; import { - AnalysisAclRule, - AnalysisComponent, AnalysisLoadBalancerListener, AnalysisLoadBalancerTarget, - AnalysisPacketHeader, - AnalysisRouteTableRoute, - AnalysisSecurityGroupRule, ArchitectureType, AttributeBooleanValue, AvailableCapacity, BootModeType, + CapacityReservationOptions, CapacityReservationSpecificationResponse, - ClassicLoadBalancer, - ClassicLoadBalancersConfig, + ConversionTask, CpuOptions, - CreateVolumePermission, + DescribeConversionTasksResult, + DescribeCustomerGatewaysRequest, + DescribeCustomerGatewaysResult, + DescribeDhcpOptionsRequest, + DescribeDhcpOptionsResult, + DescribeEgressOnlyInternetGatewaysRequest, + DescribeEgressOnlyInternetGatewaysResult, + DescribeElasticGpusRequest, + DescribeElasticGpusResult, + DescribeExportImageTasksRequest, + DescribeExportImageTasksResult, + DescribeExportTasksRequest, + DescribeExportTasksResult, + DescribeFastSnapshotRestoresRequest, + DescribeFastSnapshotRestoresResult, + DescribeFastSnapshotRestoreSuccessItem, + DescribeFleetError, + DescribeFleetHistoryRequest, + DescribeFleetHistoryResult, + DescribeFleetInstancesRequest, + DescribeFleetInstancesResult, + DescribeFleetsInstances, + DescribeFleetsRequest, + DescribeFleetsResult, + DescribeFlowLogsRequest, + DescribeFlowLogsResult, + DescribeFpgaImageAttributeRequest, + DescribeFpgaImageAttributeResult, + DescribeFpgaImagesRequest, + DescribeFpgaImagesResult, + DescribeHostReservationOfferingsRequest, + DescribeHostReservationOfferingsResult, DescribeHostReservationsRequest, DescribeHostReservationsResult, DescribeHostsRequest, @@ -2424,6 +2557,12 @@ import { DescribeInstanceTypesResult, DescribeInternetGatewaysRequest, DescribeInternetGatewaysResult, + DescribeIpamPoolsRequest, + DescribeIpamPoolsResult, + DescribeIpamScopesRequest, + DescribeIpamScopesResult, + DescribeIpamsRequest, + DescribeIpamsResult, DescribeIpv6PoolsRequest, DescribeIpv6PoolsResult, DescribeKeyPairsRequest, @@ -2452,6 +2591,10 @@ import { DescribeNatGatewaysResult, DescribeNetworkAclsRequest, DescribeNetworkAclsResult, + DescribeNetworkInsightsAccessScopeAnalysesRequest, + DescribeNetworkInsightsAccessScopeAnalysesResult, + DescribeNetworkInsightsAccessScopesRequest, + DescribeNetworkInsightsAccessScopesResult, DescribeNetworkInsightsAnalysesRequest, DescribeNetworkInsightsAnalysesResult, DescribeNetworkInsightsPathsRequest, @@ -2477,59 +2620,42 @@ import { DescribeReservedInstancesListingsRequest, DescribeReservedInstancesListingsResult, DescribeReservedInstancesModificationsRequest, - DescribeReservedInstancesModificationsResult, - DescribeReservedInstancesOfferingsRequest, - DescribeReservedInstancesOfferingsResult, DescribeReservedInstancesRequest, DescribeReservedInstancesResult, - DescribeRouteTablesRequest, - DescribeRouteTablesResult, - DescribeScheduledInstanceAvailabilityRequest, - DescribeScheduledInstanceAvailabilityResult, - DescribeScheduledInstancesRequest, - DescribeScheduledInstancesResult, - DescribeSecurityGroupReferencesRequest, - DescribeSecurityGroupReferencesResult, - DescribeSecurityGroupRulesRequest, - DescribeSecurityGroupRulesResult, - DescribeSecurityGroupsRequest, - DescribeSecurityGroupsResult, - DescribeSnapshotAttributeRequest, - DescribeSnapshotAttributeResult, - DescribeSnapshotsRequest, - DescribeSnapshotsResult, - DescribeSnapshotTierStatusRequest, - DescribeSnapshotTierStatusResult, - DescribeSpotDatafeedSubscriptionRequest, - DescribeSpotDatafeedSubscriptionResult, - DescribeSpotFleetInstancesRequest, - DescribeSpotFleetInstancesResponse, - DescribeSpotFleetRequestHistoryRequest, - DescribeSpotFleetRequestHistoryResponse, - DescribeSpotFleetRequestsRequest, - DescribeSpotFleetRequestsResponse, - DescribeSpotInstanceRequestsRequest, - DescribeSpotInstanceRequestsResult, - DescribeSpotPriceHistoryRequest, + DestinationOptionsResponse, DiskInfo, EbsInfo, EbsInstanceBlockDevice, EbsOptimizedInfo, EfaInfo, ElasticGpuAssociation, + ElasticGpuHealth, + ElasticGpus, ElasticInferenceAcceleratorAssociation, EnclaveOptions, + EventInformation, Explanation, + ExportImageTask, + ExportTaskS3Location, + FleetData, + FleetLaunchTemplateConfig, + FleetSpotCapacityRebalance, + FleetSpotMaintenanceStrategies, + FlowLog, FpgaDeviceInfo, FpgaDeviceMemoryInfo, + FpgaImage, + FpgaImageAttribute, + FpgaImageState, FpgaInfo, GpuDeviceInfo, GpuDeviceMemoryInfo, GpuInfo, HibernationOptions, - HistoryRecord, + HistoryRecordEntry, Host, HostInstance, + HostOffering, HostProperties, HostReservation, Image, @@ -2550,7 +2676,6 @@ import { InstanceNetworkInterface, InstanceNetworkInterfaceAssociation, InstanceNetworkInterfaceAttachment, - InstanceNetworkInterfaceSpecification, InstancePrivateIpAddress, InstanceState, InstanceStatus, @@ -2563,11 +2688,8 @@ import { Ipv6Pool, KeyPairInfo, LaunchPermission, - LaunchSpecification, - LaunchTemplateConfig, - LaunchTemplateOverrides, LicenseConfiguration, - LoadBalancersConfig, + LoadPermission, LocalGateway, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, @@ -2578,16 +2700,18 @@ import { MovingAddressStatus, NetworkCardInfo, NetworkInfo, + NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis, - PathComponent, + OnDemandOptions, + PciId, PlacementGroupInfo, PlacementGroupStrategy, PoolCidrBlock, PrefixList, - PricingDetail, PrincipalIdFormat, PrivateDnsNameOptionsResponse, ProcessorInfo, + ProductCode, PublicIpv4Pool, PublicIpv4PoolRange, RecurringCharge, @@ -2598,33 +2722,12 @@ import { ReservedInstancesId, ReservedInstancesModification, ReservedInstancesModificationResult, - ReservedInstancesOffering, RootDeviceType, - RunInstancesMonitoringEnabled, - ScheduledInstance, - ScheduledInstanceAvailability, - ScheduledInstanceRecurrence, - ScheduledInstanceRecurrenceRequest, - SecurityGroup, - SecurityGroupReference, - SlotDateTimeRangeRequest, - SlotStartTimeRangeRequest, SnapshotDetail, SnapshotTaskDetail, - SnapshotTierStatus, - SpotCapacityRebalance, - SpotFleetLaunchSpecification, - SpotFleetMonitoring, - SpotFleetRequestConfig, - SpotFleetRequestConfigData, - SpotFleetTagSpecification, - SpotInstanceRequest, - SpotInstanceStatus, - SpotMaintenanceStrategies, - SpotPlacement, + SpotOptions, StateReason, - TargetGroup, - TargetGroupsConfig, + TargetCapacitySpecification, UsageClassType, UserBucketDetails, VCpuInfo, @@ -2635,9 +2738,43 @@ import { AthenaIntegration, CapacityReservationGroup, ClassicLinkDnsSupport, + ClassicLoadBalancer, + ClassicLoadBalancersConfig, ClientCertificateRevocationListStatus, - ClientData, CoipAddressUsage, + CreateVolumePermission, + DescribeReservedInstancesModificationsResult, + DescribeReservedInstancesOfferingsRequest, + DescribeReservedInstancesOfferingsResult, + DescribeRouteTablesRequest, + DescribeRouteTablesResult, + DescribeScheduledInstanceAvailabilityRequest, + DescribeScheduledInstanceAvailabilityResult, + DescribeScheduledInstancesRequest, + DescribeScheduledInstancesResult, + DescribeSecurityGroupReferencesRequest, + DescribeSecurityGroupReferencesResult, + DescribeSecurityGroupRulesRequest, + DescribeSecurityGroupRulesResult, + DescribeSecurityGroupsRequest, + DescribeSecurityGroupsResult, + DescribeSnapshotAttributeRequest, + DescribeSnapshotAttributeResult, + DescribeSnapshotsRequest, + DescribeSnapshotsResult, + DescribeSnapshotTierStatusRequest, + DescribeSnapshotTierStatusResult, + DescribeSpotDatafeedSubscriptionRequest, + DescribeSpotDatafeedSubscriptionResult, + DescribeSpotFleetInstancesRequest, + DescribeSpotFleetInstancesResponse, + DescribeSpotFleetRequestHistoryRequest, + DescribeSpotFleetRequestHistoryResponse, + DescribeSpotFleetRequestsRequest, + DescribeSpotFleetRequestsResponse, + DescribeSpotInstanceRequestsRequest, + DescribeSpotInstanceRequestsResult, + DescribeSpotPriceHistoryRequest, DescribeSpotPriceHistoryResult, DescribeStaleSecurityGroupsRequest, DescribeStaleSecurityGroupsResult, @@ -2721,6 +2858,8 @@ import { DisableFastSnapshotRestoreSuccessItem, DisableImageDeprecationRequest, DisableImageDeprecationResult, + DisableIpamOrganizationAdminAccountRequest, + DisableIpamOrganizationAdminAccountResult, DisableSerialConsoleAccessRequest, DisableSerialConsoleAccessResult, DisableTransitGatewayRouteTablePropagationRequest, @@ -2750,9 +2889,6 @@ import { DisassociateTrunkInterfaceResult, DisassociateVpcCidrBlockRequest, DisassociateVpcCidrBlockResult, - DiskImage, - DiskImageDetail, - DnsServersOptionsModifyStructure, EnableEbsEncryptionByDefaultRequest, EnableEbsEncryptionByDefaultResult, EnableFastSnapshotRestoreErrorItem, @@ -2763,6 +2899,8 @@ import { EnableFastSnapshotRestoreSuccessItem, EnableImageDeprecationRequest, EnableImageDeprecationResult, + EnableIpamOrganizationAdminAccountRequest, + EnableIpamOrganizationAdminAccountResult, EnableSerialConsoleAccessRequest, EnableSerialConsoleAccessResult, EnableTransitGatewayRouteTablePropagationRequest, @@ -2808,12 +2946,96 @@ import { GetHostReservationPurchasePreviewResult, GetInstanceTypesFromInstanceRequirementsRequest, GetInstanceTypesFromInstanceRequirementsResult, + GetIpamAddressHistoryRequest, + GetIpamAddressHistoryResult, + GetIpamPoolAllocationsRequest, + GetIpamPoolAllocationsResult, + GetIpamPoolCidrsRequest, + GetIpamPoolCidrsResult, + GetIpamResourceCidrsRequest, + GetIpamResourceCidrsResult, GetLaunchTemplateDataRequest, + HistoryRecord, + InstanceEventWindowDisassociationRequest, + InstanceFamilyCreditSpecification, + InstanceNetworkInterfaceSpecification, + InstanceTypeInfoFromInstanceRequirements, + InstanceUsage, + IntegrateServices, + IpamAddressHistoryRecord, + IpamResourceCidr, + Ipv6CidrAssociation, + LaunchSpecification, + LaunchTemplateConfig, + LaunchTemplateOverrides, + LoadBalancersConfig, + PricingDetail, + PrivateDnsDetails, + Purchase, + ReservedInstancesOffering, + RunInstancesMonitoringEnabled, + ScheduledInstance, + ScheduledInstanceAvailability, + ScheduledInstanceRecurrence, + ScheduledInstanceRecurrenceRequest, + SecurityGroup, + SecurityGroupReference, + ServiceDetail, + SlotDateTimeRangeRequest, + SlotStartTimeRangeRequest, + SnapshotTierStatus, + SpotCapacityRebalance, + SpotFleetLaunchSpecification, + SpotFleetMonitoring, + SpotFleetRequestConfig, + SpotFleetRequestConfigData, + SpotFleetTagSpecification, + SpotInstanceRequest, + SpotInstanceStatus, + SpotMaintenanceStrategies, + SpotPlacement, + SpotPrice, + StaleIpPermission, + StaleSecurityGroup, + StoreImageTaskResult, + TagDescription, + TargetGroup, + TargetGroupsConfig, + TransitGatewayAttachment, + TransitGatewayAttachmentAssociation, + TransitGatewayPropagation, + VolumeModification, + VolumeStatusAction, + VolumeStatusAttachmentStatus, + VolumeStatusDetails, + VolumeStatusEvent, + VolumeStatusInfo, + VolumeStatusItem, + VpcClassicLink, + VpcEndpointConnection, +} from "../models/models_4"; +import { + BlobAttributeValue, + CapacityReservationSpecification, + CidrAuthorizationContext, + ClientData, + CpuOptionsRequest, + CreateVolumePermissionModifications, + DiskImage, + DiskImageDetail, + DnsServersOptionsModifyStructure, + EbsInstanceBlockDeviceSpecification, + ElasticInferenceAccelerator, + EnclaveOptionsRequest, GetLaunchTemplateDataResult, GetManagedPrefixListAssociationsRequest, GetManagedPrefixListAssociationsResult, GetManagedPrefixListEntriesRequest, GetManagedPrefixListEntriesResult, + GetNetworkInsightsAccessScopeAnalysisFindingsRequest, + GetNetworkInsightsAccessScopeAnalysisFindingsResult, + GetNetworkInsightsAccessScopeContentRequest, + GetNetworkInsightsAccessScopeContentResult, GetPasswordDataRequest, GetPasswordDataResult, GetReservedInstancesExchangeQuoteRequest, @@ -2838,6 +3060,7 @@ import { GetVpnConnectionDeviceSampleConfigurationResult, GetVpnConnectionDeviceTypesRequest, GetVpnConnectionDeviceTypesResult, + HibernationOptionsRequest, ImageDiskContainer, ImportClientVpnClientCertificateRevocationListRequest, ImportClientVpnClientCertificateRevocationListResult, @@ -2853,13 +3076,13 @@ import { ImportSnapshotResult, ImportVolumeRequest, ImportVolumeResult, - InstanceEventWindowDisassociationRequest, - InstanceFamilyCreditSpecification, + InstanceBlockDeviceMappingSpecification, + InstanceCreditSpecificationRequest, + InstanceMarketOptionsRequest, + InstanceMonitoring, InstanceRequirementsWithMetadataRequest, - InstanceTypeInfoFromInstanceRequirements, - InstanceUsage, - IntegrateServices, - Ipv6CidrAssociation, + IpamCidrAuthorizationContext, + LaunchPermissionModifications, ListSnapshotsInRecycleBinRequest, ListSnapshotsInRecycleBinResult, LoadPermissionModifications, @@ -2883,63 +3106,6 @@ import { ModifyFpgaImageAttributeRequest, ModifyFpgaImageAttributeResult, ModifyHostsRequest, - PrefixListAssociation, - PrefixListEntry, - PrivateDnsDetails, - Purchase, - ReservationValue, - ReservedInstanceReservationValue, - ServiceDetail, - SnapshotDiskContainer, - SnapshotRecycleBinInfo, - SpotPlacementScore, - SpotPrice, - StaleIpPermission, - StaleSecurityGroup, - StoreImageTaskResult, - TagDescription, - TargetConfiguration, - TargetReservationValue, - TransitGatewayAttachment, - TransitGatewayAttachmentAssociation, - TransitGatewayAttachmentPropagation, - TransitGatewayMulticastDomainAssociation, - TransitGatewayPropagation, - TransitGatewayRouteTableAssociation, - TransitGatewayRouteTablePropagation, - UserBucket, - UserData, - VolumeDetail, - VolumeModification, - VolumeStatusAction, - VolumeStatusAttachmentStatus, - VolumeStatusDetails, - VolumeStatusEvent, - VolumeStatusInfo, - VolumeStatusItem, - VpcClassicLink, - VpcEndpointConnection, - VpnConnectionDeviceType, -} from "../models/models_4"; -import { - BlobAttributeValue, - CapacityReservationSpecification, - CidrAuthorizationContext, - CpuOptionsRequest, - CreateVolumePermissionModifications, - EbsInstanceBlockDeviceSpecification, - ElasticInferenceAccelerator, - EnclaveOptionsRequest, - HibernationOptionsRequest, - InstanceBlockDeviceMappingSpecification, - InstanceCreditSpecificationRequest, - InstanceMarketOptionsRequest, - InstanceMetadataOptionsRequest, - InstanceMonitoring, - InstanceStateChange, - LaunchPermissionModifications, - LaunchTemplateSpecification, - LicenseConfigurationRequest, ModifyHostsResult, ModifyIdentityIdFormatRequest, ModifyIdFormatRequest, @@ -2957,6 +3123,14 @@ import { ModifyInstanceMetadataOptionsResult, ModifyInstancePlacementRequest, ModifyInstancePlacementResult, + ModifyIpamPoolRequest, + ModifyIpamPoolResult, + ModifyIpamRequest, + ModifyIpamResourceCidrRequest, + ModifyIpamResourceCidrResult, + ModifyIpamResult, + ModifyIpamScopeRequest, + ModifyIpamScopeResult, ModifyLaunchTemplateRequest, ModifyLaunchTemplateResult, ModifyManagedPrefixListRequest, @@ -3017,12 +3191,19 @@ import { MonitorInstancesResult, MoveAddressToVpcRequest, MoveAddressToVpcResult, + MoveByoipCidrToIpamRequest, + MoveByoipCidrToIpamResult, NetworkInterfaceAttachmentChanges, PeeringConnectionOptions, PeeringConnectionOptionsRequest, - PrivateDnsNameOptionsRequest, + PrefixListAssociation, + PrefixListEntry, ProvisionByoipCidrRequest, ProvisionByoipCidrResult, + ProvisionIpamPoolCidrRequest, + ProvisionIpamPoolCidrResult, + ProvisionPublicIpv4PoolCidrRequest, + ProvisionPublicIpv4PoolCidrResult, PurchaseHostReservationRequest, PurchaseHostReservationResult, PurchaseRequest, @@ -3053,6 +3234,9 @@ import { ReleaseAddressRequest, ReleaseHostsRequest, ReleaseHostsResult, + ReleaseIpamPoolAllocationRequest, + ReleaseIpamPoolAllocationResult, + RemoveIpamOperatingRegion, RemovePrefixListEntry, ReplaceIamInstanceProfileAssociationRequest, ReplaceIamInstanceProfileAssociationResult, @@ -3071,7 +3255,9 @@ import { RequestSpotInstancesRequest, RequestSpotInstancesResult, RequestSpotLaunchSpecification, + ReservationValue, ReservedInstanceLimitPrice, + ReservedInstanceReservationValue, ResetAddressAttributeRequest, ResetAddressAttributeResult, ResetEbsDefaultKmsKeyIdRequest, @@ -3096,6 +3282,36 @@ import { RevokeSecurityGroupEgressResult, RevokeSecurityGroupIngressRequest, RevokeSecurityGroupIngressResult, + SecurityGroupRuleRequest, + SecurityGroupRuleUpdate, + SnapshotDiskContainer, + SnapshotRecycleBinInfo, + SpotMarketOptions, + SpotPlacementScore, + SuccessfulInstanceCreditSpecificationItem, + TargetConfiguration, + TargetReservationValue, + TrafficMirrorFilterRuleField, + TrafficMirrorSessionField, + TransitGatewayAttachmentPropagation, + TransitGatewayMulticastDomainAssociation, + TransitGatewayMulticastRegisteredGroupMembers, + TransitGatewayMulticastRegisteredGroupSources, + TransitGatewayRouteTableAssociation, + TransitGatewayRouteTablePropagation, + UnsuccessfulInstanceCreditSpecificationItem, + UnsuccessfulInstanceCreditSpecificationItemError, + UserBucket, + UserData, + VolumeDetail, + VpnConnectionDeviceType, +} from "../models/models_5"; +import { + InstanceMetadataOptionsRequest, + InstanceStateChange, + LaunchTemplateSpecification, + LicenseConfigurationRequest, + PrivateDnsNameOptionsRequest, RunInstancesRequest, RunScheduledInstancesRequest, RunScheduledInstancesResult, @@ -3115,43 +3331,35 @@ import { SearchTransitGatewayRoutesRequest, SearchTransitGatewayRoutesResult, SecurityGroupRuleDescription, - SecurityGroupRuleRequest, - SecurityGroupRuleUpdate, SendDiagnosticInterruptRequest, - SpotMarketOptions, StartInstancesRequest, StartInstancesResult, + StartNetworkInsightsAccessScopeAnalysisRequest, + StartNetworkInsightsAccessScopeAnalysisResult, StartNetworkInsightsAnalysisRequest, StartNetworkInsightsAnalysisResult, StartVpcEndpointServicePrivateDnsVerificationRequest, StartVpcEndpointServicePrivateDnsVerificationResult, StopInstancesRequest, StopInstancesResult, - SuccessfulInstanceCreditSpecificationItem, TerminateClientVpnConnectionsRequest, TerminateClientVpnConnectionsResult, TerminateConnectionStatus, TerminateInstancesRequest, TerminateInstancesResult, - TrafficMirrorFilterRuleField, - TrafficMirrorSessionField, TransitGatewayMulticastGroup, - TransitGatewayMulticastRegisteredGroupMembers, - TransitGatewayMulticastRegisteredGroupSources, UnassignIpv6AddressesRequest, UnassignIpv6AddressesResult, UnassignPrivateIpAddressesRequest, UnmonitorInstancesRequest, UnmonitorInstancesResult, - UnsuccessfulInstanceCreditSpecificationItem, - UnsuccessfulInstanceCreditSpecificationItemError, UpdateSecurityGroupRuleDescriptionsEgressRequest, UpdateSecurityGroupRuleDescriptionsEgressResult, UpdateSecurityGroupRuleDescriptionsIngressRequest, UpdateSecurityGroupRuleDescriptionsIngressResult, WithdrawByoipCidrRequest, WithdrawByoipCidrResult, -} from "../models/models_5"; +} from "../models/models_6"; export const serializeAws_ec2AcceptReservedInstancesExchangeQuoteCommand = async ( input: AcceptReservedInstancesExchangeQuoteCommandInput, @@ -3297,6 +3505,22 @@ export const serializeAws_ec2AllocateHostsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2AllocateIpamPoolCidrCommand = async ( + input: AllocateIpamPoolCidrCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2AllocateIpamPoolCidrRequest(input, context), + Action: "AllocateIpamPoolCidr", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommand = async ( input: ApplySecurityGroupsToClientVpnTargetNetworkCommandInput, context: __SerdeContext @@ -4161,6 +4385,54 @@ export const serializeAws_ec2CreateInternetGatewayCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2CreateIpamCommand = async ( + input: CreateIpamCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreateIpamRequest(input, context), + Action: "CreateIpam", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2CreateIpamPoolCommand = async ( + input: CreateIpamPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreateIpamPoolRequest(input, context), + Action: "CreateIpamPool", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2CreateIpamScopeCommand = async ( + input: CreateIpamScopeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreateIpamScopeRequest(input, context), + Action: "CreateIpamScope", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2CreateKeyPairCommand = async ( input: CreateKeyPairCommandInput, context: __SerdeContext @@ -4305,6 +4577,22 @@ export const serializeAws_ec2CreateNetworkAclEntryCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2CreateNetworkInsightsAccessScopeCommand = async ( + input: CreateNetworkInsightsAccessScopeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreateNetworkInsightsAccessScopeRequest(input, context), + Action: "CreateNetworkInsightsAccessScope", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2CreateNetworkInsightsPathCommand = async ( input: CreateNetworkInsightsPathCommandInput, context: __SerdeContext @@ -4369,6 +4657,22 @@ export const serializeAws_ec2CreatePlacementGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2CreatePublicIpv4PoolCommand = async ( + input: CreatePublicIpv4PoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreatePublicIpv4PoolRequest(input, context), + Action: "CreatePublicIpv4Pool", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2CreateReplaceRootVolumeTaskCommand = async ( input: CreateReplaceRootVolumeTaskCommandInput, context: __SerdeContext @@ -5105,6 +5409,54 @@ export const serializeAws_ec2DeleteInternetGatewayCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DeleteIpamCommand = async ( + input: DeleteIpamCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteIpamRequest(input, context), + Action: "DeleteIpam", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DeleteIpamPoolCommand = async ( + input: DeleteIpamPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteIpamPoolRequest(input, context), + Action: "DeleteIpamPool", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DeleteIpamScopeCommand = async ( + input: DeleteIpamScopeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteIpamScopeRequest(input, context), + Action: "DeleteIpamScope", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DeleteKeyPairCommand = async ( input: DeleteKeyPairCommandInput, context: __SerdeContext @@ -5249,6 +5601,38 @@ export const serializeAws_ec2DeleteNetworkAclEntryCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DeleteNetworkInsightsAccessScopeCommand = async ( + input: DeleteNetworkInsightsAccessScopeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteNetworkInsightsAccessScopeRequest(input, context), + Action: "DeleteNetworkInsightsAccessScope", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommand = async ( + input: DeleteNetworkInsightsAccessScopeAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisRequest(input, context), + Action: "DeleteNetworkInsightsAccessScopeAnalysis", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DeleteNetworkInsightsAnalysisCommand = async ( input: DeleteNetworkInsightsAnalysisCommandInput, context: __SerdeContext @@ -5329,6 +5713,22 @@ export const serializeAws_ec2DeletePlacementGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DeletePublicIpv4PoolCommand = async ( + input: DeletePublicIpv4PoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeletePublicIpv4PoolRequest(input, context), + Action: "DeletePublicIpv4Pool", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DeleteQueuedReservedInstancesCommand = async ( input: DeleteQueuedReservedInstancesCommandInput, context: __SerdeContext @@ -5841,6 +6241,38 @@ export const serializeAws_ec2DeprovisionByoipCidrCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DeprovisionIpamPoolCidrCommand = async ( + input: DeprovisionIpamPoolCidrCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeprovisionIpamPoolCidrRequest(input, context), + Action: "DeprovisionIpamPoolCidr", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DeprovisionPublicIpv4PoolCidrCommand = async ( + input: DeprovisionPublicIpv4PoolCidrCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeprovisionPublicIpv4PoolCidrRequest(input, context), + Action: "DeprovisionPublicIpv4PoolCidr", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DeregisterImageCommand = async ( input: DeregisterImageCommandInput, context: __SerdeContext @@ -6705,6 +7137,54 @@ export const serializeAws_ec2DescribeInternetGatewaysCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DescribeIpamPoolsCommand = async ( + input: DescribeIpamPoolsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeIpamPoolsRequest(input, context), + Action: "DescribeIpamPools", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DescribeIpamsCommand = async ( + input: DescribeIpamsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeIpamsRequest(input, context), + Action: "DescribeIpams", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DescribeIpamScopesCommand = async ( + input: DescribeIpamScopesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeIpamScopesRequest(input, context), + Action: "DescribeIpamScopes", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DescribeIpv6PoolsCommand = async ( input: DescribeIpv6PoolsCommandInput, context: __SerdeContext @@ -6929,6 +7409,38 @@ export const serializeAws_ec2DescribeNetworkAclsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommand = async ( + input: DescribeNetworkInsightsAccessScopeAnalysesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesRequest(input, context), + Action: "DescribeNetworkInsightsAccessScopeAnalyses", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2DescribeNetworkInsightsAccessScopesCommand = async ( + input: DescribeNetworkInsightsAccessScopesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeNetworkInsightsAccessScopesRequest(input, context), + Action: "DescribeNetworkInsightsAccessScopes", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DescribeNetworkInsightsAnalysesCommand = async ( input: DescribeNetworkInsightsAnalysesCommandInput, context: __SerdeContext @@ -8065,6 +8577,22 @@ export const serializeAws_ec2DisableImageDeprecationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DisableIpamOrganizationAdminAccountCommand = async ( + input: DisableIpamOrganizationAdminAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DisableIpamOrganizationAdminAccountRequest(input, context), + Action: "DisableIpamOrganizationAdminAccount", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DisableSerialConsoleAccessCommand = async ( input: DisableSerialConsoleAccessCommandInput, context: __SerdeContext @@ -8369,6 +8897,22 @@ export const serializeAws_ec2EnableImageDeprecationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2EnableIpamOrganizationAdminAccountCommand = async ( + input: EnableIpamOrganizationAdminAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2EnableIpamOrganizationAdminAccountRequest(input, context), + Action: "EnableIpamOrganizationAdminAccount", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2EnableSerialConsoleAccessCommand = async ( input: EnableSerialConsoleAccessCommandInput, context: __SerdeContext @@ -8737,6 +9281,70 @@ export const serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand = a return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2GetIpamAddressHistoryCommand = async ( + input: GetIpamAddressHistoryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetIpamAddressHistoryRequest(input, context), + Action: "GetIpamAddressHistory", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2GetIpamPoolAllocationsCommand = async ( + input: GetIpamPoolAllocationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetIpamPoolAllocationsRequest(input, context), + Action: "GetIpamPoolAllocations", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2GetIpamPoolCidrsCommand = async ( + input: GetIpamPoolCidrsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetIpamPoolCidrsRequest(input, context), + Action: "GetIpamPoolCidrs", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2GetIpamResourceCidrsCommand = async ( + input: GetIpamResourceCidrsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetIpamResourceCidrsRequest(input, context), + Action: "GetIpamResourceCidrs", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2GetLaunchTemplateDataCommand = async ( input: GetLaunchTemplateDataCommandInput, context: __SerdeContext @@ -8785,6 +9393,38 @@ export const serializeAws_ec2GetManagedPrefixListEntriesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommand = async ( + input: GetNetworkInsightsAccessScopeAnalysisFindingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsRequest(input, context), + Action: "GetNetworkInsightsAccessScopeAnalysisFindings", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2GetNetworkInsightsAccessScopeContentCommand = async ( + input: GetNetworkInsightsAccessScopeContentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetNetworkInsightsAccessScopeContentRequest(input, context), + Action: "GetNetworkInsightsAccessScopeContent", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2GetPasswordDataCommand = async ( input: GetPasswordDataCommandInput, context: __SerdeContext @@ -9409,6 +10049,70 @@ export const serializeAws_ec2ModifyInstancePlacementCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2ModifyIpamCommand = async ( + input: ModifyIpamCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyIpamRequest(input, context), + Action: "ModifyIpam", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2ModifyIpamPoolCommand = async ( + input: ModifyIpamPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyIpamPoolRequest(input, context), + Action: "ModifyIpamPool", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2ModifyIpamResourceCidrCommand = async ( + input: ModifyIpamResourceCidrCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyIpamResourceCidrRequest(input, context), + Action: "ModifyIpamResourceCidr", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2ModifyIpamScopeCommand = async ( + input: ModifyIpamScopeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyIpamScopeRequest(input, context), + Action: "ModifyIpamScope", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2ModifyLaunchTemplateCommand = async ( input: ModifyLaunchTemplateCommandInput, context: __SerdeContext @@ -9905,6 +10609,22 @@ export const serializeAws_ec2MoveAddressToVpcCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2MoveByoipCidrToIpamCommand = async ( + input: MoveByoipCidrToIpamCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2MoveByoipCidrToIpamRequest(input, context), + Action: "MoveByoipCidrToIpam", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2ProvisionByoipCidrCommand = async ( input: ProvisionByoipCidrCommandInput, context: __SerdeContext @@ -9921,6 +10641,38 @@ export const serializeAws_ec2ProvisionByoipCidrCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2ProvisionIpamPoolCidrCommand = async ( + input: ProvisionIpamPoolCidrCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ProvisionIpamPoolCidrRequest(input, context), + Action: "ProvisionIpamPoolCidr", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2ProvisionPublicIpv4PoolCidrCommand = async ( + input: ProvisionPublicIpv4PoolCidrCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ProvisionPublicIpv4PoolCidrRequest(input, context), + Action: "ProvisionPublicIpv4PoolCidr", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2PurchaseHostReservationCommand = async ( input: PurchaseHostReservationCommandInput, context: __SerdeContext @@ -10161,6 +10913,22 @@ export const serializeAws_ec2ReleaseHostsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2ReleaseIpamPoolAllocationCommand = async ( + input: ReleaseIpamPoolAllocationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ReleaseIpamPoolAllocationRequest(input, context), + Action: "ReleaseIpamPoolAllocation", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2ReplaceIamInstanceProfileAssociationCommand = async ( input: ReplaceIamInstanceProfileAssociationCommandInput, context: __SerdeContext @@ -10641,6 +11409,22 @@ export const serializeAws_ec2StartInstancesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommand = async ( + input: StartNetworkInsightsAccessScopeAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2StartNetworkInsightsAccessScopeAnalysisRequest(input, context), + Action: "StartNetworkInsightsAccessScopeAnalysis", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2StartNetworkInsightsAnalysisCommand = async ( input: StartNetworkInsightsAnalysisCommandInput, context: __SerdeContext @@ -11093,27 +11877,1217 @@ const deserializeAws_ec2AcceptVpcPeeringConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AdvertiseByoipCidrCommand = async ( +export const deserializeAws_ec2AdvertiseByoipCidrCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AdvertiseByoipCidrCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AdvertiseByoipCidrResult(data, context); + const response: AdvertiseByoipCidrCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AdvertiseByoipCidrCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AllocateAddressCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AllocateAddressCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AllocateAddressResult(data, context); + const response: AllocateAddressCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AllocateAddressCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AllocateHostsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AllocateHostsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AllocateHostsResult(data, context); + const response: AllocateHostsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AllocateHostsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AllocateIpamPoolCidrCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AllocateIpamPoolCidrCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AllocateIpamPoolCidrResult(data, context); + const response: AllocateIpamPoolCidrCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AllocateIpamPoolCidrCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkResult(data, context); + const response: ApplySecurityGroupsToClientVpnTargetNetworkCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssignIpv6AddressesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssignIpv6AddressesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssignIpv6AddressesResult(data, context); + const response: AssignIpv6AddressesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssignIpv6AddressesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssignPrivateIpAddressesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssignPrivateIpAddressesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssignPrivateIpAddressesResult(data, context); + const response: AssignPrivateIpAddressesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssignPrivateIpAddressesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateAddressCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateAddressCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateAddressResult(data, context); + const response: AssociateAddressCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateAddressCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateClientVpnTargetNetworkCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateClientVpnTargetNetworkCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateClientVpnTargetNetworkResult(data, context); + const response: AssociateClientVpnTargetNetworkCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateClientVpnTargetNetworkCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateDhcpOptionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateDhcpOptionsCommandError(output, context); + } + await collectBody(output.body, context); + const response: AssociateDhcpOptionsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateDhcpOptionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateEnclaveCertificateIamRoleCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateEnclaveCertificateIamRoleCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateEnclaveCertificateIamRoleResult(data, context); + const response: AssociateEnclaveCertificateIamRoleCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateEnclaveCertificateIamRoleCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateIamInstanceProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateIamInstanceProfileCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateIamInstanceProfileResult(data, context); + const response: AssociateIamInstanceProfileCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateIamInstanceProfileCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateInstanceEventWindowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateInstanceEventWindowCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateInstanceEventWindowResult(data, context); + const response: AssociateInstanceEventWindowCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateInstanceEventWindowCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateRouteTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateRouteTableCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateRouteTableResult(data, context); + const response: AssociateRouteTableCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateRouteTableCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateSubnetCidrBlockCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateSubnetCidrBlockCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateSubnetCidrBlockResult(data, context); + const response: AssociateSubnetCidrBlockCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateSubnetCidrBlockCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateTransitGatewayMulticastDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateTransitGatewayMulticastDomainCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateTransitGatewayMulticastDomainResult(data, context); + const response: AssociateTransitGatewayMulticastDomainCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateTransitGatewayMulticastDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateTransitGatewayRouteTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateTransitGatewayRouteTableCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateTransitGatewayRouteTableResult(data, context); + const response: AssociateTransitGatewayRouteTableCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateTransitGatewayRouteTableCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateTrunkInterfaceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateTrunkInterfaceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateTrunkInterfaceResult(data, context); + const response: AssociateTrunkInterfaceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateTrunkInterfaceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AssociateVpcCidrBlockCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AssociateVpcCidrBlockCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AssociateVpcCidrBlockResult(data, context); + const response: AssociateVpcCidrBlockCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AssociateVpcCidrBlockCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AttachClassicLinkVpcCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AttachClassicLinkVpcCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AttachClassicLinkVpcResult(data, context); + const response: AttachClassicLinkVpcCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AttachClassicLinkVpcCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AttachInternetGatewayCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AttachInternetGatewayCommandError(output, context); + } + await collectBody(output.body, context); + const response: AttachInternetGatewayCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AttachInternetGatewayCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AttachNetworkInterfaceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AttachNetworkInterfaceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AttachNetworkInterfaceResult(data, context); + const response: AttachNetworkInterfaceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AttachNetworkInterfaceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AttachVolumeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AttachVolumeCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2VolumeAttachment(data, context); + const response: AttachVolumeCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AttachVolumeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AttachVpnGatewayCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AttachVpnGatewayCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AttachVpnGatewayResult(data, context); + const response: AttachVpnGatewayCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AttachVpnGatewayCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AuthorizeClientVpnIngressCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AuthorizeClientVpnIngressCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AuthorizeClientVpnIngressResult(data, context); + const response: AuthorizeClientVpnIngressCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AuthorizeClientVpnIngressCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AuthorizeSecurityGroupEgressCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2AuthorizeSecurityGroupEgressCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2AuthorizeSecurityGroupEgressResult(data, context); + const response: AuthorizeSecurityGroupEgressCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2AuthorizeSecurityGroupEgressCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2AuthorizeSecurityGroupIngressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AdvertiseByoipCidrCommandError(output, context); + return deserializeAws_ec2AuthorizeSecurityGroupIngressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AdvertiseByoipCidrResult(data, context); - const response: AdvertiseByoipCidrCommandOutput = { + contents = deserializeAws_ec2AuthorizeSecurityGroupIngressResult(data, context); + const response: AuthorizeSecurityGroupIngressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AdvertiseByoipCidrCommandError = async ( +const deserializeAws_ec2AuthorizeSecurityGroupIngressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11139,27 +13113,27 @@ const deserializeAws_ec2AdvertiseByoipCidrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AllocateAddressCommand = async ( +export const deserializeAws_ec2BundleInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AllocateAddressCommandError(output, context); + return deserializeAws_ec2BundleInstanceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AllocateAddressResult(data, context); - const response: AllocateAddressCommandOutput = { + contents = deserializeAws_ec2BundleInstanceResult(data, context); + const response: BundleInstanceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AllocateAddressCommandError = async ( +const deserializeAws_ec2BundleInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11185,27 +13159,27 @@ const deserializeAws_ec2AllocateAddressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AllocateHostsCommand = async ( +export const deserializeAws_ec2CancelBundleTaskCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AllocateHostsCommandError(output, context); + return deserializeAws_ec2CancelBundleTaskCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AllocateHostsResult(data, context); - const response: AllocateHostsCommandOutput = { + contents = deserializeAws_ec2CancelBundleTaskResult(data, context); + const response: CancelBundleTaskCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AllocateHostsCommandError = async ( +const deserializeAws_ec2CancelBundleTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11231,27 +13205,27 @@ const deserializeAws_ec2AllocateHostsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommand = async ( +export const deserializeAws_ec2CancelCapacityReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommandError(output, context); + return deserializeAws_ec2CancelCapacityReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkResult(data, context); - const response: ApplySecurityGroupsToClientVpnTargetNetworkCommandOutput = { + contents = deserializeAws_ec2CancelCapacityReservationResult(data, context); + const response: CancelCapacityReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommandError = async ( +const deserializeAws_ec2CancelCapacityReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11277,27 +13251,27 @@ const deserializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssignIpv6AddressesCommand = async ( +export const deserializeAws_ec2CancelCapacityReservationFleetsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssignIpv6AddressesCommandError(output, context); + return deserializeAws_ec2CancelCapacityReservationFleetsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssignIpv6AddressesResult(data, context); - const response: AssignIpv6AddressesCommandOutput = { + contents = deserializeAws_ec2CancelCapacityReservationFleetsResult(data, context); + const response: CancelCapacityReservationFleetsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssignIpv6AddressesCommandError = async ( +const deserializeAws_ec2CancelCapacityReservationFleetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11323,27 +13297,113 @@ const deserializeAws_ec2AssignIpv6AddressesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssignPrivateIpAddressesCommand = async ( +export const deserializeAws_ec2CancelConversionTaskCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssignPrivateIpAddressesCommandError(output, context); + return deserializeAws_ec2CancelConversionTaskCommandError(output, context); + } + await collectBody(output.body, context); + const response: CancelConversionTaskCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2CancelConversionTaskCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2CancelExportTaskCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2CancelExportTaskCommandError(output, context); + } + await collectBody(output.body, context); + const response: CancelExportTaskCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2CancelExportTaskCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2CancelImportTaskCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2CancelImportTaskCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssignPrivateIpAddressesResult(data, context); - const response: AssignPrivateIpAddressesCommandOutput = { + contents = deserializeAws_ec2CancelImportTaskResult(data, context); + const response: CancelImportTaskCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssignPrivateIpAddressesCommandError = async ( +const deserializeAws_ec2CancelImportTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11369,27 +13429,27 @@ const deserializeAws_ec2AssignPrivateIpAddressesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateAddressCommand = async ( +export const deserializeAws_ec2CancelReservedInstancesListingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateAddressCommandError(output, context); + return deserializeAws_ec2CancelReservedInstancesListingCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateAddressResult(data, context); - const response: AssociateAddressCommandOutput = { + contents = deserializeAws_ec2CancelReservedInstancesListingResult(data, context); + const response: CancelReservedInstancesListingCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateAddressCommandError = async ( +const deserializeAws_ec2CancelReservedInstancesListingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11415,27 +13475,27 @@ const deserializeAws_ec2AssociateAddressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateClientVpnTargetNetworkCommand = async ( +export const deserializeAws_ec2CancelSpotFleetRequestsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateClientVpnTargetNetworkCommandError(output, context); + return deserializeAws_ec2CancelSpotFleetRequestsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateClientVpnTargetNetworkResult(data, context); - const response: AssociateClientVpnTargetNetworkCommandOutput = { + contents = deserializeAws_ec2CancelSpotFleetRequestsResponse(data, context); + const response: CancelSpotFleetRequestsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateClientVpnTargetNetworkCommandError = async ( +const deserializeAws_ec2CancelSpotFleetRequestsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11461,24 +13521,27 @@ const deserializeAws_ec2AssociateClientVpnTargetNetworkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateDhcpOptionsCommand = async ( +export const deserializeAws_ec2CancelSpotInstanceRequestsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateDhcpOptionsCommandError(output, context); + return deserializeAws_ec2CancelSpotInstanceRequestsCommandError(output, context); } - await collectBody(output.body, context); - const response: AssociateDhcpOptionsCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2CancelSpotInstanceRequestsResult(data, context); + const response: CancelSpotInstanceRequestsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateDhcpOptionsCommandError = async ( +const deserializeAws_ec2CancelSpotInstanceRequestsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11504,27 +13567,27 @@ const deserializeAws_ec2AssociateDhcpOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateEnclaveCertificateIamRoleCommand = async ( +export const deserializeAws_ec2ConfirmProductInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateEnclaveCertificateIamRoleCommandError(output, context); + return deserializeAws_ec2ConfirmProductInstanceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateEnclaveCertificateIamRoleResult(data, context); - const response: AssociateEnclaveCertificateIamRoleCommandOutput = { + contents = deserializeAws_ec2ConfirmProductInstanceResult(data, context); + const response: ConfirmProductInstanceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateEnclaveCertificateIamRoleCommandError = async ( +const deserializeAws_ec2ConfirmProductInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11550,27 +13613,27 @@ const deserializeAws_ec2AssociateEnclaveCertificateIamRoleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateIamInstanceProfileCommand = async ( +export const deserializeAws_ec2CopyFpgaImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateIamInstanceProfileCommandError(output, context); + return deserializeAws_ec2CopyFpgaImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateIamInstanceProfileResult(data, context); - const response: AssociateIamInstanceProfileCommandOutput = { + contents = deserializeAws_ec2CopyFpgaImageResult(data, context); + const response: CopyFpgaImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateIamInstanceProfileCommandError = async ( +const deserializeAws_ec2CopyFpgaImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11596,27 +13659,27 @@ const deserializeAws_ec2AssociateIamInstanceProfileCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateInstanceEventWindowCommand = async ( +export const deserializeAws_ec2CopyImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateInstanceEventWindowCommandError(output, context); + return deserializeAws_ec2CopyImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateInstanceEventWindowResult(data, context); - const response: AssociateInstanceEventWindowCommandOutput = { + contents = deserializeAws_ec2CopyImageResult(data, context); + const response: CopyImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateInstanceEventWindowCommandError = async ( +const deserializeAws_ec2CopyImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11642,27 +13705,27 @@ const deserializeAws_ec2AssociateInstanceEventWindowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateRouteTableCommand = async ( +export const deserializeAws_ec2CopySnapshotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateRouteTableCommandError(output, context); + return deserializeAws_ec2CopySnapshotCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateRouteTableResult(data, context); - const response: AssociateRouteTableCommandOutput = { + contents = deserializeAws_ec2CopySnapshotResult(data, context); + const response: CopySnapshotCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateRouteTableCommandError = async ( +const deserializeAws_ec2CopySnapshotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11688,27 +13751,27 @@ const deserializeAws_ec2AssociateRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateSubnetCidrBlockCommand = async ( +export const deserializeAws_ec2CreateCapacityReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateSubnetCidrBlockCommandError(output, context); + return deserializeAws_ec2CreateCapacityReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateSubnetCidrBlockResult(data, context); - const response: AssociateSubnetCidrBlockCommandOutput = { + contents = deserializeAws_ec2CreateCapacityReservationResult(data, context); + const response: CreateCapacityReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateSubnetCidrBlockCommandError = async ( +const deserializeAws_ec2CreateCapacityReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11734,27 +13797,27 @@ const deserializeAws_ec2AssociateSubnetCidrBlockCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateTransitGatewayMulticastDomainCommand = async ( +export const deserializeAws_ec2CreateCapacityReservationFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateTransitGatewayMulticastDomainCommandError(output, context); + return deserializeAws_ec2CreateCapacityReservationFleetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateTransitGatewayMulticastDomainResult(data, context); - const response: AssociateTransitGatewayMulticastDomainCommandOutput = { + contents = deserializeAws_ec2CreateCapacityReservationFleetResult(data, context); + const response: CreateCapacityReservationFleetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateTransitGatewayMulticastDomainCommandError = async ( +const deserializeAws_ec2CreateCapacityReservationFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11780,27 +13843,27 @@ const deserializeAws_ec2AssociateTransitGatewayMulticastDomainCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateTransitGatewayRouteTableCommand = async ( +export const deserializeAws_ec2CreateCarrierGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateTransitGatewayRouteTableCommandError(output, context); + return deserializeAws_ec2CreateCarrierGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateTransitGatewayRouteTableResult(data, context); - const response: AssociateTransitGatewayRouteTableCommandOutput = { + contents = deserializeAws_ec2CreateCarrierGatewayResult(data, context); + const response: CreateCarrierGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateTransitGatewayRouteTableCommandError = async ( +const deserializeAws_ec2CreateCarrierGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11826,27 +13889,27 @@ const deserializeAws_ec2AssociateTransitGatewayRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateTrunkInterfaceCommand = async ( +export const deserializeAws_ec2CreateClientVpnEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateTrunkInterfaceCommandError(output, context); + return deserializeAws_ec2CreateClientVpnEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateTrunkInterfaceResult(data, context); - const response: AssociateTrunkInterfaceCommandOutput = { + contents = deserializeAws_ec2CreateClientVpnEndpointResult(data, context); + const response: CreateClientVpnEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateTrunkInterfaceCommandError = async ( +const deserializeAws_ec2CreateClientVpnEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11872,27 +13935,27 @@ const deserializeAws_ec2AssociateTrunkInterfaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AssociateVpcCidrBlockCommand = async ( +export const deserializeAws_ec2CreateClientVpnRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AssociateVpcCidrBlockCommandError(output, context); + return deserializeAws_ec2CreateClientVpnRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AssociateVpcCidrBlockResult(data, context); - const response: AssociateVpcCidrBlockCommandOutput = { + contents = deserializeAws_ec2CreateClientVpnRouteResult(data, context); + const response: CreateClientVpnRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AssociateVpcCidrBlockCommandError = async ( +const deserializeAws_ec2CreateClientVpnRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11918,70 +13981,27 @@ const deserializeAws_ec2AssociateVpcCidrBlockCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AttachClassicLinkVpcCommand = async ( +export const deserializeAws_ec2CreateCustomerGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AttachClassicLinkVpcCommandError(output, context); + return deserializeAws_ec2CreateCustomerGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AttachClassicLinkVpcResult(data, context); - const response: AttachClassicLinkVpcCommandOutput = { + contents = deserializeAws_ec2CreateCustomerGatewayResult(data, context); + const response: CreateCustomerGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AttachClassicLinkVpcCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2AttachInternetGatewayCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2AttachInternetGatewayCommandError(output, context); - } - await collectBody(output.body, context); - const response: AttachInternetGatewayCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2AttachInternetGatewayCommandError = async ( +const deserializeAws_ec2CreateCustomerGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12007,27 +14027,27 @@ const deserializeAws_ec2AttachInternetGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AttachNetworkInterfaceCommand = async ( +export const deserializeAws_ec2CreateDefaultSubnetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AttachNetworkInterfaceCommandError(output, context); + return deserializeAws_ec2CreateDefaultSubnetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AttachNetworkInterfaceResult(data, context); - const response: AttachNetworkInterfaceCommandOutput = { + contents = deserializeAws_ec2CreateDefaultSubnetResult(data, context); + const response: CreateDefaultSubnetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AttachNetworkInterfaceCommandError = async ( +const deserializeAws_ec2CreateDefaultSubnetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12053,27 +14073,27 @@ const deserializeAws_ec2AttachNetworkInterfaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AttachVolumeCommand = async ( +export const deserializeAws_ec2CreateDefaultVpcCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AttachVolumeCommandError(output, context); + return deserializeAws_ec2CreateDefaultVpcCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2VolumeAttachment(data, context); - const response: AttachVolumeCommandOutput = { + contents = deserializeAws_ec2CreateDefaultVpcResult(data, context); + const response: CreateDefaultVpcCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AttachVolumeCommandError = async ( +const deserializeAws_ec2CreateDefaultVpcCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12099,27 +14119,27 @@ const deserializeAws_ec2AttachVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AttachVpnGatewayCommand = async ( +export const deserializeAws_ec2CreateDhcpOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AttachVpnGatewayCommandError(output, context); + return deserializeAws_ec2CreateDhcpOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AttachVpnGatewayResult(data, context); - const response: AttachVpnGatewayCommandOutput = { + contents = deserializeAws_ec2CreateDhcpOptionsResult(data, context); + const response: CreateDhcpOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AttachVpnGatewayCommandError = async ( +const deserializeAws_ec2CreateDhcpOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12145,27 +14165,27 @@ const deserializeAws_ec2AttachVpnGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AuthorizeClientVpnIngressCommand = async ( +export const deserializeAws_ec2CreateEgressOnlyInternetGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AuthorizeClientVpnIngressCommandError(output, context); + return deserializeAws_ec2CreateEgressOnlyInternetGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AuthorizeClientVpnIngressResult(data, context); - const response: AuthorizeClientVpnIngressCommandOutput = { + contents = deserializeAws_ec2CreateEgressOnlyInternetGatewayResult(data, context); + const response: CreateEgressOnlyInternetGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AuthorizeClientVpnIngressCommandError = async ( +const deserializeAws_ec2CreateEgressOnlyInternetGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12191,27 +14211,27 @@ const deserializeAws_ec2AuthorizeClientVpnIngressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AuthorizeSecurityGroupEgressCommand = async ( +export const deserializeAws_ec2CreateFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AuthorizeSecurityGroupEgressCommandError(output, context); + return deserializeAws_ec2CreateFleetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AuthorizeSecurityGroupEgressResult(data, context); - const response: AuthorizeSecurityGroupEgressCommandOutput = { + contents = deserializeAws_ec2CreateFleetResult(data, context); + const response: CreateFleetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AuthorizeSecurityGroupEgressCommandError = async ( +const deserializeAws_ec2CreateFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12237,27 +14257,27 @@ const deserializeAws_ec2AuthorizeSecurityGroupEgressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2AuthorizeSecurityGroupIngressCommand = async ( +export const deserializeAws_ec2CreateFlowLogsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2AuthorizeSecurityGroupIngressCommandError(output, context); + return deserializeAws_ec2CreateFlowLogsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2AuthorizeSecurityGroupIngressResult(data, context); - const response: AuthorizeSecurityGroupIngressCommandOutput = { + contents = deserializeAws_ec2CreateFlowLogsResult(data, context); + const response: CreateFlowLogsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2AuthorizeSecurityGroupIngressCommandError = async ( +const deserializeAws_ec2CreateFlowLogsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12283,27 +14303,27 @@ const deserializeAws_ec2AuthorizeSecurityGroupIngressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2BundleInstanceCommand = async ( +export const deserializeAws_ec2CreateFpgaImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2BundleInstanceCommandError(output, context); + return deserializeAws_ec2CreateFpgaImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2BundleInstanceResult(data, context); - const response: BundleInstanceCommandOutput = { + contents = deserializeAws_ec2CreateFpgaImageResult(data, context); + const response: CreateFpgaImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2BundleInstanceCommandError = async ( +const deserializeAws_ec2CreateFpgaImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12329,27 +14349,27 @@ const deserializeAws_ec2BundleInstanceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelBundleTaskCommand = async ( +export const deserializeAws_ec2CreateImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelBundleTaskCommandError(output, context); + return deserializeAws_ec2CreateImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelBundleTaskResult(data, context); - const response: CancelBundleTaskCommandOutput = { + contents = deserializeAws_ec2CreateImageResult(data, context); + const response: CreateImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelBundleTaskCommandError = async ( +const deserializeAws_ec2CreateImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12375,27 +14395,27 @@ const deserializeAws_ec2CancelBundleTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelCapacityReservationCommand = async ( +export const deserializeAws_ec2CreateInstanceEventWindowCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelCapacityReservationCommandError(output, context); + return deserializeAws_ec2CreateInstanceEventWindowCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelCapacityReservationResult(data, context); - const response: CancelCapacityReservationCommandOutput = { + contents = deserializeAws_ec2CreateInstanceEventWindowResult(data, context); + const response: CreateInstanceEventWindowCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelCapacityReservationCommandError = async ( +const deserializeAws_ec2CreateInstanceEventWindowCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12421,27 +14441,27 @@ const deserializeAws_ec2CancelCapacityReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelCapacityReservationFleetsCommand = async ( +export const deserializeAws_ec2CreateInstanceExportTaskCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelCapacityReservationFleetsCommandError(output, context); + return deserializeAws_ec2CreateInstanceExportTaskCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelCapacityReservationFleetsResult(data, context); - const response: CancelCapacityReservationFleetsCommandOutput = { + contents = deserializeAws_ec2CreateInstanceExportTaskResult(data, context); + const response: CreateInstanceExportTaskCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelCapacityReservationFleetsCommandError = async ( +const deserializeAws_ec2CreateInstanceExportTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12467,24 +14487,27 @@ const deserializeAws_ec2CancelCapacityReservationFleetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelConversionTaskCommand = async ( +export const deserializeAws_ec2CreateInternetGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelConversionTaskCommandError(output, context); + return deserializeAws_ec2CreateInternetGatewayCommandError(output, context); } - await collectBody(output.body, context); - const response: CancelConversionTaskCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2CreateInternetGatewayResult(data, context); + const response: CreateInternetGatewayCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelConversionTaskCommandError = async ( +const deserializeAws_ec2CreateInternetGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12510,24 +14533,27 @@ const deserializeAws_ec2CancelConversionTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelExportTaskCommand = async ( +export const deserializeAws_ec2CreateIpamCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelExportTaskCommandError(output, context); + return deserializeAws_ec2CreateIpamCommandError(output, context); } - await collectBody(output.body, context); - const response: CancelExportTaskCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2CreateIpamResult(data, context); + const response: CreateIpamCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelExportTaskCommandError = async ( +const deserializeAws_ec2CreateIpamCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12553,27 +14579,27 @@ const deserializeAws_ec2CancelExportTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelImportTaskCommand = async ( +export const deserializeAws_ec2CreateIpamPoolCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelImportTaskCommandError(output, context); + return deserializeAws_ec2CreateIpamPoolCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelImportTaskResult(data, context); - const response: CancelImportTaskCommandOutput = { + contents = deserializeAws_ec2CreateIpamPoolResult(data, context); + const response: CreateIpamPoolCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelImportTaskCommandError = async ( +const deserializeAws_ec2CreateIpamPoolCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12599,27 +14625,27 @@ const deserializeAws_ec2CancelImportTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelReservedInstancesListingCommand = async ( +export const deserializeAws_ec2CreateIpamScopeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelReservedInstancesListingCommandError(output, context); + return deserializeAws_ec2CreateIpamScopeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelReservedInstancesListingResult(data, context); - const response: CancelReservedInstancesListingCommandOutput = { + contents = deserializeAws_ec2CreateIpamScopeResult(data, context); + const response: CreateIpamScopeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelReservedInstancesListingCommandError = async ( +const deserializeAws_ec2CreateIpamScopeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12645,27 +14671,27 @@ const deserializeAws_ec2CancelReservedInstancesListingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelSpotFleetRequestsCommand = async ( +export const deserializeAws_ec2CreateKeyPairCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelSpotFleetRequestsCommandError(output, context); + return deserializeAws_ec2CreateKeyPairCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelSpotFleetRequestsResponse(data, context); - const response: CancelSpotFleetRequestsCommandOutput = { + contents = deserializeAws_ec2KeyPair(data, context); + const response: CreateKeyPairCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelSpotFleetRequestsCommandError = async ( +const deserializeAws_ec2CreateKeyPairCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12691,27 +14717,27 @@ const deserializeAws_ec2CancelSpotFleetRequestsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CancelSpotInstanceRequestsCommand = async ( +export const deserializeAws_ec2CreateLaunchTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CancelSpotInstanceRequestsCommandError(output, context); + return deserializeAws_ec2CreateLaunchTemplateCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CancelSpotInstanceRequestsResult(data, context); - const response: CancelSpotInstanceRequestsCommandOutput = { + contents = deserializeAws_ec2CreateLaunchTemplateResult(data, context); + const response: CreateLaunchTemplateCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CancelSpotInstanceRequestsCommandError = async ( +const deserializeAws_ec2CreateLaunchTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12737,27 +14763,27 @@ const deserializeAws_ec2CancelSpotInstanceRequestsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ConfirmProductInstanceCommand = async ( +export const deserializeAws_ec2CreateLaunchTemplateVersionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ConfirmProductInstanceCommandError(output, context); + return deserializeAws_ec2CreateLaunchTemplateVersionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ConfirmProductInstanceResult(data, context); - const response: ConfirmProductInstanceCommandOutput = { + contents = deserializeAws_ec2CreateLaunchTemplateVersionResult(data, context); + const response: CreateLaunchTemplateVersionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ConfirmProductInstanceCommandError = async ( +const deserializeAws_ec2CreateLaunchTemplateVersionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12783,27 +14809,27 @@ const deserializeAws_ec2ConfirmProductInstanceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CopyFpgaImageCommand = async ( +export const deserializeAws_ec2CreateLocalGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CopyFpgaImageCommandError(output, context); + return deserializeAws_ec2CreateLocalGatewayRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CopyFpgaImageResult(data, context); - const response: CopyFpgaImageCommandOutput = { + contents = deserializeAws_ec2CreateLocalGatewayRouteResult(data, context); + const response: CreateLocalGatewayRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CopyFpgaImageCommandError = async ( +const deserializeAws_ec2CreateLocalGatewayRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12829,27 +14855,27 @@ const deserializeAws_ec2CopyFpgaImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CopyImageCommand = async ( +export const deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CopyImageCommandError(output, context); + return deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CopyImageResult(data, context); - const response: CopyImageCommandOutput = { + contents = deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationResult(data, context); + const response: CreateLocalGatewayRouteTableVpcAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CopyImageCommandError = async ( +const deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12875,27 +14901,27 @@ const deserializeAws_ec2CopyImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CopySnapshotCommand = async ( +export const deserializeAws_ec2CreateManagedPrefixListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CopySnapshotCommandError(output, context); + return deserializeAws_ec2CreateManagedPrefixListCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CopySnapshotResult(data, context); - const response: CopySnapshotCommandOutput = { + contents = deserializeAws_ec2CreateManagedPrefixListResult(data, context); + const response: CreateManagedPrefixListCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CopySnapshotCommandError = async ( +const deserializeAws_ec2CreateManagedPrefixListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12921,27 +14947,27 @@ const deserializeAws_ec2CopySnapshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateCapacityReservationCommand = async ( +export const deserializeAws_ec2CreateNatGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateCapacityReservationCommandError(output, context); + return deserializeAws_ec2CreateNatGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateCapacityReservationResult(data, context); - const response: CreateCapacityReservationCommandOutput = { + contents = deserializeAws_ec2CreateNatGatewayResult(data, context); + const response: CreateNatGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateCapacityReservationCommandError = async ( +const deserializeAws_ec2CreateNatGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12967,27 +14993,27 @@ const deserializeAws_ec2CreateCapacityReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateCapacityReservationFleetCommand = async ( +export const deserializeAws_ec2CreateNetworkAclCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateCapacityReservationFleetCommandError(output, context); + return deserializeAws_ec2CreateNetworkAclCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateCapacityReservationFleetResult(data, context); - const response: CreateCapacityReservationFleetCommandOutput = { + contents = deserializeAws_ec2CreateNetworkAclResult(data, context); + const response: CreateNetworkAclCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateCapacityReservationFleetCommandError = async ( +const deserializeAws_ec2CreateNetworkAclCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13013,27 +15039,70 @@ const deserializeAws_ec2CreateCapacityReservationFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateCarrierGatewayCommand = async ( +export const deserializeAws_ec2CreateNetworkAclEntryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateCarrierGatewayCommandError(output, context); + return deserializeAws_ec2CreateNetworkAclEntryCommandError(output, context); + } + await collectBody(output.body, context); + const response: CreateNetworkAclEntryCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2CreateNetworkAclEntryCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2CreateNetworkInsightsAccessScopeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2CreateNetworkInsightsAccessScopeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateCarrierGatewayResult(data, context); - const response: CreateCarrierGatewayCommandOutput = { + contents = deserializeAws_ec2CreateNetworkInsightsAccessScopeResult(data, context); + const response: CreateNetworkInsightsAccessScopeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateCarrierGatewayCommandError = async ( +const deserializeAws_ec2CreateNetworkInsightsAccessScopeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13059,27 +15128,27 @@ const deserializeAws_ec2CreateCarrierGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateClientVpnEndpointCommand = async ( +export const deserializeAws_ec2CreateNetworkInsightsPathCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateClientVpnEndpointCommandError(output, context); + return deserializeAws_ec2CreateNetworkInsightsPathCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateClientVpnEndpointResult(data, context); - const response: CreateClientVpnEndpointCommandOutput = { + contents = deserializeAws_ec2CreateNetworkInsightsPathResult(data, context); + const response: CreateNetworkInsightsPathCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateClientVpnEndpointCommandError = async ( +const deserializeAws_ec2CreateNetworkInsightsPathCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13105,27 +15174,27 @@ const deserializeAws_ec2CreateClientVpnEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateClientVpnRouteCommand = async ( +export const deserializeAws_ec2CreateNetworkInterfaceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateClientVpnRouteCommandError(output, context); + return deserializeAws_ec2CreateNetworkInterfaceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateClientVpnRouteResult(data, context); - const response: CreateClientVpnRouteCommandOutput = { + contents = deserializeAws_ec2CreateNetworkInterfaceResult(data, context); + const response: CreateNetworkInterfaceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateClientVpnRouteCommandError = async ( +const deserializeAws_ec2CreateNetworkInterfaceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13151,27 +15220,27 @@ const deserializeAws_ec2CreateClientVpnRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateCustomerGatewayCommand = async ( +export const deserializeAws_ec2CreateNetworkInterfacePermissionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateCustomerGatewayCommandError(output, context); + return deserializeAws_ec2CreateNetworkInterfacePermissionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateCustomerGatewayResult(data, context); - const response: CreateCustomerGatewayCommandOutput = { + contents = deserializeAws_ec2CreateNetworkInterfacePermissionResult(data, context); + const response: CreateNetworkInterfacePermissionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateCustomerGatewayCommandError = async ( +const deserializeAws_ec2CreateNetworkInterfacePermissionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13197,27 +15266,27 @@ const deserializeAws_ec2CreateCustomerGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateDefaultSubnetCommand = async ( +export const deserializeAws_ec2CreatePlacementGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateDefaultSubnetCommandError(output, context); + return deserializeAws_ec2CreatePlacementGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateDefaultSubnetResult(data, context); - const response: CreateDefaultSubnetCommandOutput = { + contents = deserializeAws_ec2CreatePlacementGroupResult(data, context); + const response: CreatePlacementGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateDefaultSubnetCommandError = async ( +const deserializeAws_ec2CreatePlacementGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13243,27 +15312,27 @@ const deserializeAws_ec2CreateDefaultSubnetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateDefaultVpcCommand = async ( +export const deserializeAws_ec2CreatePublicIpv4PoolCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateDefaultVpcCommandError(output, context); + return deserializeAws_ec2CreatePublicIpv4PoolCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateDefaultVpcResult(data, context); - const response: CreateDefaultVpcCommandOutput = { + contents = deserializeAws_ec2CreatePublicIpv4PoolResult(data, context); + const response: CreatePublicIpv4PoolCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateDefaultVpcCommandError = async ( +const deserializeAws_ec2CreatePublicIpv4PoolCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13289,27 +15358,27 @@ const deserializeAws_ec2CreateDefaultVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateDhcpOptionsCommand = async ( +export const deserializeAws_ec2CreateReplaceRootVolumeTaskCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateDhcpOptionsCommandError(output, context); + return deserializeAws_ec2CreateReplaceRootVolumeTaskCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateDhcpOptionsResult(data, context); - const response: CreateDhcpOptionsCommandOutput = { + contents = deserializeAws_ec2CreateReplaceRootVolumeTaskResult(data, context); + const response: CreateReplaceRootVolumeTaskCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateDhcpOptionsCommandError = async ( +const deserializeAws_ec2CreateReplaceRootVolumeTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13335,27 +15404,27 @@ const deserializeAws_ec2CreateDhcpOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateEgressOnlyInternetGatewayCommand = async ( +export const deserializeAws_ec2CreateReservedInstancesListingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateEgressOnlyInternetGatewayCommandError(output, context); + return deserializeAws_ec2CreateReservedInstancesListingCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateEgressOnlyInternetGatewayResult(data, context); - const response: CreateEgressOnlyInternetGatewayCommandOutput = { + contents = deserializeAws_ec2CreateReservedInstancesListingResult(data, context); + const response: CreateReservedInstancesListingCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateEgressOnlyInternetGatewayCommandError = async ( +const deserializeAws_ec2CreateReservedInstancesListingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13381,27 +15450,27 @@ const deserializeAws_ec2CreateEgressOnlyInternetGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateFleetCommand = async ( +export const deserializeAws_ec2CreateRestoreImageTaskCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateFleetCommandError(output, context); + return deserializeAws_ec2CreateRestoreImageTaskCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateFleetResult(data, context); - const response: CreateFleetCommandOutput = { + contents = deserializeAws_ec2CreateRestoreImageTaskResult(data, context); + const response: CreateRestoreImageTaskCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateFleetCommandError = async ( +const deserializeAws_ec2CreateRestoreImageTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13427,27 +15496,27 @@ const deserializeAws_ec2CreateFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateFlowLogsCommand = async ( +export const deserializeAws_ec2CreateRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateFlowLogsCommandError(output, context); + return deserializeAws_ec2CreateRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateFlowLogsResult(data, context); - const response: CreateFlowLogsCommandOutput = { + contents = deserializeAws_ec2CreateRouteResult(data, context); + const response: CreateRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateFlowLogsCommandError = async ( +const deserializeAws_ec2CreateRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13473,27 +15542,27 @@ const deserializeAws_ec2CreateFlowLogsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateFpgaImageCommand = async ( +export const deserializeAws_ec2CreateRouteTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateFpgaImageCommandError(output, context); + return deserializeAws_ec2CreateRouteTableCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateFpgaImageResult(data, context); - const response: CreateFpgaImageCommandOutput = { + contents = deserializeAws_ec2CreateRouteTableResult(data, context); + const response: CreateRouteTableCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateFpgaImageCommandError = async ( +const deserializeAws_ec2CreateRouteTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13519,27 +15588,27 @@ const deserializeAws_ec2CreateFpgaImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateImageCommand = async ( +export const deserializeAws_ec2CreateSecurityGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateImageCommandError(output, context); + return deserializeAws_ec2CreateSecurityGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateImageResult(data, context); - const response: CreateImageCommandOutput = { + contents = deserializeAws_ec2CreateSecurityGroupResult(data, context); + const response: CreateSecurityGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateImageCommandError = async ( +const deserializeAws_ec2CreateSecurityGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13565,27 +15634,27 @@ const deserializeAws_ec2CreateImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateInstanceEventWindowCommand = async ( +export const deserializeAws_ec2CreateSnapshotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateInstanceEventWindowCommandError(output, context); + return deserializeAws_ec2CreateSnapshotCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateInstanceEventWindowResult(data, context); - const response: CreateInstanceEventWindowCommandOutput = { + contents = deserializeAws_ec2Snapshot(data, context); + const response: CreateSnapshotCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateInstanceEventWindowCommandError = async ( +const deserializeAws_ec2CreateSnapshotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13611,27 +15680,27 @@ const deserializeAws_ec2CreateInstanceEventWindowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateInstanceExportTaskCommand = async ( +export const deserializeAws_ec2CreateSnapshotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateInstanceExportTaskCommandError(output, context); + return deserializeAws_ec2CreateSnapshotsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateInstanceExportTaskResult(data, context); - const response: CreateInstanceExportTaskCommandOutput = { + contents = deserializeAws_ec2CreateSnapshotsResult(data, context); + const response: CreateSnapshotsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateInstanceExportTaskCommandError = async ( +const deserializeAws_ec2CreateSnapshotsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13657,27 +15726,27 @@ const deserializeAws_ec2CreateInstanceExportTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateInternetGatewayCommand = async ( +export const deserializeAws_ec2CreateSpotDatafeedSubscriptionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateInternetGatewayCommandError(output, context); + return deserializeAws_ec2CreateSpotDatafeedSubscriptionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateInternetGatewayResult(data, context); - const response: CreateInternetGatewayCommandOutput = { + contents = deserializeAws_ec2CreateSpotDatafeedSubscriptionResult(data, context); + const response: CreateSpotDatafeedSubscriptionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateInternetGatewayCommandError = async ( +const deserializeAws_ec2CreateSpotDatafeedSubscriptionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13703,27 +15772,27 @@ const deserializeAws_ec2CreateInternetGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateKeyPairCommand = async ( +export const deserializeAws_ec2CreateStoreImageTaskCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateKeyPairCommandError(output, context); + return deserializeAws_ec2CreateStoreImageTaskCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2KeyPair(data, context); - const response: CreateKeyPairCommandOutput = { + contents = deserializeAws_ec2CreateStoreImageTaskResult(data, context); + const response: CreateStoreImageTaskCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateKeyPairCommandError = async ( +const deserializeAws_ec2CreateStoreImageTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13749,27 +15818,27 @@ const deserializeAws_ec2CreateKeyPairCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateLaunchTemplateCommand = async ( +export const deserializeAws_ec2CreateSubnetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateLaunchTemplateCommandError(output, context); + return deserializeAws_ec2CreateSubnetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateLaunchTemplateResult(data, context); - const response: CreateLaunchTemplateCommandOutput = { + contents = deserializeAws_ec2CreateSubnetResult(data, context); + const response: CreateSubnetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateLaunchTemplateCommandError = async ( +const deserializeAws_ec2CreateSubnetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13795,27 +15864,27 @@ const deserializeAws_ec2CreateLaunchTemplateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateLaunchTemplateVersionCommand = async ( +export const deserializeAws_ec2CreateSubnetCidrReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateLaunchTemplateVersionCommandError(output, context); + return deserializeAws_ec2CreateSubnetCidrReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateLaunchTemplateVersionResult(data, context); - const response: CreateLaunchTemplateVersionCommandOutput = { + contents = deserializeAws_ec2CreateSubnetCidrReservationResult(data, context); + const response: CreateSubnetCidrReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateLaunchTemplateVersionCommandError = async ( +const deserializeAws_ec2CreateSubnetCidrReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13841,27 +15910,70 @@ const deserializeAws_ec2CreateLaunchTemplateVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateLocalGatewayRouteCommand = async ( +export const deserializeAws_ec2CreateTagsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateLocalGatewayRouteCommandError(output, context); + return deserializeAws_ec2CreateTagsCommandError(output, context); + } + await collectBody(output.body, context); + const response: CreateTagsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2CreateTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2CreateTrafficMirrorFilterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2CreateTrafficMirrorFilterCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateLocalGatewayRouteResult(data, context); - const response: CreateLocalGatewayRouteCommandOutput = { + contents = deserializeAws_ec2CreateTrafficMirrorFilterResult(data, context); + const response: CreateTrafficMirrorFilterCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateLocalGatewayRouteCommandError = async ( +const deserializeAws_ec2CreateTrafficMirrorFilterCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13887,27 +15999,27 @@ const deserializeAws_ec2CreateLocalGatewayRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommand = async ( +export const deserializeAws_ec2CreateTrafficMirrorFilterRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommandError(output, context); + return deserializeAws_ec2CreateTrafficMirrorFilterRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationResult(data, context); - const response: CreateLocalGatewayRouteTableVpcAssociationCommandOutput = { + contents = deserializeAws_ec2CreateTrafficMirrorFilterRuleResult(data, context); + const response: CreateTrafficMirrorFilterRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommandError = async ( +const deserializeAws_ec2CreateTrafficMirrorFilterRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13933,27 +16045,27 @@ const deserializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateManagedPrefixListCommand = async ( +export const deserializeAws_ec2CreateTrafficMirrorSessionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateManagedPrefixListCommandError(output, context); + return deserializeAws_ec2CreateTrafficMirrorSessionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateManagedPrefixListResult(data, context); - const response: CreateManagedPrefixListCommandOutput = { + contents = deserializeAws_ec2CreateTrafficMirrorSessionResult(data, context); + const response: CreateTrafficMirrorSessionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateManagedPrefixListCommandError = async ( +const deserializeAws_ec2CreateTrafficMirrorSessionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13979,27 +16091,27 @@ const deserializeAws_ec2CreateManagedPrefixListCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateNatGatewayCommand = async ( +export const deserializeAws_ec2CreateTrafficMirrorTargetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateNatGatewayCommandError(output, context); + return deserializeAws_ec2CreateTrafficMirrorTargetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateNatGatewayResult(data, context); - const response: CreateNatGatewayCommandOutput = { + contents = deserializeAws_ec2CreateTrafficMirrorTargetResult(data, context); + const response: CreateTrafficMirrorTargetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateNatGatewayCommandError = async ( +const deserializeAws_ec2CreateTrafficMirrorTargetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14025,70 +16137,27 @@ const deserializeAws_ec2CreateNatGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateNetworkAclCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateNetworkAclCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateNetworkAclResult(data, context); - const response: CreateNetworkAclCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayResult(data, context); + const response: CreateTransitGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateNetworkAclCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2CreateNetworkAclEntryCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2CreateNetworkAclEntryCommandError(output, context); - } - await collectBody(output.body, context); - const response: CreateNetworkAclEntryCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2CreateNetworkAclEntryCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14114,27 +16183,27 @@ const deserializeAws_ec2CreateNetworkAclEntryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateNetworkInsightsPathCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayConnectCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateNetworkInsightsPathCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayConnectCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateNetworkInsightsPathResult(data, context); - const response: CreateNetworkInsightsPathCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayConnectResult(data, context); + const response: CreateTransitGatewayConnectCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateNetworkInsightsPathCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayConnectCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14160,27 +16229,27 @@ const deserializeAws_ec2CreateNetworkInsightsPathCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateNetworkInterfaceCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayConnectPeerCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateNetworkInterfaceCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayConnectPeerCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateNetworkInterfaceResult(data, context); - const response: CreateNetworkInterfaceCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayConnectPeerResult(data, context); + const response: CreateTransitGatewayConnectPeerCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateNetworkInterfaceCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayConnectPeerCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14206,27 +16275,27 @@ const deserializeAws_ec2CreateNetworkInterfaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateNetworkInterfacePermissionCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayMulticastDomainCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateNetworkInterfacePermissionCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayMulticastDomainCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateNetworkInterfacePermissionResult(data, context); - const response: CreateNetworkInterfacePermissionCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayMulticastDomainResult(data, context); + const response: CreateTransitGatewayMulticastDomainCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateNetworkInterfacePermissionCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayMulticastDomainCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14252,27 +16321,27 @@ const deserializeAws_ec2CreateNetworkInterfacePermissionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreatePlacementGroupCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreatePlacementGroupCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreatePlacementGroupResult(data, context); - const response: CreatePlacementGroupCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayPeeringAttachmentResult(data, context); + const response: CreateTransitGatewayPeeringAttachmentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreatePlacementGroupCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14298,27 +16367,27 @@ const deserializeAws_ec2CreatePlacementGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateReplaceRootVolumeTaskCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateReplaceRootVolumeTaskCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateReplaceRootVolumeTaskResult(data, context); - const response: CreateReplaceRootVolumeTaskCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayPrefixListReferenceResult(data, context); + const response: CreateTransitGatewayPrefixListReferenceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateReplaceRootVolumeTaskCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14344,27 +16413,27 @@ const deserializeAws_ec2CreateReplaceRootVolumeTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateReservedInstancesListingCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateReservedInstancesListingCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateReservedInstancesListingResult(data, context); - const response: CreateReservedInstancesListingCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayRouteResult(data, context); + const response: CreateTransitGatewayRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateReservedInstancesListingCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14390,27 +16459,27 @@ const deserializeAws_ec2CreateReservedInstancesListingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateRestoreImageTaskCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayRouteTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateRestoreImageTaskCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayRouteTableCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateRestoreImageTaskResult(data, context); - const response: CreateRestoreImageTaskCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayRouteTableResult(data, context); + const response: CreateTransitGatewayRouteTableCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateRestoreImageTaskCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayRouteTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14436,27 +16505,27 @@ const deserializeAws_ec2CreateRestoreImageTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateRouteCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateRouteCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateRouteResult(data, context); - const response: CreateRouteCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayVpcAttachmentResult(data, context); + const response: CreateTransitGatewayVpcAttachmentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateRouteCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14482,27 +16551,27 @@ const deserializeAws_ec2CreateRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateRouteTableCommand = async ( +export const deserializeAws_ec2CreateVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateRouteTableCommandError(output, context); + return deserializeAws_ec2CreateVolumeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateRouteTableResult(data, context); - const response: CreateRouteTableCommandOutput = { + contents = deserializeAws_ec2Volume(data, context); + const response: CreateVolumeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateRouteTableCommandError = async ( +const deserializeAws_ec2CreateVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14528,27 +16597,27 @@ const deserializeAws_ec2CreateRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateSecurityGroupCommand = async ( +export const deserializeAws_ec2CreateVpcCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateSecurityGroupCommandError(output, context); + return deserializeAws_ec2CreateVpcCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateSecurityGroupResult(data, context); - const response: CreateSecurityGroupCommandOutput = { + contents = deserializeAws_ec2CreateVpcResult(data, context); + const response: CreateVpcCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateSecurityGroupCommandError = async ( +const deserializeAws_ec2CreateVpcCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14574,27 +16643,27 @@ const deserializeAws_ec2CreateSecurityGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateSnapshotCommand = async ( +export const deserializeAws_ec2CreateVpcEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateSnapshotCommandError(output, context); + return deserializeAws_ec2CreateVpcEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2Snapshot(data, context); - const response: CreateSnapshotCommandOutput = { + contents = deserializeAws_ec2CreateVpcEndpointResult(data, context); + const response: CreateVpcEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateSnapshotCommandError = async ( +const deserializeAws_ec2CreateVpcEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14620,27 +16689,27 @@ const deserializeAws_ec2CreateSnapshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateSnapshotsCommand = async ( +export const deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateSnapshotsCommandError(output, context); + return deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateSnapshotsResult(data, context); - const response: CreateSnapshotsCommandOutput = { + contents = deserializeAws_ec2CreateVpcEndpointConnectionNotificationResult(data, context); + const response: CreateVpcEndpointConnectionNotificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateSnapshotsCommandError = async ( +const deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14666,27 +16735,27 @@ const deserializeAws_ec2CreateSnapshotsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateSpotDatafeedSubscriptionCommand = async ( +export const deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateSpotDatafeedSubscriptionCommandError(output, context); + return deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateSpotDatafeedSubscriptionResult(data, context); - const response: CreateSpotDatafeedSubscriptionCommandOutput = { + contents = deserializeAws_ec2CreateVpcEndpointServiceConfigurationResult(data, context); + const response: CreateVpcEndpointServiceConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateSpotDatafeedSubscriptionCommandError = async ( +const deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14712,27 +16781,27 @@ const deserializeAws_ec2CreateSpotDatafeedSubscriptionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateStoreImageTaskCommand = async ( +export const deserializeAws_ec2CreateVpcPeeringConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateStoreImageTaskCommandError(output, context); + return deserializeAws_ec2CreateVpcPeeringConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateStoreImageTaskResult(data, context); - const response: CreateStoreImageTaskCommandOutput = { + contents = deserializeAws_ec2CreateVpcPeeringConnectionResult(data, context); + const response: CreateVpcPeeringConnectionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateStoreImageTaskCommandError = async ( +const deserializeAws_ec2CreateVpcPeeringConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14758,27 +16827,27 @@ const deserializeAws_ec2CreateStoreImageTaskCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateSubnetCommand = async ( +export const deserializeAws_ec2CreateVpnConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateSubnetCommandError(output, context); + return deserializeAws_ec2CreateVpnConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateSubnetResult(data, context); - const response: CreateSubnetCommandOutput = { + contents = deserializeAws_ec2CreateVpnConnectionResult(data, context); + const response: CreateVpnConnectionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateSubnetCommandError = async ( +const deserializeAws_ec2CreateVpnConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14804,27 +16873,24 @@ const deserializeAws_ec2CreateSubnetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateSubnetCidrReservationCommand = async ( +export const deserializeAws_ec2CreateVpnConnectionRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateSubnetCidrReservationCommandError(output, context); + return deserializeAws_ec2CreateVpnConnectionRouteCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2CreateSubnetCidrReservationResult(data, context); - const response: CreateSubnetCidrReservationCommandOutput = { + await collectBody(output.body, context); + const response: CreateVpnConnectionRouteCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateSubnetCidrReservationCommandError = async ( +const deserializeAws_ec2CreateVpnConnectionRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14850,24 +16916,27 @@ const deserializeAws_ec2CreateSubnetCidrReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTagsCommand = async ( +export const deserializeAws_ec2CreateVpnGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTagsCommandError(output, context); + return deserializeAws_ec2CreateVpnGatewayCommandError(output, context); } - await collectBody(output.body, context); - const response: CreateTagsCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2CreateVpnGatewayResult(data, context); + const response: CreateVpnGatewayCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTagsCommandError = async ( +const deserializeAws_ec2CreateVpnGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14893,27 +16962,27 @@ const deserializeAws_ec2CreateTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTrafficMirrorFilterCommand = async ( +export const deserializeAws_ec2DeleteCarrierGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTrafficMirrorFilterCommandError(output, context); + return deserializeAws_ec2DeleteCarrierGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTrafficMirrorFilterResult(data, context); - const response: CreateTrafficMirrorFilterCommandOutput = { + contents = deserializeAws_ec2DeleteCarrierGatewayResult(data, context); + const response: DeleteCarrierGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTrafficMirrorFilterCommandError = async ( +const deserializeAws_ec2DeleteCarrierGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14939,27 +17008,27 @@ const deserializeAws_ec2CreateTrafficMirrorFilterCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTrafficMirrorFilterRuleCommand = async ( +export const deserializeAws_ec2DeleteClientVpnEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTrafficMirrorFilterRuleCommandError(output, context); + return deserializeAws_ec2DeleteClientVpnEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTrafficMirrorFilterRuleResult(data, context); - const response: CreateTrafficMirrorFilterRuleCommandOutput = { + contents = deserializeAws_ec2DeleteClientVpnEndpointResult(data, context); + const response: DeleteClientVpnEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTrafficMirrorFilterRuleCommandError = async ( +const deserializeAws_ec2DeleteClientVpnEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14985,27 +17054,27 @@ const deserializeAws_ec2CreateTrafficMirrorFilterRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTrafficMirrorSessionCommand = async ( +export const deserializeAws_ec2DeleteClientVpnRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTrafficMirrorSessionCommandError(output, context); + return deserializeAws_ec2DeleteClientVpnRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTrafficMirrorSessionResult(data, context); - const response: CreateTrafficMirrorSessionCommandOutput = { + contents = deserializeAws_ec2DeleteClientVpnRouteResult(data, context); + const response: DeleteClientVpnRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTrafficMirrorSessionCommandError = async ( +const deserializeAws_ec2DeleteClientVpnRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15031,27 +17100,24 @@ const deserializeAws_ec2CreateTrafficMirrorSessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTrafficMirrorTargetCommand = async ( +export const deserializeAws_ec2DeleteCustomerGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTrafficMirrorTargetCommandError(output, context); + return deserializeAws_ec2DeleteCustomerGatewayCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2CreateTrafficMirrorTargetResult(data, context); - const response: CreateTrafficMirrorTargetCommandOutput = { + await collectBody(output.body, context); + const response: DeleteCustomerGatewayCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTrafficMirrorTargetCommandError = async ( +const deserializeAws_ec2DeleteCustomerGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15077,27 +17143,24 @@ const deserializeAws_ec2CreateTrafficMirrorTargetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayCommand = async ( +export const deserializeAws_ec2DeleteDhcpOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayCommandError(output, context); + return deserializeAws_ec2DeleteDhcpOptionsCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayResult(data, context); - const response: CreateTransitGatewayCommandOutput = { + await collectBody(output.body, context); + const response: DeleteDhcpOptionsCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayCommandError = async ( +const deserializeAws_ec2DeleteDhcpOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15123,27 +17186,27 @@ const deserializeAws_ec2CreateTransitGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayConnectCommand = async ( +export const deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayConnectCommandError(output, context); + return deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayConnectResult(data, context); - const response: CreateTransitGatewayConnectCommandOutput = { + contents = deserializeAws_ec2DeleteEgressOnlyInternetGatewayResult(data, context); + const response: DeleteEgressOnlyInternetGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayConnectCommandError = async ( +const deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15169,27 +17232,27 @@ const deserializeAws_ec2CreateTransitGatewayConnectCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayConnectPeerCommand = async ( +export const deserializeAws_ec2DeleteFleetsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayConnectPeerCommandError(output, context); + return deserializeAws_ec2DeleteFleetsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayConnectPeerResult(data, context); - const response: CreateTransitGatewayConnectPeerCommandOutput = { + contents = deserializeAws_ec2DeleteFleetsResult(data, context); + const response: DeleteFleetsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayConnectPeerCommandError = async ( +const deserializeAws_ec2DeleteFleetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15215,27 +17278,27 @@ const deserializeAws_ec2CreateTransitGatewayConnectPeerCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayMulticastDomainCommand = async ( +export const deserializeAws_ec2DeleteFlowLogsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayMulticastDomainCommandError(output, context); + return deserializeAws_ec2DeleteFlowLogsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayMulticastDomainResult(data, context); - const response: CreateTransitGatewayMulticastDomainCommandOutput = { + contents = deserializeAws_ec2DeleteFlowLogsResult(data, context); + const response: DeleteFlowLogsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayMulticastDomainCommandError = async ( +const deserializeAws_ec2DeleteFlowLogsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15261,27 +17324,27 @@ const deserializeAws_ec2CreateTransitGatewayMulticastDomainCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommand = async ( +export const deserializeAws_ec2DeleteFpgaImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommandError(output, context); + return deserializeAws_ec2DeleteFpgaImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayPeeringAttachmentResult(data, context); - const response: CreateTransitGatewayPeeringAttachmentCommandOutput = { + contents = deserializeAws_ec2DeleteFpgaImageResult(data, context); + const response: DeleteFpgaImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommandError = async ( +const deserializeAws_ec2DeleteFpgaImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15307,27 +17370,27 @@ const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand = async ( +export const deserializeAws_ec2DeleteInstanceEventWindowCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError(output, context); + return deserializeAws_ec2DeleteInstanceEventWindowCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayPrefixListReferenceResult(data, context); - const response: CreateTransitGatewayPrefixListReferenceCommandOutput = { + contents = deserializeAws_ec2DeleteInstanceEventWindowResult(data, context); + const response: DeleteInstanceEventWindowCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError = async ( +const deserializeAws_ec2DeleteInstanceEventWindowCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15353,27 +17416,70 @@ const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayRouteCommand = async ( +export const deserializeAws_ec2DeleteInternetGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayRouteCommandError(output, context); + return deserializeAws_ec2DeleteInternetGatewayCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteInternetGatewayCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DeleteInternetGatewayCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2DeleteIpamCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DeleteIpamCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayRouteResult(data, context); - const response: CreateTransitGatewayRouteCommandOutput = { + contents = deserializeAws_ec2DeleteIpamResult(data, context); + const response: DeleteIpamCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayRouteCommandError = async ( +const deserializeAws_ec2DeleteIpamCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15399,27 +17505,27 @@ const deserializeAws_ec2CreateTransitGatewayRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayRouteTableCommand = async ( +export const deserializeAws_ec2DeleteIpamPoolCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayRouteTableCommandError(output, context); + return deserializeAws_ec2DeleteIpamPoolCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayRouteTableResult(data, context); - const response: CreateTransitGatewayRouteTableCommandOutput = { + contents = deserializeAws_ec2DeleteIpamPoolResult(data, context); + const response: DeleteIpamPoolCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayRouteTableCommandError = async ( +const deserializeAws_ec2DeleteIpamPoolCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15445,27 +17551,27 @@ const deserializeAws_ec2CreateTransitGatewayRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommand = async ( +export const deserializeAws_ec2DeleteIpamScopeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommandError(output, context); + return deserializeAws_ec2DeleteIpamScopeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayVpcAttachmentResult(data, context); - const response: CreateTransitGatewayVpcAttachmentCommandOutput = { + contents = deserializeAws_ec2DeleteIpamScopeResult(data, context); + const response: DeleteIpamScopeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommandError = async ( +const deserializeAws_ec2DeleteIpamScopeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15491,27 +17597,24 @@ const deserializeAws_ec2CreateTransitGatewayVpcAttachmentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVolumeCommand = async ( +export const deserializeAws_ec2DeleteKeyPairCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVolumeCommandError(output, context); + return deserializeAws_ec2DeleteKeyPairCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2Volume(data, context); - const response: CreateVolumeCommandOutput = { + await collectBody(output.body, context); + const response: DeleteKeyPairCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVolumeCommandError = async ( +const deserializeAws_ec2DeleteKeyPairCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15537,27 +17640,27 @@ const deserializeAws_ec2CreateVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpcCommand = async ( +export const deserializeAws_ec2DeleteLaunchTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpcCommandError(output, context); + return deserializeAws_ec2DeleteLaunchTemplateCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateVpcResult(data, context); - const response: CreateVpcCommandOutput = { + contents = deserializeAws_ec2DeleteLaunchTemplateResult(data, context); + const response: DeleteLaunchTemplateCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpcCommandError = async ( +const deserializeAws_ec2DeleteLaunchTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15583,27 +17686,27 @@ const deserializeAws_ec2CreateVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpcEndpointCommand = async ( +export const deserializeAws_ec2DeleteLaunchTemplateVersionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpcEndpointCommandError(output, context); + return deserializeAws_ec2DeleteLaunchTemplateVersionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateVpcEndpointResult(data, context); - const response: CreateVpcEndpointCommandOutput = { + contents = deserializeAws_ec2DeleteLaunchTemplateVersionsResult(data, context); + const response: DeleteLaunchTemplateVersionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpcEndpointCommandError = async ( +const deserializeAws_ec2DeleteLaunchTemplateVersionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15629,27 +17732,27 @@ const deserializeAws_ec2CreateVpcEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommand = async ( +export const deserializeAws_ec2DeleteLocalGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommandError(output, context); + return deserializeAws_ec2DeleteLocalGatewayRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateVpcEndpointConnectionNotificationResult(data, context); - const response: CreateVpcEndpointConnectionNotificationCommandOutput = { + contents = deserializeAws_ec2DeleteLocalGatewayRouteResult(data, context); + const response: DeleteLocalGatewayRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommandError = async ( +const deserializeAws_ec2DeleteLocalGatewayRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15675,27 +17778,27 @@ const deserializeAws_ec2CreateVpcEndpointConnectionNotificationCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommand = async ( +export const deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommandError(output, context); + return deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateVpcEndpointServiceConfigurationResult(data, context); - const response: CreateVpcEndpointServiceConfigurationCommandOutput = { + contents = deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationResult(data, context); + const response: DeleteLocalGatewayRouteTableVpcAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommandError = async ( +const deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15721,27 +17824,27 @@ const deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpcPeeringConnectionCommand = async ( +export const deserializeAws_ec2DeleteManagedPrefixListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpcPeeringConnectionCommandError(output, context); + return deserializeAws_ec2DeleteManagedPrefixListCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateVpcPeeringConnectionResult(data, context); - const response: CreateVpcPeeringConnectionCommandOutput = { + contents = deserializeAws_ec2DeleteManagedPrefixListResult(data, context); + const response: DeleteManagedPrefixListCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpcPeeringConnectionCommandError = async ( +const deserializeAws_ec2DeleteManagedPrefixListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15767,27 +17870,27 @@ const deserializeAws_ec2CreateVpcPeeringConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpnConnectionCommand = async ( +export const deserializeAws_ec2DeleteNatGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpnConnectionCommandError(output, context); + return deserializeAws_ec2DeleteNatGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateVpnConnectionResult(data, context); - const response: CreateVpnConnectionCommandOutput = { + contents = deserializeAws_ec2DeleteNatGatewayResult(data, context); + const response: DeleteNatGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpnConnectionCommandError = async ( +const deserializeAws_ec2DeleteNatGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15813,24 +17916,24 @@ const deserializeAws_ec2CreateVpnConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpnConnectionRouteCommand = async ( +export const deserializeAws_ec2DeleteNetworkAclCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpnConnectionRouteCommandError(output, context); + return deserializeAws_ec2DeleteNetworkAclCommandError(output, context); } await collectBody(output.body, context); - const response: CreateVpnConnectionRouteCommandOutput = { + const response: DeleteNetworkAclCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpnConnectionRouteCommandError = async ( +const deserializeAws_ec2DeleteNetworkAclCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15856,27 +17959,24 @@ const deserializeAws_ec2CreateVpnConnectionRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateVpnGatewayCommand = async ( +export const deserializeAws_ec2DeleteNetworkAclEntryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateVpnGatewayCommandError(output, context); + return deserializeAws_ec2DeleteNetworkAclEntryCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2CreateVpnGatewayResult(data, context); - const response: CreateVpnGatewayCommandOutput = { + await collectBody(output.body, context); + const response: DeleteNetworkAclEntryCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateVpnGatewayCommandError = async ( +const deserializeAws_ec2DeleteNetworkAclEntryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15902,27 +18002,27 @@ const deserializeAws_ec2CreateVpnGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteCarrierGatewayCommand = async ( +export const deserializeAws_ec2DeleteNetworkInsightsAccessScopeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteCarrierGatewayCommandError(output, context); + return deserializeAws_ec2DeleteNetworkInsightsAccessScopeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteCarrierGatewayResult(data, context); - const response: DeleteCarrierGatewayCommandOutput = { + contents = deserializeAws_ec2DeleteNetworkInsightsAccessScopeResult(data, context); + const response: DeleteNetworkInsightsAccessScopeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteCarrierGatewayCommandError = async ( +const deserializeAws_ec2DeleteNetworkInsightsAccessScopeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15948,27 +18048,27 @@ const deserializeAws_ec2DeleteCarrierGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteClientVpnEndpointCommand = async ( +export const deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteClientVpnEndpointCommandError(output, context); + return deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteClientVpnEndpointResult(data, context); - const response: DeleteClientVpnEndpointCommandOutput = { + contents = deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisResult(data, context); + const response: DeleteNetworkInsightsAccessScopeAnalysisCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteClientVpnEndpointCommandError = async ( +const deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15994,27 +18094,27 @@ const deserializeAws_ec2DeleteClientVpnEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteClientVpnRouteCommand = async ( +export const deserializeAws_ec2DeleteNetworkInsightsAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteClientVpnRouteCommandError(output, context); + return deserializeAws_ec2DeleteNetworkInsightsAnalysisCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteClientVpnRouteResult(data, context); - const response: DeleteClientVpnRouteCommandOutput = { + contents = deserializeAws_ec2DeleteNetworkInsightsAnalysisResult(data, context); + const response: DeleteNetworkInsightsAnalysisCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteClientVpnRouteCommandError = async ( +const deserializeAws_ec2DeleteNetworkInsightsAnalysisCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16040,24 +18140,27 @@ const deserializeAws_ec2DeleteClientVpnRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteCustomerGatewayCommand = async ( +export const deserializeAws_ec2DeleteNetworkInsightsPathCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteCustomerGatewayCommandError(output, context); + return deserializeAws_ec2DeleteNetworkInsightsPathCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteCustomerGatewayCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteNetworkInsightsPathResult(data, context); + const response: DeleteNetworkInsightsPathCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteCustomerGatewayCommandError = async ( +const deserializeAws_ec2DeleteNetworkInsightsPathCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16083,24 +18186,24 @@ const deserializeAws_ec2DeleteCustomerGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteDhcpOptionsCommand = async ( +export const deserializeAws_ec2DeleteNetworkInterfaceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteDhcpOptionsCommandError(output, context); + return deserializeAws_ec2DeleteNetworkInterfaceCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteDhcpOptionsCommandOutput = { + const response: DeleteNetworkInterfaceCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteDhcpOptionsCommandError = async ( +const deserializeAws_ec2DeleteNetworkInterfaceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16126,27 +18229,27 @@ const deserializeAws_ec2DeleteDhcpOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommand = async ( +export const deserializeAws_ec2DeleteNetworkInterfacePermissionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommandError(output, context); + return deserializeAws_ec2DeleteNetworkInterfacePermissionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteEgressOnlyInternetGatewayResult(data, context); - const response: DeleteEgressOnlyInternetGatewayCommandOutput = { + contents = deserializeAws_ec2DeleteNetworkInterfacePermissionResult(data, context); + const response: DeleteNetworkInterfacePermissionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommandError = async ( +const deserializeAws_ec2DeleteNetworkInterfacePermissionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16172,27 +18275,70 @@ const deserializeAws_ec2DeleteEgressOnlyInternetGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteFleetsCommand = async ( +export const deserializeAws_ec2DeletePlacementGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteFleetsCommandError(output, context); + return deserializeAws_ec2DeletePlacementGroupCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeletePlacementGroupCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DeletePlacementGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2DeletePublicIpv4PoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DeletePublicIpv4PoolCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteFleetsResult(data, context); - const response: DeleteFleetsCommandOutput = { + contents = deserializeAws_ec2DeletePublicIpv4PoolResult(data, context); + const response: DeletePublicIpv4PoolCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteFleetsCommandError = async ( +const deserializeAws_ec2DeletePublicIpv4PoolCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16218,27 +18364,27 @@ const deserializeAws_ec2DeleteFleetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteFlowLogsCommand = async ( +export const deserializeAws_ec2DeleteQueuedReservedInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteFlowLogsCommandError(output, context); + return deserializeAws_ec2DeleteQueuedReservedInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteFlowLogsResult(data, context); - const response: DeleteFlowLogsCommandOutput = { + contents = deserializeAws_ec2DeleteQueuedReservedInstancesResult(data, context); + const response: DeleteQueuedReservedInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteFlowLogsCommandError = async ( +const deserializeAws_ec2DeleteQueuedReservedInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16264,27 +18410,24 @@ const deserializeAws_ec2DeleteFlowLogsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteFpgaImageCommand = async ( +export const deserializeAws_ec2DeleteRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteFpgaImageCommandError(output, context); + return deserializeAws_ec2DeleteRouteCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DeleteFpgaImageResult(data, context); - const response: DeleteFpgaImageCommandOutput = { + await collectBody(output.body, context); + const response: DeleteRouteCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteFpgaImageCommandError = async ( +const deserializeAws_ec2DeleteRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16310,27 +18453,24 @@ const deserializeAws_ec2DeleteFpgaImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteInstanceEventWindowCommand = async ( +export const deserializeAws_ec2DeleteRouteTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteInstanceEventWindowCommandError(output, context); + return deserializeAws_ec2DeleteRouteTableCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DeleteInstanceEventWindowResult(data, context); - const response: DeleteInstanceEventWindowCommandOutput = { + await collectBody(output.body, context); + const response: DeleteRouteTableCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteInstanceEventWindowCommandError = async ( +const deserializeAws_ec2DeleteRouteTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16356,24 +18496,24 @@ const deserializeAws_ec2DeleteInstanceEventWindowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteInternetGatewayCommand = async ( +export const deserializeAws_ec2DeleteSecurityGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteInternetGatewayCommandError(output, context); + return deserializeAws_ec2DeleteSecurityGroupCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteInternetGatewayCommandOutput = { + const response: DeleteSecurityGroupCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteInternetGatewayCommandError = async ( +const deserializeAws_ec2DeleteSecurityGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16399,24 +18539,24 @@ const deserializeAws_ec2DeleteInternetGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteKeyPairCommand = async ( +export const deserializeAws_ec2DeleteSnapshotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteKeyPairCommandError(output, context); + return deserializeAws_ec2DeleteSnapshotCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteKeyPairCommandOutput = { + const response: DeleteSnapshotCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteKeyPairCommandError = async ( +const deserializeAws_ec2DeleteSnapshotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16442,27 +18582,24 @@ const deserializeAws_ec2DeleteKeyPairCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteLaunchTemplateCommand = async ( +export const deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteLaunchTemplateCommandError(output, context); + return deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DeleteLaunchTemplateResult(data, context); - const response: DeleteLaunchTemplateCommandOutput = { + await collectBody(output.body, context); + const response: DeleteSpotDatafeedSubscriptionCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteLaunchTemplateCommandError = async ( +const deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16488,27 +18625,70 @@ const deserializeAws_ec2DeleteLaunchTemplateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteLaunchTemplateVersionsCommand = async ( +export const deserializeAws_ec2DeleteSubnetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteLaunchTemplateVersionsCommandError(output, context); + return deserializeAws_ec2DeleteSubnetCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteSubnetCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DeleteSubnetCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2DeleteSubnetCidrReservationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DeleteSubnetCidrReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteLaunchTemplateVersionsResult(data, context); - const response: DeleteLaunchTemplateVersionsCommandOutput = { + contents = deserializeAws_ec2DeleteSubnetCidrReservationResult(data, context); + const response: DeleteSubnetCidrReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteLaunchTemplateVersionsCommandError = async ( +const deserializeAws_ec2DeleteSubnetCidrReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16534,27 +18714,70 @@ const deserializeAws_ec2DeleteLaunchTemplateVersionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteLocalGatewayRouteCommand = async ( +export const deserializeAws_ec2DeleteTagsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteLocalGatewayRouteCommandError(output, context); + return deserializeAws_ec2DeleteTagsCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteTagsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DeleteTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2DeleteTrafficMirrorFilterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DeleteTrafficMirrorFilterCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteLocalGatewayRouteResult(data, context); - const response: DeleteLocalGatewayRouteCommandOutput = { + contents = deserializeAws_ec2DeleteTrafficMirrorFilterResult(data, context); + const response: DeleteTrafficMirrorFilterCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteLocalGatewayRouteCommandError = async ( +const deserializeAws_ec2DeleteTrafficMirrorFilterCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16580,27 +18803,27 @@ const deserializeAws_ec2DeleteLocalGatewayRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommand = async ( +export const deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommandError(output, context); + return deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationResult(data, context); - const response: DeleteLocalGatewayRouteTableVpcAssociationCommandOutput = { + contents = deserializeAws_ec2DeleteTrafficMirrorFilterRuleResult(data, context); + const response: DeleteTrafficMirrorFilterRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommandError = async ( +const deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16626,27 +18849,27 @@ const deserializeAws_ec2DeleteLocalGatewayRouteTableVpcAssociationCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteManagedPrefixListCommand = async ( +export const deserializeAws_ec2DeleteTrafficMirrorSessionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteManagedPrefixListCommandError(output, context); + return deserializeAws_ec2DeleteTrafficMirrorSessionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteManagedPrefixListResult(data, context); - const response: DeleteManagedPrefixListCommandOutput = { + contents = deserializeAws_ec2DeleteTrafficMirrorSessionResult(data, context); + const response: DeleteTrafficMirrorSessionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteManagedPrefixListCommandError = async ( +const deserializeAws_ec2DeleteTrafficMirrorSessionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16672,27 +18895,27 @@ const deserializeAws_ec2DeleteManagedPrefixListCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNatGatewayCommand = async ( +export const deserializeAws_ec2DeleteTrafficMirrorTargetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNatGatewayCommandError(output, context); + return deserializeAws_ec2DeleteTrafficMirrorTargetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteNatGatewayResult(data, context); - const response: DeleteNatGatewayCommandOutput = { + contents = deserializeAws_ec2DeleteTrafficMirrorTargetResult(data, context); + const response: DeleteTrafficMirrorTargetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNatGatewayCommandError = async ( +const deserializeAws_ec2DeleteTrafficMirrorTargetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16718,24 +18941,27 @@ const deserializeAws_ec2DeleteNatGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNetworkAclCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNetworkAclCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteNetworkAclCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteTransitGatewayResult(data, context); + const response: DeleteTransitGatewayCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNetworkAclCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16761,24 +18987,27 @@ const deserializeAws_ec2DeleteNetworkAclCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNetworkAclEntryCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayConnectCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNetworkAclEntryCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayConnectCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteNetworkAclEntryCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteTransitGatewayConnectResult(data, context); + const response: DeleteTransitGatewayConnectCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNetworkAclEntryCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayConnectCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16804,27 +19033,27 @@ const deserializeAws_ec2DeleteNetworkAclEntryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNetworkInsightsAnalysisCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayConnectPeerCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNetworkInsightsAnalysisCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayConnectPeerCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteNetworkInsightsAnalysisResult(data, context); - const response: DeleteNetworkInsightsAnalysisCommandOutput = { + contents = deserializeAws_ec2DeleteTransitGatewayConnectPeerResult(data, context); + const response: DeleteTransitGatewayConnectPeerCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNetworkInsightsAnalysisCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayConnectPeerCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16850,27 +19079,27 @@ const deserializeAws_ec2DeleteNetworkInsightsAnalysisCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNetworkInsightsPathCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNetworkInsightsPathCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteNetworkInsightsPathResult(data, context); - const response: DeleteNetworkInsightsPathCommandOutput = { + contents = deserializeAws_ec2DeleteTransitGatewayMulticastDomainResult(data, context); + const response: DeleteTransitGatewayMulticastDomainCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNetworkInsightsPathCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16896,24 +19125,27 @@ const deserializeAws_ec2DeleteNetworkInsightsPathCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNetworkInterfaceCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNetworkInterfaceCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteNetworkInterfaceCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentResult(data, context); + const response: DeleteTransitGatewayPeeringAttachmentCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNetworkInterfaceCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16939,27 +19171,27 @@ const deserializeAws_ec2DeleteNetworkInterfaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteNetworkInterfacePermissionCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteNetworkInterfacePermissionCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteNetworkInterfacePermissionResult(data, context); - const response: DeleteNetworkInterfacePermissionCommandOutput = { + contents = deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceResult(data, context); + const response: DeleteTransitGatewayPrefixListReferenceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteNetworkInterfacePermissionCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16985,24 +19217,27 @@ const deserializeAws_ec2DeleteNetworkInterfacePermissionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeletePlacementGroupCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeletePlacementGroupCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayRouteCommandError(output, context); } - await collectBody(output.body, context); - const response: DeletePlacementGroupCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteTransitGatewayRouteResult(data, context); + const response: DeleteTransitGatewayRouteCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeletePlacementGroupCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17028,27 +19263,27 @@ const deserializeAws_ec2DeletePlacementGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteQueuedReservedInstancesCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayRouteTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteQueuedReservedInstancesCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayRouteTableCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteQueuedReservedInstancesResult(data, context); - const response: DeleteQueuedReservedInstancesCommandOutput = { + contents = deserializeAws_ec2DeleteTransitGatewayRouteTableResult(data, context); + const response: DeleteTransitGatewayRouteTableCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteQueuedReservedInstancesCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayRouteTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17074,24 +19309,27 @@ const deserializeAws_ec2DeleteQueuedReservedInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteRouteCommand = async ( +export const deserializeAws_ec2DeleteTransitGatewayVpcAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteRouteCommandError(output, context); + return deserializeAws_ec2DeleteTransitGatewayVpcAttachmentCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteRouteCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteTransitGatewayVpcAttachmentResult(data, context); + const response: DeleteTransitGatewayVpcAttachmentCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteRouteCommandError = async ( +const deserializeAws_ec2DeleteTransitGatewayVpcAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17117,24 +19355,24 @@ const deserializeAws_ec2DeleteRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteRouteTableCommand = async ( +export const deserializeAws_ec2DeleteVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteRouteTableCommandError(output, context); + return deserializeAws_ec2DeleteVolumeCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteRouteTableCommandOutput = { + const response: DeleteVolumeCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteRouteTableCommandError = async ( +const deserializeAws_ec2DeleteVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17160,24 +19398,24 @@ const deserializeAws_ec2DeleteRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteSecurityGroupCommand = async ( +export const deserializeAws_ec2DeleteVpcCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteSecurityGroupCommandError(output, context); + return deserializeAws_ec2DeleteVpcCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteSecurityGroupCommandOutput = { + const response: DeleteVpcCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteSecurityGroupCommandError = async ( +const deserializeAws_ec2DeleteVpcCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17203,24 +19441,27 @@ const deserializeAws_ec2DeleteSecurityGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteSnapshotCommand = async ( +export const deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteSnapshotCommandError(output, context); + return deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteSnapshotCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsResult(data, context); + const response: DeleteVpcEndpointConnectionNotificationsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteSnapshotCommandError = async ( +const deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17246,24 +19487,27 @@ const deserializeAws_ec2DeleteSnapshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommand = async ( +export const deserializeAws_ec2DeleteVpcEndpointsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommandError(output, context); + return deserializeAws_ec2DeleteVpcEndpointsCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteSpotDatafeedSubscriptionCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteVpcEndpointsResult(data, context); + const response: DeleteVpcEndpointsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommandError = async ( +const deserializeAws_ec2DeleteVpcEndpointsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17289,24 +19533,27 @@ const deserializeAws_ec2DeleteSpotDatafeedSubscriptionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteSubnetCommand = async ( +export const deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteSubnetCommandError(output, context); + return deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteSubnetCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsResult(data, context); + const response: DeleteVpcEndpointServiceConfigurationsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteSubnetCommandError = async ( +const deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17332,27 +19579,27 @@ const deserializeAws_ec2DeleteSubnetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteSubnetCidrReservationCommand = async ( +export const deserializeAws_ec2DeleteVpcPeeringConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteSubnetCidrReservationCommandError(output, context); + return deserializeAws_ec2DeleteVpcPeeringConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteSubnetCidrReservationResult(data, context); - const response: DeleteSubnetCidrReservationCommandOutput = { + contents = deserializeAws_ec2DeleteVpcPeeringConnectionResult(data, context); + const response: DeleteVpcPeeringConnectionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteSubnetCidrReservationCommandError = async ( +const deserializeAws_ec2DeleteVpcPeeringConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17378,24 +19625,24 @@ const deserializeAws_ec2DeleteSubnetCidrReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTagsCommand = async ( +export const deserializeAws_ec2DeleteVpnConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTagsCommandError(output, context); + return deserializeAws_ec2DeleteVpnConnectionCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteTagsCommandOutput = { + const response: DeleteVpnConnectionCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTagsCommandError = async ( +const deserializeAws_ec2DeleteVpnConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17421,27 +19668,24 @@ const deserializeAws_ec2DeleteTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTrafficMirrorFilterCommand = async ( +export const deserializeAws_ec2DeleteVpnConnectionRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTrafficMirrorFilterCommandError(output, context); + return deserializeAws_ec2DeleteVpnConnectionRouteCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DeleteTrafficMirrorFilterResult(data, context); - const response: DeleteTrafficMirrorFilterCommandOutput = { + await collectBody(output.body, context); + const response: DeleteVpnConnectionRouteCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTrafficMirrorFilterCommandError = async ( +const deserializeAws_ec2DeleteVpnConnectionRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17467,27 +19711,24 @@ const deserializeAws_ec2DeleteTrafficMirrorFilterCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommand = async ( +export const deserializeAws_ec2DeleteVpnGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommandError(output, context); + return deserializeAws_ec2DeleteVpnGatewayCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DeleteTrafficMirrorFilterRuleResult(data, context); - const response: DeleteTrafficMirrorFilterRuleCommandOutput = { + await collectBody(output.body, context); + const response: DeleteVpnGatewayCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommandError = async ( +const deserializeAws_ec2DeleteVpnGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17513,27 +19754,27 @@ const deserializeAws_ec2DeleteTrafficMirrorFilterRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTrafficMirrorSessionCommand = async ( +export const deserializeAws_ec2DeprovisionByoipCidrCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTrafficMirrorSessionCommandError(output, context); + return deserializeAws_ec2DeprovisionByoipCidrCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTrafficMirrorSessionResult(data, context); - const response: DeleteTrafficMirrorSessionCommandOutput = { + contents = deserializeAws_ec2DeprovisionByoipCidrResult(data, context); + const response: DeprovisionByoipCidrCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTrafficMirrorSessionCommandError = async ( +const deserializeAws_ec2DeprovisionByoipCidrCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17559,27 +19800,27 @@ const deserializeAws_ec2DeleteTrafficMirrorSessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTrafficMirrorTargetCommand = async ( +export const deserializeAws_ec2DeprovisionIpamPoolCidrCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTrafficMirrorTargetCommandError(output, context); + return deserializeAws_ec2DeprovisionIpamPoolCidrCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTrafficMirrorTargetResult(data, context); - const response: DeleteTrafficMirrorTargetCommandOutput = { + contents = deserializeAws_ec2DeprovisionIpamPoolCidrResult(data, context); + const response: DeprovisionIpamPoolCidrCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTrafficMirrorTargetCommandError = async ( +const deserializeAws_ec2DeprovisionIpamPoolCidrCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17605,27 +19846,27 @@ const deserializeAws_ec2DeleteTrafficMirrorTargetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayCommand = async ( +export const deserializeAws_ec2DeprovisionPublicIpv4PoolCidrCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayCommandError(output, context); + return deserializeAws_ec2DeprovisionPublicIpv4PoolCidrCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayResult(data, context); - const response: DeleteTransitGatewayCommandOutput = { + contents = deserializeAws_ec2DeprovisionPublicIpv4PoolCidrResult(data, context); + const response: DeprovisionPublicIpv4PoolCidrCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayCommandError = async ( +const deserializeAws_ec2DeprovisionPublicIpv4PoolCidrCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17651,27 +19892,24 @@ const deserializeAws_ec2DeleteTransitGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayConnectCommand = async ( +export const deserializeAws_ec2DeregisterImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayConnectCommandError(output, context); + return deserializeAws_ec2DeregisterImageCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayConnectResult(data, context); - const response: DeleteTransitGatewayConnectCommandOutput = { + await collectBody(output.body, context); + const response: DeregisterImageCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayConnectCommandError = async ( +const deserializeAws_ec2DeregisterImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17697,27 +19935,27 @@ const deserializeAws_ec2DeleteTransitGatewayConnectCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayConnectPeerCommand = async ( +export const deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayConnectPeerCommandError(output, context); + return deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayConnectPeerResult(data, context); - const response: DeleteTransitGatewayConnectPeerCommandOutput = { + contents = deserializeAws_ec2DeregisterInstanceEventNotificationAttributesResult(data, context); + const response: DeregisterInstanceEventNotificationAttributesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayConnectPeerCommandError = async ( +const deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17743,27 +19981,27 @@ const deserializeAws_ec2DeleteTransitGatewayConnectPeerCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommand = async ( +export const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommandError(output, context); + return deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayMulticastDomainResult(data, context); - const response: DeleteTransitGatewayMulticastDomainCommandOutput = { + contents = deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersResult(data, context); + const response: DeregisterTransitGatewayMulticastGroupMembersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommandError = async ( +const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17789,27 +20027,27 @@ const deserializeAws_ec2DeleteTransitGatewayMulticastDomainCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommand = async ( +export const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommandError(output, context); + return deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentResult(data, context); - const response: DeleteTransitGatewayPeeringAttachmentCommandOutput = { + contents = deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesResult(data, context); + const response: DeregisterTransitGatewayMulticastGroupSourcesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommandError = async ( +const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17835,27 +20073,27 @@ const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand = async ( +export const deserializeAws_ec2DescribeAccountAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError(output, context); + return deserializeAws_ec2DescribeAccountAttributesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceResult(data, context); - const response: DeleteTransitGatewayPrefixListReferenceCommandOutput = { + contents = deserializeAws_ec2DescribeAccountAttributesResult(data, context); + const response: DescribeAccountAttributesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError = async ( +const deserializeAws_ec2DescribeAccountAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17881,27 +20119,27 @@ const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayRouteCommand = async ( +export const deserializeAws_ec2DescribeAddressesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayRouteCommandError(output, context); + return deserializeAws_ec2DescribeAddressesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayRouteResult(data, context); - const response: DeleteTransitGatewayRouteCommandOutput = { + contents = deserializeAws_ec2DescribeAddressesResult(data, context); + const response: DescribeAddressesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayRouteCommandError = async ( +const deserializeAws_ec2DescribeAddressesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17927,27 +20165,27 @@ const deserializeAws_ec2DeleteTransitGatewayRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayRouteTableCommand = async ( +export const deserializeAws_ec2DescribeAddressesAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayRouteTableCommandError(output, context); + return deserializeAws_ec2DescribeAddressesAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayRouteTableResult(data, context); - const response: DeleteTransitGatewayRouteTableCommandOutput = { + contents = deserializeAws_ec2DescribeAddressesAttributeResult(data, context); + const response: DescribeAddressesAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayRouteTableCommandError = async ( +const deserializeAws_ec2DescribeAddressesAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17973,113 +20211,27 @@ const deserializeAws_ec2DeleteTransitGatewayRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteTransitGatewayVpcAttachmentCommand = async ( +export const deserializeAws_ec2DescribeAggregateIdFormatCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteTransitGatewayVpcAttachmentCommandError(output, context); + return deserializeAws_ec2DescribeAggregateIdFormatCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteTransitGatewayVpcAttachmentResult(data, context); - const response: DeleteTransitGatewayVpcAttachmentCommandOutput = { + contents = deserializeAws_ec2DescribeAggregateIdFormatResult(data, context); + const response: DescribeAggregateIdFormatCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteTransitGatewayVpcAttachmentCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2DeleteVolumeCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVolumeCommandError(output, context); - } - await collectBody(output.body, context); - const response: DeleteVolumeCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2DeleteVolumeCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2DeleteVpcCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpcCommandError(output, context); - } - await collectBody(output.body, context); - const response: DeleteVpcCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2DeleteVpcCommandError = async ( +const deserializeAws_ec2DescribeAggregateIdFormatCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18105,27 +20257,27 @@ const deserializeAws_ec2DeleteVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommand = async ( +export const deserializeAws_ec2DescribeAvailabilityZonesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommandError(output, context); + return deserializeAws_ec2DescribeAvailabilityZonesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsResult(data, context); - const response: DeleteVpcEndpointConnectionNotificationsCommandOutput = { + contents = deserializeAws_ec2DescribeAvailabilityZonesResult(data, context); + const response: DescribeAvailabilityZonesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommandError = async ( +const deserializeAws_ec2DescribeAvailabilityZonesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18151,27 +20303,27 @@ const deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteVpcEndpointsCommand = async ( +export const deserializeAws_ec2DescribeBundleTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpcEndpointsCommandError(output, context); + return deserializeAws_ec2DescribeBundleTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteVpcEndpointsResult(data, context); - const response: DeleteVpcEndpointsCommandOutput = { + contents = deserializeAws_ec2DescribeBundleTasksResult(data, context); + const response: DescribeBundleTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteVpcEndpointsCommandError = async ( +const deserializeAws_ec2DescribeBundleTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18197,27 +20349,27 @@ const deserializeAws_ec2DeleteVpcEndpointsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommand = async ( +export const deserializeAws_ec2DescribeByoipCidrsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommandError(output, context); + return deserializeAws_ec2DescribeByoipCidrsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsResult(data, context); - const response: DeleteVpcEndpointServiceConfigurationsCommandOutput = { + contents = deserializeAws_ec2DescribeByoipCidrsResult(data, context); + const response: DescribeByoipCidrsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommandError = async ( +const deserializeAws_ec2DescribeByoipCidrsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18243,70 +20395,27 @@ const deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteVpcPeeringConnectionCommand = async ( +export const deserializeAws_ec2DescribeCapacityReservationFleetsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpcPeeringConnectionCommandError(output, context); + return deserializeAws_ec2DescribeCapacityReservationFleetsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeleteVpcPeeringConnectionResult(data, context); - const response: DeleteVpcPeeringConnectionCommandOutput = { + contents = deserializeAws_ec2DescribeCapacityReservationFleetsResult(data, context); + const response: DescribeCapacityReservationFleetsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteVpcPeeringConnectionCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2DeleteVpnConnectionCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpnConnectionCommandError(output, context); - } - await collectBody(output.body, context); - const response: DeleteVpnConnectionCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2DeleteVpnConnectionCommandError = async ( +const deserializeAws_ec2DescribeCapacityReservationFleetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18332,24 +20441,27 @@ const deserializeAws_ec2DeleteVpnConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteVpnConnectionRouteCommand = async ( +export const deserializeAws_ec2DescribeCapacityReservationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpnConnectionRouteCommandError(output, context); + return deserializeAws_ec2DescribeCapacityReservationsCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteVpnConnectionRouteCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DescribeCapacityReservationsResult(data, context); + const response: DescribeCapacityReservationsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeleteVpnConnectionRouteCommandError = async ( +const deserializeAws_ec2DescribeCapacityReservationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18375,24 +20487,27 @@ const deserializeAws_ec2DeleteVpnConnectionRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeleteVpnGatewayCommand = async ( +export const deserializeAws_ec2DescribeCarrierGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeleteVpnGatewayCommandError(output, context); + return deserializeAws_ec2DescribeCarrierGatewaysCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteVpnGatewayCommandOutput = { + 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_ec2DeleteVpnGatewayCommandError = async ( +const deserializeAws_ec2DescribeCarrierGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18418,27 +20533,27 @@ const deserializeAws_ec2DeleteVpnGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeprovisionByoipCidrCommand = async ( +export const deserializeAws_ec2DescribeClassicLinkInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeprovisionByoipCidrCommandError(output, context); + return deserializeAws_ec2DescribeClassicLinkInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeprovisionByoipCidrResult(data, context); - const response: DeprovisionByoipCidrCommandOutput = { + contents = deserializeAws_ec2DescribeClassicLinkInstancesResult(data, context); + const response: DescribeClassicLinkInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeprovisionByoipCidrCommandError = async ( +const deserializeAws_ec2DescribeClassicLinkInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18464,24 +20579,27 @@ const deserializeAws_ec2DeprovisionByoipCidrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeregisterImageCommand = async ( +export const deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeregisterImageCommandError(output, context); + return deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommandError(output, context); } - await collectBody(output.body, context); - const response: DeregisterImageCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DescribeClientVpnAuthorizationRulesResult(data, context); + const response: DescribeClientVpnAuthorizationRulesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeregisterImageCommandError = async ( +const deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18507,27 +20625,27 @@ const deserializeAws_ec2DeregisterImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommand = async ( +export const deserializeAws_ec2DescribeClientVpnConnectionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommandError(output, context); + return deserializeAws_ec2DescribeClientVpnConnectionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeregisterInstanceEventNotificationAttributesResult(data, context); - const response: DeregisterInstanceEventNotificationAttributesCommandOutput = { + contents = deserializeAws_ec2DescribeClientVpnConnectionsResult(data, context); + const response: DescribeClientVpnConnectionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommandError = async ( +const deserializeAws_ec2DescribeClientVpnConnectionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18553,27 +20671,27 @@ const deserializeAws_ec2DeregisterInstanceEventNotificationAttributesCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommand = async ( +export const deserializeAws_ec2DescribeClientVpnEndpointsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommandError(output, context); + return deserializeAws_ec2DescribeClientVpnEndpointsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersResult(data, context); - const response: DeregisterTransitGatewayMulticastGroupMembersCommandOutput = { + contents = deserializeAws_ec2DescribeClientVpnEndpointsResult(data, context); + const response: DescribeClientVpnEndpointsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommandError = async ( +const deserializeAws_ec2DescribeClientVpnEndpointsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18599,27 +20717,27 @@ const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommand = async ( +export const deserializeAws_ec2DescribeClientVpnRoutesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommandError(output, context); + return deserializeAws_ec2DescribeClientVpnRoutesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesResult(data, context); - const response: DeregisterTransitGatewayMulticastGroupSourcesCommandOutput = { + contents = deserializeAws_ec2DescribeClientVpnRoutesResult(data, context); + const response: DescribeClientVpnRoutesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommandError = async ( +const deserializeAws_ec2DescribeClientVpnRoutesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18645,27 +20763,27 @@ const deserializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeAccountAttributesCommand = async ( +export const deserializeAws_ec2DescribeClientVpnTargetNetworksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeAccountAttributesCommandError(output, context); + return deserializeAws_ec2DescribeClientVpnTargetNetworksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeAccountAttributesResult(data, context); - const response: DescribeAccountAttributesCommandOutput = { + contents = deserializeAws_ec2DescribeClientVpnTargetNetworksResult(data, context); + const response: DescribeClientVpnTargetNetworksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeAccountAttributesCommandError = async ( +const deserializeAws_ec2DescribeClientVpnTargetNetworksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18691,27 +20809,27 @@ const deserializeAws_ec2DescribeAccountAttributesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeAddressesCommand = async ( +export const deserializeAws_ec2DescribeCoipPoolsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeAddressesCommandError(output, context); + return deserializeAws_ec2DescribeCoipPoolsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeAddressesResult(data, context); - const response: DescribeAddressesCommandOutput = { + contents = deserializeAws_ec2DescribeCoipPoolsResult(data, context); + const response: DescribeCoipPoolsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeAddressesCommandError = async ( +const deserializeAws_ec2DescribeCoipPoolsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18737,27 +20855,27 @@ const deserializeAws_ec2DescribeAddressesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeAddressesAttributeCommand = async ( +export const deserializeAws_ec2DescribeConversionTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeAddressesAttributeCommandError(output, context); + return deserializeAws_ec2DescribeConversionTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeAddressesAttributeResult(data, context); - const response: DescribeAddressesAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeConversionTasksResult(data, context); + const response: DescribeConversionTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeAddressesAttributeCommandError = async ( +const deserializeAws_ec2DescribeConversionTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18783,27 +20901,27 @@ const deserializeAws_ec2DescribeAddressesAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeAggregateIdFormatCommand = async ( +export const deserializeAws_ec2DescribeCustomerGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeAggregateIdFormatCommandError(output, context); + return deserializeAws_ec2DescribeCustomerGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeAggregateIdFormatResult(data, context); - const response: DescribeAggregateIdFormatCommandOutput = { + contents = deserializeAws_ec2DescribeCustomerGatewaysResult(data, context); + const response: DescribeCustomerGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeAggregateIdFormatCommandError = async ( +const deserializeAws_ec2DescribeCustomerGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18829,27 +20947,27 @@ const deserializeAws_ec2DescribeAggregateIdFormatCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeAvailabilityZonesCommand = async ( +export const deserializeAws_ec2DescribeDhcpOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeAvailabilityZonesCommandError(output, context); + return deserializeAws_ec2DescribeDhcpOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeAvailabilityZonesResult(data, context); - const response: DescribeAvailabilityZonesCommandOutput = { + contents = deserializeAws_ec2DescribeDhcpOptionsResult(data, context); + const response: DescribeDhcpOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeAvailabilityZonesCommandError = async ( +const deserializeAws_ec2DescribeDhcpOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18875,27 +20993,27 @@ const deserializeAws_ec2DescribeAvailabilityZonesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeBundleTasksCommand = async ( +export const deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeBundleTasksCommandError(output, context); + return deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeBundleTasksResult(data, context); - const response: DescribeBundleTasksCommandOutput = { + contents = deserializeAws_ec2DescribeEgressOnlyInternetGatewaysResult(data, context); + const response: DescribeEgressOnlyInternetGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeBundleTasksCommandError = async ( +const deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18921,27 +21039,27 @@ const deserializeAws_ec2DescribeBundleTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeByoipCidrsCommand = async ( +export const deserializeAws_ec2DescribeElasticGpusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeByoipCidrsCommandError(output, context); + return deserializeAws_ec2DescribeElasticGpusCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeByoipCidrsResult(data, context); - const response: DescribeByoipCidrsCommandOutput = { + contents = deserializeAws_ec2DescribeElasticGpusResult(data, context); + const response: DescribeElasticGpusCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeByoipCidrsCommandError = async ( +const deserializeAws_ec2DescribeElasticGpusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -18967,27 +21085,27 @@ const deserializeAws_ec2DescribeByoipCidrsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeCapacityReservationFleetsCommand = async ( +export const deserializeAws_ec2DescribeExportImageTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeCapacityReservationFleetsCommandError(output, context); + return deserializeAws_ec2DescribeExportImageTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeCapacityReservationFleetsResult(data, context); - const response: DescribeCapacityReservationFleetsCommandOutput = { + contents = deserializeAws_ec2DescribeExportImageTasksResult(data, context); + const response: DescribeExportImageTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeCapacityReservationFleetsCommandError = async ( +const deserializeAws_ec2DescribeExportImageTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19013,27 +21131,27 @@ const deserializeAws_ec2DescribeCapacityReservationFleetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeCapacityReservationsCommand = async ( +export const deserializeAws_ec2DescribeExportTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeCapacityReservationsCommandError(output, context); + return deserializeAws_ec2DescribeExportTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeCapacityReservationsResult(data, context); - const response: DescribeCapacityReservationsCommandOutput = { + contents = deserializeAws_ec2DescribeExportTasksResult(data, context); + const response: DescribeExportTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeCapacityReservationsCommandError = async ( +const deserializeAws_ec2DescribeExportTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19059,27 +21177,27 @@ const deserializeAws_ec2DescribeCapacityReservationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeCarrierGatewaysCommand = async ( +export const deserializeAws_ec2DescribeFastSnapshotRestoresCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeCarrierGatewaysCommandError(output, context); + return deserializeAws_ec2DescribeFastSnapshotRestoresCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeCarrierGatewaysResult(data, context); - const response: DescribeCarrierGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribeFastSnapshotRestoresResult(data, context); + const response: DescribeFastSnapshotRestoresCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeCarrierGatewaysCommandError = async ( +const deserializeAws_ec2DescribeFastSnapshotRestoresCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19105,27 +21223,27 @@ const deserializeAws_ec2DescribeCarrierGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeClassicLinkInstancesCommand = async ( +export const deserializeAws_ec2DescribeFleetHistoryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeClassicLinkInstancesCommandError(output, context); + return deserializeAws_ec2DescribeFleetHistoryCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeClassicLinkInstancesResult(data, context); - const response: DescribeClassicLinkInstancesCommandOutput = { + contents = deserializeAws_ec2DescribeFleetHistoryResult(data, context); + const response: DescribeFleetHistoryCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeClassicLinkInstancesCommandError = async ( +const deserializeAws_ec2DescribeFleetHistoryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19151,27 +21269,27 @@ const deserializeAws_ec2DescribeClassicLinkInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommand = async ( +export const deserializeAws_ec2DescribeFleetInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommandError(output, context); + return deserializeAws_ec2DescribeFleetInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeClientVpnAuthorizationRulesResult(data, context); - const response: DescribeClientVpnAuthorizationRulesCommandOutput = { + contents = deserializeAws_ec2DescribeFleetInstancesResult(data, context); + const response: DescribeFleetInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommandError = async ( +const deserializeAws_ec2DescribeFleetInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19197,27 +21315,27 @@ const deserializeAws_ec2DescribeClientVpnAuthorizationRulesCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeClientVpnConnectionsCommand = async ( +export const deserializeAws_ec2DescribeFleetsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeClientVpnConnectionsCommandError(output, context); + return deserializeAws_ec2DescribeFleetsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeClientVpnConnectionsResult(data, context); - const response: DescribeClientVpnConnectionsCommandOutput = { + contents = deserializeAws_ec2DescribeFleetsResult(data, context); + const response: DescribeFleetsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeClientVpnConnectionsCommandError = async ( +const deserializeAws_ec2DescribeFleetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19243,27 +21361,27 @@ const deserializeAws_ec2DescribeClientVpnConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeClientVpnEndpointsCommand = async ( +export const deserializeAws_ec2DescribeFlowLogsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeClientVpnEndpointsCommandError(output, context); + return deserializeAws_ec2DescribeFlowLogsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeClientVpnEndpointsResult(data, context); - const response: DescribeClientVpnEndpointsCommandOutput = { + contents = deserializeAws_ec2DescribeFlowLogsResult(data, context); + const response: DescribeFlowLogsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeClientVpnEndpointsCommandError = async ( +const deserializeAws_ec2DescribeFlowLogsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19289,27 +21407,27 @@ const deserializeAws_ec2DescribeClientVpnEndpointsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeClientVpnRoutesCommand = async ( +export const deserializeAws_ec2DescribeFpgaImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeClientVpnRoutesCommandError(output, context); + return deserializeAws_ec2DescribeFpgaImageAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeClientVpnRoutesResult(data, context); - const response: DescribeClientVpnRoutesCommandOutput = { + contents = deserializeAws_ec2DescribeFpgaImageAttributeResult(data, context); + const response: DescribeFpgaImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeClientVpnRoutesCommandError = async ( +const deserializeAws_ec2DescribeFpgaImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19335,27 +21453,27 @@ const deserializeAws_ec2DescribeClientVpnRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeClientVpnTargetNetworksCommand = async ( +export const deserializeAws_ec2DescribeFpgaImagesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeClientVpnTargetNetworksCommandError(output, context); + return deserializeAws_ec2DescribeFpgaImagesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeClientVpnTargetNetworksResult(data, context); - const response: DescribeClientVpnTargetNetworksCommandOutput = { + contents = deserializeAws_ec2DescribeFpgaImagesResult(data, context); + const response: DescribeFpgaImagesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeClientVpnTargetNetworksCommandError = async ( +const deserializeAws_ec2DescribeFpgaImagesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19381,27 +21499,27 @@ const deserializeAws_ec2DescribeClientVpnTargetNetworksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeCoipPoolsCommand = async ( +export const deserializeAws_ec2DescribeHostReservationOfferingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeCoipPoolsCommandError(output, context); + return deserializeAws_ec2DescribeHostReservationOfferingsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeCoipPoolsResult(data, context); - const response: DescribeCoipPoolsCommandOutput = { + contents = deserializeAws_ec2DescribeHostReservationOfferingsResult(data, context); + const response: DescribeHostReservationOfferingsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeCoipPoolsCommandError = async ( +const deserializeAws_ec2DescribeHostReservationOfferingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19427,27 +21545,27 @@ const deserializeAws_ec2DescribeCoipPoolsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeConversionTasksCommand = async ( +export const deserializeAws_ec2DescribeHostReservationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeConversionTasksCommandError(output, context); + return deserializeAws_ec2DescribeHostReservationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeConversionTasksResult(data, context); - const response: DescribeConversionTasksCommandOutput = { + contents = deserializeAws_ec2DescribeHostReservationsResult(data, context); + const response: DescribeHostReservationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeConversionTasksCommandError = async ( +const deserializeAws_ec2DescribeHostReservationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19473,27 +21591,27 @@ const deserializeAws_ec2DescribeConversionTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeCustomerGatewaysCommand = async ( +export const deserializeAws_ec2DescribeHostsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeCustomerGatewaysCommandError(output, context); + return deserializeAws_ec2DescribeHostsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeCustomerGatewaysResult(data, context); - const response: DescribeCustomerGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribeHostsResult(data, context); + const response: DescribeHostsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeCustomerGatewaysCommandError = async ( +const deserializeAws_ec2DescribeHostsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19519,27 +21637,27 @@ const deserializeAws_ec2DescribeCustomerGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeDhcpOptionsCommand = async ( +export const deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeDhcpOptionsCommandError(output, context); + return deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeDhcpOptionsResult(data, context); - const response: DescribeDhcpOptionsCommandOutput = { + contents = deserializeAws_ec2DescribeIamInstanceProfileAssociationsResult(data, context); + const response: DescribeIamInstanceProfileAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeDhcpOptionsCommandError = async ( +const deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19565,27 +21683,27 @@ const deserializeAws_ec2DescribeDhcpOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommand = async ( +export const deserializeAws_ec2DescribeIdentityIdFormatCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommandError(output, context); + return deserializeAws_ec2DescribeIdentityIdFormatCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeEgressOnlyInternetGatewaysResult(data, context); - const response: DescribeEgressOnlyInternetGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribeIdentityIdFormatResult(data, context); + const response: DescribeIdentityIdFormatCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommandError = async ( +const deserializeAws_ec2DescribeIdentityIdFormatCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19611,27 +21729,27 @@ const deserializeAws_ec2DescribeEgressOnlyInternetGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeElasticGpusCommand = async ( +export const deserializeAws_ec2DescribeIdFormatCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeElasticGpusCommandError(output, context); + return deserializeAws_ec2DescribeIdFormatCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeElasticGpusResult(data, context); - const response: DescribeElasticGpusCommandOutput = { + contents = deserializeAws_ec2DescribeIdFormatResult(data, context); + const response: DescribeIdFormatCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeElasticGpusCommandError = async ( +const deserializeAws_ec2DescribeIdFormatCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19657,27 +21775,27 @@ const deserializeAws_ec2DescribeElasticGpusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeExportImageTasksCommand = async ( +export const deserializeAws_ec2DescribeImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeExportImageTasksCommandError(output, context); + return deserializeAws_ec2DescribeImageAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeExportImageTasksResult(data, context); - const response: DescribeExportImageTasksCommandOutput = { + contents = deserializeAws_ec2ImageAttribute(data, context); + const response: DescribeImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeExportImageTasksCommandError = async ( +const deserializeAws_ec2DescribeImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19703,27 +21821,27 @@ const deserializeAws_ec2DescribeExportImageTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeExportTasksCommand = async ( +export const deserializeAws_ec2DescribeImagesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeExportTasksCommandError(output, context); + return deserializeAws_ec2DescribeImagesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeExportTasksResult(data, context); - const response: DescribeExportTasksCommandOutput = { + contents = deserializeAws_ec2DescribeImagesResult(data, context); + const response: DescribeImagesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeExportTasksCommandError = async ( +const deserializeAws_ec2DescribeImagesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19749,27 +21867,27 @@ const deserializeAws_ec2DescribeExportTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFastSnapshotRestoresCommand = async ( +export const deserializeAws_ec2DescribeImportImageTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFastSnapshotRestoresCommandError(output, context); + return deserializeAws_ec2DescribeImportImageTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFastSnapshotRestoresResult(data, context); - const response: DescribeFastSnapshotRestoresCommandOutput = { + contents = deserializeAws_ec2DescribeImportImageTasksResult(data, context); + const response: DescribeImportImageTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFastSnapshotRestoresCommandError = async ( +const deserializeAws_ec2DescribeImportImageTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19795,27 +21913,27 @@ const deserializeAws_ec2DescribeFastSnapshotRestoresCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFleetHistoryCommand = async ( +export const deserializeAws_ec2DescribeImportSnapshotTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFleetHistoryCommandError(output, context); + return deserializeAws_ec2DescribeImportSnapshotTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFleetHistoryResult(data, context); - const response: DescribeFleetHistoryCommandOutput = { + contents = deserializeAws_ec2DescribeImportSnapshotTasksResult(data, context); + const response: DescribeImportSnapshotTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFleetHistoryCommandError = async ( +const deserializeAws_ec2DescribeImportSnapshotTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19841,27 +21959,27 @@ const deserializeAws_ec2DescribeFleetHistoryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFleetInstancesCommand = async ( +export const deserializeAws_ec2DescribeInstanceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFleetInstancesCommandError(output, context); + return deserializeAws_ec2DescribeInstanceAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFleetInstancesResult(data, context); - const response: DescribeFleetInstancesCommandOutput = { + contents = deserializeAws_ec2InstanceAttribute(data, context); + const response: DescribeInstanceAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFleetInstancesCommandError = async ( +const deserializeAws_ec2DescribeInstanceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19887,27 +22005,27 @@ const deserializeAws_ec2DescribeFleetInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFleetsCommand = async ( +export const deserializeAws_ec2DescribeInstanceCreditSpecificationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFleetsCommandError(output, context); + return deserializeAws_ec2DescribeInstanceCreditSpecificationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFleetsResult(data, context); - const response: DescribeFleetsCommandOutput = { + contents = deserializeAws_ec2DescribeInstanceCreditSpecificationsResult(data, context); + const response: DescribeInstanceCreditSpecificationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFleetsCommandError = async ( +const deserializeAws_ec2DescribeInstanceCreditSpecificationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19933,27 +22051,27 @@ const deserializeAws_ec2DescribeFleetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFlowLogsCommand = async ( +export const deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFlowLogsCommandError(output, context); + return deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFlowLogsResult(data, context); - const response: DescribeFlowLogsCommandOutput = { + contents = deserializeAws_ec2DescribeInstanceEventNotificationAttributesResult(data, context); + const response: DescribeInstanceEventNotificationAttributesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFlowLogsCommandError = async ( +const deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -19979,27 +22097,27 @@ const deserializeAws_ec2DescribeFlowLogsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFpgaImageAttributeCommand = async ( +export const deserializeAws_ec2DescribeInstanceEventWindowsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFpgaImageAttributeCommandError(output, context); + return deserializeAws_ec2DescribeInstanceEventWindowsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFpgaImageAttributeResult(data, context); - const response: DescribeFpgaImageAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeInstanceEventWindowsResult(data, context); + const response: DescribeInstanceEventWindowsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFpgaImageAttributeCommandError = async ( +const deserializeAws_ec2DescribeInstanceEventWindowsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20025,27 +22143,27 @@ const deserializeAws_ec2DescribeFpgaImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeFpgaImagesCommand = async ( +export const deserializeAws_ec2DescribeInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeFpgaImagesCommandError(output, context); + return deserializeAws_ec2DescribeInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeFpgaImagesResult(data, context); - const response: DescribeFpgaImagesCommandOutput = { + contents = deserializeAws_ec2DescribeInstancesResult(data, context); + const response: DescribeInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeFpgaImagesCommandError = async ( +const deserializeAws_ec2DescribeInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20071,27 +22189,27 @@ const deserializeAws_ec2DescribeFpgaImagesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeHostReservationOfferingsCommand = async ( +export const deserializeAws_ec2DescribeInstanceStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeHostReservationOfferingsCommandError(output, context); + return deserializeAws_ec2DescribeInstanceStatusCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeHostReservationOfferingsResult(data, context); - const response: DescribeHostReservationOfferingsCommandOutput = { + contents = deserializeAws_ec2DescribeInstanceStatusResult(data, context); + const response: DescribeInstanceStatusCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeHostReservationOfferingsCommandError = async ( +const deserializeAws_ec2DescribeInstanceStatusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20117,27 +22235,27 @@ const deserializeAws_ec2DescribeHostReservationOfferingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeHostReservationsCommand = async ( +export const deserializeAws_ec2DescribeInstanceTypeOfferingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeHostReservationsCommandError(output, context); + return deserializeAws_ec2DescribeInstanceTypeOfferingsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeHostReservationsResult(data, context); - const response: DescribeHostReservationsCommandOutput = { + contents = deserializeAws_ec2DescribeInstanceTypeOfferingsResult(data, context); + const response: DescribeInstanceTypeOfferingsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeHostReservationsCommandError = async ( +const deserializeAws_ec2DescribeInstanceTypeOfferingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20163,27 +22281,27 @@ const deserializeAws_ec2DescribeHostReservationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeHostsCommand = async ( +export const deserializeAws_ec2DescribeInstanceTypesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeHostsCommandError(output, context); + return deserializeAws_ec2DescribeInstanceTypesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeHostsResult(data, context); - const response: DescribeHostsCommandOutput = { + contents = deserializeAws_ec2DescribeInstanceTypesResult(data, context); + const response: DescribeInstanceTypesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeHostsCommandError = async ( +const deserializeAws_ec2DescribeInstanceTypesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20209,27 +22327,27 @@ const deserializeAws_ec2DescribeHostsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommand = async ( +export const deserializeAws_ec2DescribeInternetGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommandError(output, context); + return deserializeAws_ec2DescribeInternetGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeIamInstanceProfileAssociationsResult(data, context); - const response: DescribeIamInstanceProfileAssociationsCommandOutput = { + contents = deserializeAws_ec2DescribeInternetGatewaysResult(data, context); + const response: DescribeInternetGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommandError = async ( +const deserializeAws_ec2DescribeInternetGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20255,27 +22373,27 @@ const deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeIdentityIdFormatCommand = async ( +export const deserializeAws_ec2DescribeIpamPoolsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeIdentityIdFormatCommandError(output, context); + return deserializeAws_ec2DescribeIpamPoolsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeIdentityIdFormatResult(data, context); - const response: DescribeIdentityIdFormatCommandOutput = { + contents = deserializeAws_ec2DescribeIpamPoolsResult(data, context); + const response: DescribeIpamPoolsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeIdentityIdFormatCommandError = async ( +const deserializeAws_ec2DescribeIpamPoolsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20301,27 +22419,27 @@ const deserializeAws_ec2DescribeIdentityIdFormatCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeIdFormatCommand = async ( +export const deserializeAws_ec2DescribeIpamsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeIdFormatCommandError(output, context); + return deserializeAws_ec2DescribeIpamsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeIdFormatResult(data, context); - const response: DescribeIdFormatCommandOutput = { + contents = deserializeAws_ec2DescribeIpamsResult(data, context); + const response: DescribeIpamsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeIdFormatCommandError = async ( +const deserializeAws_ec2DescribeIpamsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20347,27 +22465,27 @@ const deserializeAws_ec2DescribeIdFormatCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeImageAttributeCommand = async ( +export const deserializeAws_ec2DescribeIpamScopesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeImageAttributeCommandError(output, context); + return deserializeAws_ec2DescribeIpamScopesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImageAttribute(data, context); - const response: DescribeImageAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeIpamScopesResult(data, context); + const response: DescribeIpamScopesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeImageAttributeCommandError = async ( +const deserializeAws_ec2DescribeIpamScopesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20393,27 +22511,27 @@ const deserializeAws_ec2DescribeImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeImagesCommand = async ( +export const deserializeAws_ec2DescribeIpv6PoolsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeImagesCommandError(output, context); + return deserializeAws_ec2DescribeIpv6PoolsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeImagesResult(data, context); - const response: DescribeImagesCommandOutput = { + contents = deserializeAws_ec2DescribeIpv6PoolsResult(data, context); + const response: DescribeIpv6PoolsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeImagesCommandError = async ( +const deserializeAws_ec2DescribeIpv6PoolsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20439,27 +22557,27 @@ const deserializeAws_ec2DescribeImagesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeImportImageTasksCommand = async ( +export const deserializeAws_ec2DescribeKeyPairsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeImportImageTasksCommandError(output, context); + return deserializeAws_ec2DescribeKeyPairsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeImportImageTasksResult(data, context); - const response: DescribeImportImageTasksCommandOutput = { + contents = deserializeAws_ec2DescribeKeyPairsResult(data, context); + const response: DescribeKeyPairsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeImportImageTasksCommandError = async ( +const deserializeAws_ec2DescribeKeyPairsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20485,27 +22603,27 @@ const deserializeAws_ec2DescribeImportImageTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeImportSnapshotTasksCommand = async ( +export const deserializeAws_ec2DescribeLaunchTemplatesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeImportSnapshotTasksCommandError(output, context); + return deserializeAws_ec2DescribeLaunchTemplatesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeImportSnapshotTasksResult(data, context); - const response: DescribeImportSnapshotTasksCommandOutput = { + contents = deserializeAws_ec2DescribeLaunchTemplatesResult(data, context); + const response: DescribeLaunchTemplatesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeImportSnapshotTasksCommandError = async ( +const deserializeAws_ec2DescribeLaunchTemplatesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20531,27 +22649,27 @@ const deserializeAws_ec2DescribeImportSnapshotTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceAttributeCommand = async ( +export const deserializeAws_ec2DescribeLaunchTemplateVersionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceAttributeCommandError(output, context); + return deserializeAws_ec2DescribeLaunchTemplateVersionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2InstanceAttribute(data, context); - const response: DescribeInstanceAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeLaunchTemplateVersionsResult(data, context); + const response: DescribeLaunchTemplateVersionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceAttributeCommandError = async ( +const deserializeAws_ec2DescribeLaunchTemplateVersionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20577,27 +22695,27 @@ const deserializeAws_ec2DescribeInstanceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceCreditSpecificationsCommand = async ( +export const deserializeAws_ec2DescribeLocalGatewayRouteTablesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceCreditSpecificationsCommandError(output, context); + return deserializeAws_ec2DescribeLocalGatewayRouteTablesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstanceCreditSpecificationsResult(data, context); - const response: DescribeInstanceCreditSpecificationsCommandOutput = { + contents = deserializeAws_ec2DescribeLocalGatewayRouteTablesResult(data, context); + const response: DescribeLocalGatewayRouteTablesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceCreditSpecificationsCommandError = async ( +const deserializeAws_ec2DescribeLocalGatewayRouteTablesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20623,27 +22741,30 @@ const deserializeAws_ec2DescribeInstanceCreditSpecificationsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommand = async ( +export const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommandError(output, context); + return deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandError( + output, + context + ); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstanceEventNotificationAttributesResult(data, context); - const response: DescribeInstanceEventNotificationAttributesCommandOutput = { + contents = deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult(data, context); + const response: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommandError = async ( +const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20669,27 +22790,27 @@ const deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceEventWindowsCommand = async ( +export const deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceEventWindowsCommandError(output, context); + return deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstanceEventWindowsResult(data, context); - const response: DescribeInstanceEventWindowsCommandOutput = { + contents = deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsResult(data, context); + const response: DescribeLocalGatewayRouteTableVpcAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceEventWindowsCommandError = async ( +const deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20715,27 +22836,27 @@ const deserializeAws_ec2DescribeInstanceEventWindowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstancesCommand = async ( +export const deserializeAws_ec2DescribeLocalGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstancesCommandError(output, context); + return deserializeAws_ec2DescribeLocalGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstancesResult(data, context); - const response: DescribeInstancesCommandOutput = { + contents = deserializeAws_ec2DescribeLocalGatewaysResult(data, context); + const response: DescribeLocalGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstancesCommandError = async ( +const deserializeAws_ec2DescribeLocalGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20761,27 +22882,27 @@ const deserializeAws_ec2DescribeInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceStatusCommand = async ( +export const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceStatusCommandError(output, context); + return deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstanceStatusResult(data, context); - const response: DescribeInstanceStatusCommandOutput = { + contents = deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsResult(data, context); + const response: DescribeLocalGatewayVirtualInterfaceGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceStatusCommandError = async ( +const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20807,27 +22928,27 @@ const deserializeAws_ec2DescribeInstanceStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceTypeOfferingsCommand = async ( +export const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceTypeOfferingsCommandError(output, context); + return deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstanceTypeOfferingsResult(data, context); - const response: DescribeInstanceTypeOfferingsCommandOutput = { + contents = deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesResult(data, context); + const response: DescribeLocalGatewayVirtualInterfacesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceTypeOfferingsCommandError = async ( +const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20853,27 +22974,27 @@ const deserializeAws_ec2DescribeInstanceTypeOfferingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInstanceTypesCommand = async ( +export const deserializeAws_ec2DescribeManagedPrefixListsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInstanceTypesCommandError(output, context); + return deserializeAws_ec2DescribeManagedPrefixListsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInstanceTypesResult(data, context); - const response: DescribeInstanceTypesCommandOutput = { + contents = deserializeAws_ec2DescribeManagedPrefixListsResult(data, context); + const response: DescribeManagedPrefixListsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInstanceTypesCommandError = async ( +const deserializeAws_ec2DescribeManagedPrefixListsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20899,27 +23020,27 @@ const deserializeAws_ec2DescribeInstanceTypesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeInternetGatewaysCommand = async ( +export const deserializeAws_ec2DescribeMovingAddressesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeInternetGatewaysCommandError(output, context); + return deserializeAws_ec2DescribeMovingAddressesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeInternetGatewaysResult(data, context); - const response: DescribeInternetGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribeMovingAddressesResult(data, context); + const response: DescribeMovingAddressesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeInternetGatewaysCommandError = async ( +const deserializeAws_ec2DescribeMovingAddressesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20945,27 +23066,27 @@ const deserializeAws_ec2DescribeInternetGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeIpv6PoolsCommand = async ( +export const deserializeAws_ec2DescribeNatGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeIpv6PoolsCommandError(output, context); + return deserializeAws_ec2DescribeNatGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeIpv6PoolsResult(data, context); - const response: DescribeIpv6PoolsCommandOutput = { + contents = deserializeAws_ec2DescribeNatGatewaysResult(data, context); + const response: DescribeNatGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeIpv6PoolsCommandError = async ( +const deserializeAws_ec2DescribeNatGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -20991,27 +23112,27 @@ const deserializeAws_ec2DescribeIpv6PoolsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeKeyPairsCommand = async ( +export const deserializeAws_ec2DescribeNetworkAclsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeKeyPairsCommandError(output, context); + return deserializeAws_ec2DescribeNetworkAclsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeKeyPairsResult(data, context); - const response: DescribeKeyPairsCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkAclsResult(data, context); + const response: DescribeNetworkAclsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeKeyPairsCommandError = async ( +const deserializeAws_ec2DescribeNetworkAclsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21037,27 +23158,27 @@ const deserializeAws_ec2DescribeKeyPairsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLaunchTemplatesCommand = async ( +export const deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLaunchTemplatesCommandError(output, context); + return deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLaunchTemplatesResult(data, context); - const response: DescribeLaunchTemplatesCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesResult(data, context); + const response: DescribeNetworkInsightsAccessScopeAnalysesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLaunchTemplatesCommandError = async ( +const deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21083,27 +23204,27 @@ const deserializeAws_ec2DescribeLaunchTemplatesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLaunchTemplateVersionsCommand = async ( +export const deserializeAws_ec2DescribeNetworkInsightsAccessScopesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLaunchTemplateVersionsCommandError(output, context); + return deserializeAws_ec2DescribeNetworkInsightsAccessScopesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLaunchTemplateVersionsResult(data, context); - const response: DescribeLaunchTemplateVersionsCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInsightsAccessScopesResult(data, context); + const response: DescribeNetworkInsightsAccessScopesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLaunchTemplateVersionsCommandError = async ( +const deserializeAws_ec2DescribeNetworkInsightsAccessScopesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21129,27 +23250,27 @@ const deserializeAws_ec2DescribeLaunchTemplateVersionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLocalGatewayRouteTablesCommand = async ( +export const deserializeAws_ec2DescribeNetworkInsightsAnalysesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLocalGatewayRouteTablesCommandError(output, context); + return deserializeAws_ec2DescribeNetworkInsightsAnalysesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLocalGatewayRouteTablesResult(data, context); - const response: DescribeLocalGatewayRouteTablesCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInsightsAnalysesResult(data, context); + const response: DescribeNetworkInsightsAnalysesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLocalGatewayRouteTablesCommandError = async ( +const deserializeAws_ec2DescribeNetworkInsightsAnalysesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21175,30 +23296,27 @@ const deserializeAws_ec2DescribeLocalGatewayRouteTablesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand = async ( +export const deserializeAws_ec2DescribeNetworkInsightsPathsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandError( - output, - context - ); + return deserializeAws_ec2DescribeNetworkInsightsPathsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult(data, context); - const response: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInsightsPathsResult(data, context); + const response: DescribeNetworkInsightsPathsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandError = async ( +const deserializeAws_ec2DescribeNetworkInsightsPathsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21224,27 +23342,27 @@ const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssoc return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommand = async ( +export const deserializeAws_ec2DescribeNetworkInterfaceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommandError(output, context); + return deserializeAws_ec2DescribeNetworkInterfaceAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsResult(data, context); - const response: DescribeLocalGatewayRouteTableVpcAssociationsCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInterfaceAttributeResult(data, context); + const response: DescribeNetworkInterfaceAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommandError = async ( +const deserializeAws_ec2DescribeNetworkInterfaceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21270,27 +23388,27 @@ const deserializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLocalGatewaysCommand = async ( +export const deserializeAws_ec2DescribeNetworkInterfacePermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLocalGatewaysCommandError(output, context); + return deserializeAws_ec2DescribeNetworkInterfacePermissionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLocalGatewaysResult(data, context); - const response: DescribeLocalGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInterfacePermissionsResult(data, context); + const response: DescribeNetworkInterfacePermissionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLocalGatewaysCommandError = async ( +const deserializeAws_ec2DescribeNetworkInterfacePermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21316,27 +23434,27 @@ const deserializeAws_ec2DescribeLocalGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommand = async ( +export const deserializeAws_ec2DescribeNetworkInterfacesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommandError(output, context); + return deserializeAws_ec2DescribeNetworkInterfacesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsResult(data, context); - const response: DescribeLocalGatewayVirtualInterfaceGroupsCommandOutput = { + contents = deserializeAws_ec2DescribeNetworkInterfacesResult(data, context); + const response: DescribeNetworkInterfacesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommandError = async ( +const deserializeAws_ec2DescribeNetworkInterfacesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21362,27 +23480,27 @@ const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommand = async ( +export const deserializeAws_ec2DescribePlacementGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommandError(output, context); + return deserializeAws_ec2DescribePlacementGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesResult(data, context); - const response: DescribeLocalGatewayVirtualInterfacesCommandOutput = { + contents = deserializeAws_ec2DescribePlacementGroupsResult(data, context); + const response: DescribePlacementGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommandError = async ( +const deserializeAws_ec2DescribePlacementGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21408,27 +23526,27 @@ const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeManagedPrefixListsCommand = async ( +export const deserializeAws_ec2DescribePrefixListsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeManagedPrefixListsCommandError(output, context); + return deserializeAws_ec2DescribePrefixListsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeManagedPrefixListsResult(data, context); - const response: DescribeManagedPrefixListsCommandOutput = { + contents = deserializeAws_ec2DescribePrefixListsResult(data, context); + const response: DescribePrefixListsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeManagedPrefixListsCommandError = async ( +const deserializeAws_ec2DescribePrefixListsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21454,27 +23572,27 @@ const deserializeAws_ec2DescribeManagedPrefixListsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeMovingAddressesCommand = async ( +export const deserializeAws_ec2DescribePrincipalIdFormatCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeMovingAddressesCommandError(output, context); + return deserializeAws_ec2DescribePrincipalIdFormatCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeMovingAddressesResult(data, context); - const response: DescribeMovingAddressesCommandOutput = { + contents = deserializeAws_ec2DescribePrincipalIdFormatResult(data, context); + const response: DescribePrincipalIdFormatCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeMovingAddressesCommandError = async ( +const deserializeAws_ec2DescribePrincipalIdFormatCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21500,27 +23618,27 @@ const deserializeAws_ec2DescribeMovingAddressesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNatGatewaysCommand = async ( +export const deserializeAws_ec2DescribePublicIpv4PoolsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNatGatewaysCommandError(output, context); + return deserializeAws_ec2DescribePublicIpv4PoolsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNatGatewaysResult(data, context); - const response: DescribeNatGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribePublicIpv4PoolsResult(data, context); + const response: DescribePublicIpv4PoolsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNatGatewaysCommandError = async ( +const deserializeAws_ec2DescribePublicIpv4PoolsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21546,27 +23664,27 @@ const deserializeAws_ec2DescribeNatGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNetworkAclsCommand = async ( +export const deserializeAws_ec2DescribeRegionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNetworkAclsCommandError(output, context); + return deserializeAws_ec2DescribeRegionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNetworkAclsResult(data, context); - const response: DescribeNetworkAclsCommandOutput = { + contents = deserializeAws_ec2DescribeRegionsResult(data, context); + const response: DescribeRegionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNetworkAclsCommandError = async ( +const deserializeAws_ec2DescribeRegionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21592,27 +23710,27 @@ const deserializeAws_ec2DescribeNetworkAclsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNetworkInsightsAnalysesCommand = async ( +export const deserializeAws_ec2DescribeReplaceRootVolumeTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNetworkInsightsAnalysesCommandError(output, context); + return deserializeAws_ec2DescribeReplaceRootVolumeTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNetworkInsightsAnalysesResult(data, context); - const response: DescribeNetworkInsightsAnalysesCommandOutput = { + contents = deserializeAws_ec2DescribeReplaceRootVolumeTasksResult(data, context); + const response: DescribeReplaceRootVolumeTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNetworkInsightsAnalysesCommandError = async ( +const deserializeAws_ec2DescribeReplaceRootVolumeTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21638,27 +23756,27 @@ const deserializeAws_ec2DescribeNetworkInsightsAnalysesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNetworkInsightsPathsCommand = async ( +export const deserializeAws_ec2DescribeReservedInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNetworkInsightsPathsCommandError(output, context); + return deserializeAws_ec2DescribeReservedInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNetworkInsightsPathsResult(data, context); - const response: DescribeNetworkInsightsPathsCommandOutput = { + contents = deserializeAws_ec2DescribeReservedInstancesResult(data, context); + const response: DescribeReservedInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNetworkInsightsPathsCommandError = async ( +const deserializeAws_ec2DescribeReservedInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21684,27 +23802,27 @@ const deserializeAws_ec2DescribeNetworkInsightsPathsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNetworkInterfaceAttributeCommand = async ( +export const deserializeAws_ec2DescribeReservedInstancesListingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNetworkInterfaceAttributeCommandError(output, context); + return deserializeAws_ec2DescribeReservedInstancesListingsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNetworkInterfaceAttributeResult(data, context); - const response: DescribeNetworkInterfaceAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeReservedInstancesListingsResult(data, context); + const response: DescribeReservedInstancesListingsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNetworkInterfaceAttributeCommandError = async ( +const deserializeAws_ec2DescribeReservedInstancesListingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21730,27 +23848,27 @@ const deserializeAws_ec2DescribeNetworkInterfaceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNetworkInterfacePermissionsCommand = async ( +export const deserializeAws_ec2DescribeReservedInstancesModificationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNetworkInterfacePermissionsCommandError(output, context); + return deserializeAws_ec2DescribeReservedInstancesModificationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNetworkInterfacePermissionsResult(data, context); - const response: DescribeNetworkInterfacePermissionsCommandOutput = { + contents = deserializeAws_ec2DescribeReservedInstancesModificationsResult(data, context); + const response: DescribeReservedInstancesModificationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNetworkInterfacePermissionsCommandError = async ( +const deserializeAws_ec2DescribeReservedInstancesModificationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21776,27 +23894,27 @@ const deserializeAws_ec2DescribeNetworkInterfacePermissionsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeNetworkInterfacesCommand = async ( +export const deserializeAws_ec2DescribeReservedInstancesOfferingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeNetworkInterfacesCommandError(output, context); + return deserializeAws_ec2DescribeReservedInstancesOfferingsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeNetworkInterfacesResult(data, context); - const response: DescribeNetworkInterfacesCommandOutput = { + contents = deserializeAws_ec2DescribeReservedInstancesOfferingsResult(data, context); + const response: DescribeReservedInstancesOfferingsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeNetworkInterfacesCommandError = async ( +const deserializeAws_ec2DescribeReservedInstancesOfferingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21822,27 +23940,27 @@ const deserializeAws_ec2DescribeNetworkInterfacesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribePlacementGroupsCommand = async ( +export const deserializeAws_ec2DescribeRouteTablesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribePlacementGroupsCommandError(output, context); + return deserializeAws_ec2DescribeRouteTablesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribePlacementGroupsResult(data, context); - const response: DescribePlacementGroupsCommandOutput = { + contents = deserializeAws_ec2DescribeRouteTablesResult(data, context); + const response: DescribeRouteTablesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribePlacementGroupsCommandError = async ( +const deserializeAws_ec2DescribeRouteTablesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21868,27 +23986,27 @@ const deserializeAws_ec2DescribePlacementGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribePrefixListsCommand = async ( +export const deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribePrefixListsCommandError(output, context); + return deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribePrefixListsResult(data, context); - const response: DescribePrefixListsCommandOutput = { + contents = deserializeAws_ec2DescribeScheduledInstanceAvailabilityResult(data, context); + const response: DescribeScheduledInstanceAvailabilityCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribePrefixListsCommandError = async ( +const deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21914,27 +24032,27 @@ const deserializeAws_ec2DescribePrefixListsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribePrincipalIdFormatCommand = async ( +export const deserializeAws_ec2DescribeScheduledInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribePrincipalIdFormatCommandError(output, context); + return deserializeAws_ec2DescribeScheduledInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribePrincipalIdFormatResult(data, context); - const response: DescribePrincipalIdFormatCommandOutput = { + contents = deserializeAws_ec2DescribeScheduledInstancesResult(data, context); + const response: DescribeScheduledInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribePrincipalIdFormatCommandError = async ( +const deserializeAws_ec2DescribeScheduledInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -21960,27 +24078,27 @@ const deserializeAws_ec2DescribePrincipalIdFormatCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribePublicIpv4PoolsCommand = async ( +export const deserializeAws_ec2DescribeSecurityGroupReferencesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribePublicIpv4PoolsCommandError(output, context); + return deserializeAws_ec2DescribeSecurityGroupReferencesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribePublicIpv4PoolsResult(data, context); - const response: DescribePublicIpv4PoolsCommandOutput = { + contents = deserializeAws_ec2DescribeSecurityGroupReferencesResult(data, context); + const response: DescribeSecurityGroupReferencesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribePublicIpv4PoolsCommandError = async ( +const deserializeAws_ec2DescribeSecurityGroupReferencesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22006,27 +24124,27 @@ const deserializeAws_ec2DescribePublicIpv4PoolsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeRegionsCommand = async ( +export const deserializeAws_ec2DescribeSecurityGroupRulesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeRegionsCommandError(output, context); + return deserializeAws_ec2DescribeSecurityGroupRulesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeRegionsResult(data, context); - const response: DescribeRegionsCommandOutput = { + contents = deserializeAws_ec2DescribeSecurityGroupRulesResult(data, context); + const response: DescribeSecurityGroupRulesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeRegionsCommandError = async ( +const deserializeAws_ec2DescribeSecurityGroupRulesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22052,27 +24170,27 @@ const deserializeAws_ec2DescribeRegionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeReplaceRootVolumeTasksCommand = async ( +export const deserializeAws_ec2DescribeSecurityGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeReplaceRootVolumeTasksCommandError(output, context); + return deserializeAws_ec2DescribeSecurityGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeReplaceRootVolumeTasksResult(data, context); - const response: DescribeReplaceRootVolumeTasksCommandOutput = { + contents = deserializeAws_ec2DescribeSecurityGroupsResult(data, context); + const response: DescribeSecurityGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeReplaceRootVolumeTasksCommandError = async ( +const deserializeAws_ec2DescribeSecurityGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22098,27 +24216,27 @@ const deserializeAws_ec2DescribeReplaceRootVolumeTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeReservedInstancesCommand = async ( +export const deserializeAws_ec2DescribeSnapshotAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeReservedInstancesCommandError(output, context); + return deserializeAws_ec2DescribeSnapshotAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeReservedInstancesResult(data, context); - const response: DescribeReservedInstancesCommandOutput = { + contents = deserializeAws_ec2DescribeSnapshotAttributeResult(data, context); + const response: DescribeSnapshotAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeReservedInstancesCommandError = async ( +const deserializeAws_ec2DescribeSnapshotAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22144,27 +24262,27 @@ const deserializeAws_ec2DescribeReservedInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeReservedInstancesListingsCommand = async ( +export const deserializeAws_ec2DescribeSnapshotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeReservedInstancesListingsCommandError(output, context); + return deserializeAws_ec2DescribeSnapshotsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeReservedInstancesListingsResult(data, context); - const response: DescribeReservedInstancesListingsCommandOutput = { + contents = deserializeAws_ec2DescribeSnapshotsResult(data, context); + const response: DescribeSnapshotsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeReservedInstancesListingsCommandError = async ( +const deserializeAws_ec2DescribeSnapshotsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22190,27 +24308,27 @@ const deserializeAws_ec2DescribeReservedInstancesListingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeReservedInstancesModificationsCommand = async ( +export const deserializeAws_ec2DescribeSnapshotTierStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeReservedInstancesModificationsCommandError(output, context); + return deserializeAws_ec2DescribeSnapshotTierStatusCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeReservedInstancesModificationsResult(data, context); - const response: DescribeReservedInstancesModificationsCommandOutput = { + contents = deserializeAws_ec2DescribeSnapshotTierStatusResult(data, context); + const response: DescribeSnapshotTierStatusCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeReservedInstancesModificationsCommandError = async ( +const deserializeAws_ec2DescribeSnapshotTierStatusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22236,27 +24354,27 @@ const deserializeAws_ec2DescribeReservedInstancesModificationsCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeReservedInstancesOfferingsCommand = async ( +export const deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeReservedInstancesOfferingsCommandError(output, context); + return deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeReservedInstancesOfferingsResult(data, context); - const response: DescribeReservedInstancesOfferingsCommandOutput = { + contents = deserializeAws_ec2DescribeSpotDatafeedSubscriptionResult(data, context); + const response: DescribeSpotDatafeedSubscriptionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeReservedInstancesOfferingsCommandError = async ( +const deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22282,27 +24400,27 @@ const deserializeAws_ec2DescribeReservedInstancesOfferingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeRouteTablesCommand = async ( +export const deserializeAws_ec2DescribeSpotFleetInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeRouteTablesCommandError(output, context); + return deserializeAws_ec2DescribeSpotFleetInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeRouteTablesResult(data, context); - const response: DescribeRouteTablesCommandOutput = { + contents = deserializeAws_ec2DescribeSpotFleetInstancesResponse(data, context); + const response: DescribeSpotFleetInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeRouteTablesCommandError = async ( +const deserializeAws_ec2DescribeSpotFleetInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22328,27 +24446,27 @@ const deserializeAws_ec2DescribeRouteTablesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommand = async ( +export const deserializeAws_ec2DescribeSpotFleetRequestHistoryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommandError(output, context); + return deserializeAws_ec2DescribeSpotFleetRequestHistoryCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeScheduledInstanceAvailabilityResult(data, context); - const response: DescribeScheduledInstanceAvailabilityCommandOutput = { + contents = deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse(data, context); + const response: DescribeSpotFleetRequestHistoryCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommandError = async ( +const deserializeAws_ec2DescribeSpotFleetRequestHistoryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22374,27 +24492,27 @@ const deserializeAws_ec2DescribeScheduledInstanceAvailabilityCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeScheduledInstancesCommand = async ( +export const deserializeAws_ec2DescribeSpotFleetRequestsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeScheduledInstancesCommandError(output, context); + return deserializeAws_ec2DescribeSpotFleetRequestsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeScheduledInstancesResult(data, context); - const response: DescribeScheduledInstancesCommandOutput = { + contents = deserializeAws_ec2DescribeSpotFleetRequestsResponse(data, context); + const response: DescribeSpotFleetRequestsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeScheduledInstancesCommandError = async ( +const deserializeAws_ec2DescribeSpotFleetRequestsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22420,27 +24538,27 @@ const deserializeAws_ec2DescribeScheduledInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSecurityGroupReferencesCommand = async ( +export const deserializeAws_ec2DescribeSpotInstanceRequestsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSecurityGroupReferencesCommandError(output, context); + return deserializeAws_ec2DescribeSpotInstanceRequestsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSecurityGroupReferencesResult(data, context); - const response: DescribeSecurityGroupReferencesCommandOutput = { + contents = deserializeAws_ec2DescribeSpotInstanceRequestsResult(data, context); + const response: DescribeSpotInstanceRequestsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSecurityGroupReferencesCommandError = async ( +const deserializeAws_ec2DescribeSpotInstanceRequestsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22466,27 +24584,27 @@ const deserializeAws_ec2DescribeSecurityGroupReferencesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSecurityGroupRulesCommand = async ( +export const deserializeAws_ec2DescribeSpotPriceHistoryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSecurityGroupRulesCommandError(output, context); + return deserializeAws_ec2DescribeSpotPriceHistoryCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSecurityGroupRulesResult(data, context); - const response: DescribeSecurityGroupRulesCommandOutput = { + contents = deserializeAws_ec2DescribeSpotPriceHistoryResult(data, context); + const response: DescribeSpotPriceHistoryCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSecurityGroupRulesCommandError = async ( +const deserializeAws_ec2DescribeSpotPriceHistoryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22512,27 +24630,27 @@ const deserializeAws_ec2DescribeSecurityGroupRulesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSecurityGroupsCommand = async ( +export const deserializeAws_ec2DescribeStaleSecurityGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSecurityGroupsCommandError(output, context); + return deserializeAws_ec2DescribeStaleSecurityGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSecurityGroupsResult(data, context); - const response: DescribeSecurityGroupsCommandOutput = { + contents = deserializeAws_ec2DescribeStaleSecurityGroupsResult(data, context); + const response: DescribeStaleSecurityGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSecurityGroupsCommandError = async ( +const deserializeAws_ec2DescribeStaleSecurityGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22558,27 +24676,27 @@ const deserializeAws_ec2DescribeSecurityGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSnapshotAttributeCommand = async ( +export const deserializeAws_ec2DescribeStoreImageTasksCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSnapshotAttributeCommandError(output, context); + return deserializeAws_ec2DescribeStoreImageTasksCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSnapshotAttributeResult(data, context); - const response: DescribeSnapshotAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeStoreImageTasksResult(data, context); + const response: DescribeStoreImageTasksCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSnapshotAttributeCommandError = async ( +const deserializeAws_ec2DescribeStoreImageTasksCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22604,27 +24722,27 @@ const deserializeAws_ec2DescribeSnapshotAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSnapshotsCommand = async ( +export const deserializeAws_ec2DescribeSubnetsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSnapshotsCommandError(output, context); + return deserializeAws_ec2DescribeSubnetsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSnapshotsResult(data, context); - const response: DescribeSnapshotsCommandOutput = { + contents = deserializeAws_ec2DescribeSubnetsResult(data, context); + const response: DescribeSubnetsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSnapshotsCommandError = async ( +const deserializeAws_ec2DescribeSubnetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22650,27 +24768,27 @@ const deserializeAws_ec2DescribeSnapshotsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSnapshotTierStatusCommand = async ( +export const deserializeAws_ec2DescribeTagsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSnapshotTierStatusCommandError(output, context); + return deserializeAws_ec2DescribeTagsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSnapshotTierStatusResult(data, context); - const response: DescribeSnapshotTierStatusCommandOutput = { + contents = deserializeAws_ec2DescribeTagsResult(data, context); + const response: DescribeTagsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSnapshotTierStatusCommandError = async ( +const deserializeAws_ec2DescribeTagsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22696,27 +24814,27 @@ const deserializeAws_ec2DescribeSnapshotTierStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommand = async ( +export const deserializeAws_ec2DescribeTrafficMirrorFiltersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommandError(output, context); + return deserializeAws_ec2DescribeTrafficMirrorFiltersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSpotDatafeedSubscriptionResult(data, context); - const response: DescribeSpotDatafeedSubscriptionCommandOutput = { + contents = deserializeAws_ec2DescribeTrafficMirrorFiltersResult(data, context); + const response: DescribeTrafficMirrorFiltersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommandError = async ( +const deserializeAws_ec2DescribeTrafficMirrorFiltersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22742,27 +24860,27 @@ const deserializeAws_ec2DescribeSpotDatafeedSubscriptionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSpotFleetInstancesCommand = async ( +export const deserializeAws_ec2DescribeTrafficMirrorSessionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSpotFleetInstancesCommandError(output, context); + return deserializeAws_ec2DescribeTrafficMirrorSessionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSpotFleetInstancesResponse(data, context); - const response: DescribeSpotFleetInstancesCommandOutput = { + contents = deserializeAws_ec2DescribeTrafficMirrorSessionsResult(data, context); + const response: DescribeTrafficMirrorSessionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSpotFleetInstancesCommandError = async ( +const deserializeAws_ec2DescribeTrafficMirrorSessionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22788,27 +24906,27 @@ const deserializeAws_ec2DescribeSpotFleetInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSpotFleetRequestHistoryCommand = async ( +export const deserializeAws_ec2DescribeTrafficMirrorTargetsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSpotFleetRequestHistoryCommandError(output, context); + return deserializeAws_ec2DescribeTrafficMirrorTargetsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse(data, context); - const response: DescribeSpotFleetRequestHistoryCommandOutput = { + contents = deserializeAws_ec2DescribeTrafficMirrorTargetsResult(data, context); + const response: DescribeTrafficMirrorTargetsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSpotFleetRequestHistoryCommandError = async ( +const deserializeAws_ec2DescribeTrafficMirrorTargetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22834,27 +24952,27 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSpotFleetRequestsCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayAttachmentsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSpotFleetRequestsCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayAttachmentsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSpotFleetRequestsResponse(data, context); - const response: DescribeSpotFleetRequestsCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayAttachmentsResult(data, context); + const response: DescribeTransitGatewayAttachmentsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSpotFleetRequestsCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayAttachmentsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22880,27 +24998,27 @@ const deserializeAws_ec2DescribeSpotFleetRequestsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSpotInstanceRequestsCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayConnectPeersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSpotInstanceRequestsCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayConnectPeersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSpotInstanceRequestsResult(data, context); - const response: DescribeSpotInstanceRequestsCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayConnectPeersResult(data, context); + const response: DescribeTransitGatewayConnectPeersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSpotInstanceRequestsCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayConnectPeersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22926,27 +25044,27 @@ const deserializeAws_ec2DescribeSpotInstanceRequestsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSpotPriceHistoryCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayConnectsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSpotPriceHistoryCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayConnectsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSpotPriceHistoryResult(data, context); - const response: DescribeSpotPriceHistoryCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayConnectsResult(data, context); + const response: DescribeTransitGatewayConnectsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSpotPriceHistoryCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayConnectsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -22972,27 +25090,27 @@ const deserializeAws_ec2DescribeSpotPriceHistoryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeStaleSecurityGroupsCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeStaleSecurityGroupsCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeStaleSecurityGroupsResult(data, context); - const response: DescribeStaleSecurityGroupsCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayMulticastDomainsResult(data, context); + const response: DescribeTransitGatewayMulticastDomainsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeStaleSecurityGroupsCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23018,27 +25136,27 @@ const deserializeAws_ec2DescribeStaleSecurityGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeStoreImageTasksCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeStoreImageTasksCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeStoreImageTasksResult(data, context); - const response: DescribeStoreImageTasksCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsResult(data, context); + const response: DescribeTransitGatewayPeeringAttachmentsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeStoreImageTasksCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23064,27 +25182,27 @@ const deserializeAws_ec2DescribeStoreImageTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeSubnetsCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayRouteTablesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeSubnetsCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayRouteTablesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeSubnetsResult(data, context); - const response: DescribeSubnetsCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayRouteTablesResult(data, context); + const response: DescribeTransitGatewayRouteTablesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeSubnetsCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayRouteTablesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23110,27 +25228,27 @@ const deserializeAws_ec2DescribeSubnetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTagsCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTagsCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTagsResult(data, context); - const response: DescribeTagsCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewaysResult(data, context); + const response: DescribeTransitGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTagsCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23156,27 +25274,27 @@ const deserializeAws_ec2DescribeTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTrafficMirrorFiltersCommand = async ( +export const deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTrafficMirrorFiltersCommandError(output, context); + return deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTrafficMirrorFiltersResult(data, context); - const response: DescribeTrafficMirrorFiltersCommandOutput = { + contents = deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsResult(data, context); + const response: DescribeTransitGatewayVpcAttachmentsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTrafficMirrorFiltersCommandError = async ( +const deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23202,27 +25320,27 @@ const deserializeAws_ec2DescribeTrafficMirrorFiltersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTrafficMirrorSessionsCommand = async ( +export const deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTrafficMirrorSessionsCommandError(output, context); + return deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTrafficMirrorSessionsResult(data, context); - const response: DescribeTrafficMirrorSessionsCommandOutput = { + contents = deserializeAws_ec2DescribeTrunkInterfaceAssociationsResult(data, context); + const response: DescribeTrunkInterfaceAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTrafficMirrorSessionsCommandError = async ( +const deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23248,27 +25366,27 @@ const deserializeAws_ec2DescribeTrafficMirrorSessionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTrafficMirrorTargetsCommand = async ( +export const deserializeAws_ec2DescribeVolumeAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTrafficMirrorTargetsCommandError(output, context); + return deserializeAws_ec2DescribeVolumeAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTrafficMirrorTargetsResult(data, context); - const response: DescribeTrafficMirrorTargetsCommandOutput = { + contents = deserializeAws_ec2DescribeVolumeAttributeResult(data, context); + const response: DescribeVolumeAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTrafficMirrorTargetsCommandError = async ( +const deserializeAws_ec2DescribeVolumeAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23294,27 +25412,27 @@ const deserializeAws_ec2DescribeTrafficMirrorTargetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayAttachmentsCommand = async ( +export const deserializeAws_ec2DescribeVolumesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayAttachmentsCommandError(output, context); + return deserializeAws_ec2DescribeVolumesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayAttachmentsResult(data, context); - const response: DescribeTransitGatewayAttachmentsCommandOutput = { + contents = deserializeAws_ec2DescribeVolumesResult(data, context); + const response: DescribeVolumesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayAttachmentsCommandError = async ( +const deserializeAws_ec2DescribeVolumesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23340,27 +25458,27 @@ const deserializeAws_ec2DescribeTransitGatewayAttachmentsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayConnectPeersCommand = async ( +export const deserializeAws_ec2DescribeVolumesModificationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayConnectPeersCommandError(output, context); + return deserializeAws_ec2DescribeVolumesModificationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayConnectPeersResult(data, context); - const response: DescribeTransitGatewayConnectPeersCommandOutput = { + contents = deserializeAws_ec2DescribeVolumesModificationsResult(data, context); + const response: DescribeVolumesModificationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayConnectPeersCommandError = async ( +const deserializeAws_ec2DescribeVolumesModificationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23386,27 +25504,27 @@ const deserializeAws_ec2DescribeTransitGatewayConnectPeersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayConnectsCommand = async ( +export const deserializeAws_ec2DescribeVolumeStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayConnectsCommandError(output, context); + return deserializeAws_ec2DescribeVolumeStatusCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayConnectsResult(data, context); - const response: DescribeTransitGatewayConnectsCommandOutput = { + contents = deserializeAws_ec2DescribeVolumeStatusResult(data, context); + const response: DescribeVolumeStatusCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayConnectsCommandError = async ( +const deserializeAws_ec2DescribeVolumeStatusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23432,27 +25550,27 @@ const deserializeAws_ec2DescribeTransitGatewayConnectsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommand = async ( +export const deserializeAws_ec2DescribeVpcAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommandError(output, context); + return deserializeAws_ec2DescribeVpcAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayMulticastDomainsResult(data, context); - const response: DescribeTransitGatewayMulticastDomainsCommandOutput = { + contents = deserializeAws_ec2DescribeVpcAttributeResult(data, context); + const response: DescribeVpcAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommandError = async ( +const deserializeAws_ec2DescribeVpcAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23478,27 +25596,27 @@ const deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommand = async ( +export const deserializeAws_ec2DescribeVpcClassicLinkCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommandError(output, context); + return deserializeAws_ec2DescribeVpcClassicLinkCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsResult(data, context); - const response: DescribeTransitGatewayPeeringAttachmentsCommandOutput = { + contents = deserializeAws_ec2DescribeVpcClassicLinkResult(data, context); + const response: DescribeVpcClassicLinkCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommandError = async ( +const deserializeAws_ec2DescribeVpcClassicLinkCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23524,27 +25642,27 @@ const deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayRouteTablesCommand = async ( +export const deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayRouteTablesCommandError(output, context); + return deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayRouteTablesResult(data, context); - const response: DescribeTransitGatewayRouteTablesCommandOutput = { + contents = deserializeAws_ec2DescribeVpcClassicLinkDnsSupportResult(data, context); + const response: DescribeVpcClassicLinkDnsSupportCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayRouteTablesCommandError = async ( +const deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23570,27 +25688,27 @@ const deserializeAws_ec2DescribeTransitGatewayRouteTablesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewaysCommand = async ( +export const deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewaysCommandError(output, context); + return deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewaysResult(data, context); - const response: DescribeTransitGatewaysCommandOutput = { + contents = deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsResult(data, context); + const response: DescribeVpcEndpointConnectionNotificationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewaysCommandError = async ( +const deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23616,27 +25734,27 @@ const deserializeAws_ec2DescribeTransitGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommand = async ( +export const deserializeAws_ec2DescribeVpcEndpointConnectionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommandError(output, context); + return deserializeAws_ec2DescribeVpcEndpointConnectionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsResult(data, context); - const response: DescribeTransitGatewayVpcAttachmentsCommandOutput = { + contents = deserializeAws_ec2DescribeVpcEndpointConnectionsResult(data, context); + const response: DescribeVpcEndpointConnectionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommandError = async ( +const deserializeAws_ec2DescribeVpcEndpointConnectionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23662,27 +25780,27 @@ const deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommand = async ( +export const deserializeAws_ec2DescribeVpcEndpointsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommandError(output, context); + return deserializeAws_ec2DescribeVpcEndpointsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeTrunkInterfaceAssociationsResult(data, context); - const response: DescribeTrunkInterfaceAssociationsCommandOutput = { + contents = deserializeAws_ec2DescribeVpcEndpointsResult(data, context); + const response: DescribeVpcEndpointsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommandError = async ( +const deserializeAws_ec2DescribeVpcEndpointsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23708,27 +25826,27 @@ const deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVolumeAttributeCommand = async ( +export const deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVolumeAttributeCommandError(output, context); + return deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVolumeAttributeResult(data, context); - const response: DescribeVolumeAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsResult(data, context); + const response: DescribeVpcEndpointServiceConfigurationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVolumeAttributeCommandError = async ( +const deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23754,27 +25872,27 @@ const deserializeAws_ec2DescribeVolumeAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVolumesCommand = async ( +export const deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVolumesCommandError(output, context); + return deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVolumesResult(data, context); - const response: DescribeVolumesCommandOutput = { + contents = deserializeAws_ec2DescribeVpcEndpointServicePermissionsResult(data, context); + const response: DescribeVpcEndpointServicePermissionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVolumesCommandError = async ( +const deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23800,27 +25918,27 @@ const deserializeAws_ec2DescribeVolumesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVolumesModificationsCommand = async ( +export const deserializeAws_ec2DescribeVpcEndpointServicesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVolumesModificationsCommandError(output, context); + return deserializeAws_ec2DescribeVpcEndpointServicesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVolumesModificationsResult(data, context); - const response: DescribeVolumesModificationsCommandOutput = { + contents = deserializeAws_ec2DescribeVpcEndpointServicesResult(data, context); + const response: DescribeVpcEndpointServicesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVolumesModificationsCommandError = async ( +const deserializeAws_ec2DescribeVpcEndpointServicesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23846,27 +25964,27 @@ const deserializeAws_ec2DescribeVolumesModificationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVolumeStatusCommand = async ( +export const deserializeAws_ec2DescribeVpcPeeringConnectionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVolumeStatusCommandError(output, context); + return deserializeAws_ec2DescribeVpcPeeringConnectionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVolumeStatusResult(data, context); - const response: DescribeVolumeStatusCommandOutput = { + contents = deserializeAws_ec2DescribeVpcPeeringConnectionsResult(data, context); + const response: DescribeVpcPeeringConnectionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVolumeStatusCommandError = async ( +const deserializeAws_ec2DescribeVpcPeeringConnectionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23892,27 +26010,27 @@ const deserializeAws_ec2DescribeVolumeStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcAttributeCommand = async ( +export const deserializeAws_ec2DescribeVpcsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcAttributeCommandError(output, context); + return deserializeAws_ec2DescribeVpcsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcAttributeResult(data, context); - const response: DescribeVpcAttributeCommandOutput = { + contents = deserializeAws_ec2DescribeVpcsResult(data, context); + const response: DescribeVpcsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcAttributeCommandError = async ( +const deserializeAws_ec2DescribeVpcsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23938,27 +26056,27 @@ const deserializeAws_ec2DescribeVpcAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcClassicLinkCommand = async ( +export const deserializeAws_ec2DescribeVpnConnectionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcClassicLinkCommandError(output, context); + return deserializeAws_ec2DescribeVpnConnectionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcClassicLinkResult(data, context); - const response: DescribeVpcClassicLinkCommandOutput = { + contents = deserializeAws_ec2DescribeVpnConnectionsResult(data, context); + const response: DescribeVpnConnectionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcClassicLinkCommandError = async ( +const deserializeAws_ec2DescribeVpnConnectionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -23984,27 +26102,27 @@ const deserializeAws_ec2DescribeVpcClassicLinkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommand = async ( +export const deserializeAws_ec2DescribeVpnGatewaysCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommandError(output, context); + return deserializeAws_ec2DescribeVpnGatewaysCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcClassicLinkDnsSupportResult(data, context); - const response: DescribeVpcClassicLinkDnsSupportCommandOutput = { + contents = deserializeAws_ec2DescribeVpnGatewaysResult(data, context); + const response: DescribeVpnGatewaysCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommandError = async ( +const deserializeAws_ec2DescribeVpnGatewaysCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24030,27 +26148,27 @@ const deserializeAws_ec2DescribeVpcClassicLinkDnsSupportCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommand = async ( +export const deserializeAws_ec2DetachClassicLinkVpcCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommandError(output, context); + return deserializeAws_ec2DetachClassicLinkVpcCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsResult(data, context); - const response: DescribeVpcEndpointConnectionNotificationsCommandOutput = { + contents = deserializeAws_ec2DetachClassicLinkVpcResult(data, context); + const response: DetachClassicLinkVpcCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommandError = async ( +const deserializeAws_ec2DetachClassicLinkVpcCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24076,27 +26194,24 @@ const deserializeAws_ec2DescribeVpcEndpointConnectionNotificationsCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcEndpointConnectionsCommand = async ( +export const deserializeAws_ec2DetachInternetGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcEndpointConnectionsCommandError(output, context); + return deserializeAws_ec2DetachInternetGatewayCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcEndpointConnectionsResult(data, context); - const response: DescribeVpcEndpointConnectionsCommandOutput = { + await collectBody(output.body, context); + const response: DetachInternetGatewayCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcEndpointConnectionsCommandError = async ( +const deserializeAws_ec2DetachInternetGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24122,27 +26237,24 @@ const deserializeAws_ec2DescribeVpcEndpointConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcEndpointsCommand = async ( +export const deserializeAws_ec2DetachNetworkInterfaceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcEndpointsCommandError(output, context); + return deserializeAws_ec2DetachNetworkInterfaceCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcEndpointsResult(data, context); - const response: DescribeVpcEndpointsCommandOutput = { + await collectBody(output.body, context); + const response: DetachNetworkInterfaceCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcEndpointsCommandError = async ( +const deserializeAws_ec2DetachNetworkInterfaceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24168,27 +26280,27 @@ const deserializeAws_ec2DescribeVpcEndpointsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommand = async ( +export const deserializeAws_ec2DetachVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommandError(output, context); + return deserializeAws_ec2DetachVolumeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsResult(data, context); - const response: DescribeVpcEndpointServiceConfigurationsCommandOutput = { + contents = deserializeAws_ec2VolumeAttachment(data, context); + const response: DetachVolumeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommandError = async ( +const deserializeAws_ec2DetachVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24214,27 +26326,24 @@ const deserializeAws_ec2DescribeVpcEndpointServiceConfigurationsCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommand = async ( +export const deserializeAws_ec2DetachVpnGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommandError(output, context); + return deserializeAws_ec2DetachVpnGatewayCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcEndpointServicePermissionsResult(data, context); - const response: DescribeVpcEndpointServicePermissionsCommandOutput = { + await collectBody(output.body, context); + const response: DetachVpnGatewayCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommandError = async ( +const deserializeAws_ec2DetachVpnGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24260,27 +26369,27 @@ const deserializeAws_ec2DescribeVpcEndpointServicePermissionsCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcEndpointServicesCommand = async ( +export const deserializeAws_ec2DisableEbsEncryptionByDefaultCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcEndpointServicesCommandError(output, context); + return deserializeAws_ec2DisableEbsEncryptionByDefaultCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcEndpointServicesResult(data, context); - const response: DescribeVpcEndpointServicesCommandOutput = { + contents = deserializeAws_ec2DisableEbsEncryptionByDefaultResult(data, context); + const response: DisableEbsEncryptionByDefaultCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcEndpointServicesCommandError = async ( +const deserializeAws_ec2DisableEbsEncryptionByDefaultCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24306,27 +26415,27 @@ const deserializeAws_ec2DescribeVpcEndpointServicesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcPeeringConnectionsCommand = async ( +export const deserializeAws_ec2DisableFastSnapshotRestoresCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcPeeringConnectionsCommandError(output, context); + return deserializeAws_ec2DisableFastSnapshotRestoresCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcPeeringConnectionsResult(data, context); - const response: DescribeVpcPeeringConnectionsCommandOutput = { + contents = deserializeAws_ec2DisableFastSnapshotRestoresResult(data, context); + const response: DisableFastSnapshotRestoresCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcPeeringConnectionsCommandError = async ( +const deserializeAws_ec2DisableFastSnapshotRestoresCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24352,27 +26461,27 @@ const deserializeAws_ec2DescribeVpcPeeringConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpcsCommand = async ( +export const deserializeAws_ec2DisableImageDeprecationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpcsCommandError(output, context); + return deserializeAws_ec2DisableImageDeprecationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpcsResult(data, context); - const response: DescribeVpcsCommandOutput = { + contents = deserializeAws_ec2DisableImageDeprecationResult(data, context); + const response: DisableImageDeprecationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpcsCommandError = async ( +const deserializeAws_ec2DisableImageDeprecationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24398,27 +26507,27 @@ const deserializeAws_ec2DescribeVpcsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpnConnectionsCommand = async ( +export const deserializeAws_ec2DisableIpamOrganizationAdminAccountCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpnConnectionsCommandError(output, context); + return deserializeAws_ec2DisableIpamOrganizationAdminAccountCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpnConnectionsResult(data, context); - const response: DescribeVpnConnectionsCommandOutput = { + contents = deserializeAws_ec2DisableIpamOrganizationAdminAccountResult(data, context); + const response: DisableIpamOrganizationAdminAccountCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpnConnectionsCommandError = async ( +const deserializeAws_ec2DisableIpamOrganizationAdminAccountCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24444,27 +26553,27 @@ const deserializeAws_ec2DescribeVpnConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DescribeVpnGatewaysCommand = async ( +export const deserializeAws_ec2DisableSerialConsoleAccessCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DescribeVpnGatewaysCommandError(output, context); + return deserializeAws_ec2DisableSerialConsoleAccessCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DescribeVpnGatewaysResult(data, context); - const response: DescribeVpnGatewaysCommandOutput = { + contents = deserializeAws_ec2DisableSerialConsoleAccessResult(data, context); + const response: DisableSerialConsoleAccessCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DescribeVpnGatewaysCommandError = async ( +const deserializeAws_ec2DisableSerialConsoleAccessCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24490,27 +26599,27 @@ const deserializeAws_ec2DescribeVpnGatewaysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DetachClassicLinkVpcCommand = async ( +export const deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DetachClassicLinkVpcCommandError(output, context); + return deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DetachClassicLinkVpcResult(data, context); - const response: DetachClassicLinkVpcCommandOutput = { + contents = deserializeAws_ec2DisableTransitGatewayRouteTablePropagationResult(data, context); + const response: DisableTransitGatewayRouteTablePropagationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DetachClassicLinkVpcCommandError = async ( +const deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24536,24 +26645,24 @@ const deserializeAws_ec2DetachClassicLinkVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DetachInternetGatewayCommand = async ( +export const deserializeAws_ec2DisableVgwRoutePropagationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DetachInternetGatewayCommandError(output, context); + return deserializeAws_ec2DisableVgwRoutePropagationCommandError(output, context); } await collectBody(output.body, context); - const response: DetachInternetGatewayCommandOutput = { + const response: DisableVgwRoutePropagationCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DetachInternetGatewayCommandError = async ( +const deserializeAws_ec2DisableVgwRoutePropagationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24579,24 +26688,27 @@ const deserializeAws_ec2DetachInternetGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DetachNetworkInterfaceCommand = async ( +export const deserializeAws_ec2DisableVpcClassicLinkCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DetachNetworkInterfaceCommandError(output, context); + return deserializeAws_ec2DisableVpcClassicLinkCommandError(output, context); } - await collectBody(output.body, context); - const response: DetachNetworkInterfaceCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DisableVpcClassicLinkResult(data, context); + const response: DisableVpcClassicLinkCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DetachNetworkInterfaceCommandError = async ( +const deserializeAws_ec2DisableVpcClassicLinkCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24622,27 +26734,27 @@ const deserializeAws_ec2DetachNetworkInterfaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DetachVolumeCommand = async ( +export const deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DetachVolumeCommandError(output, context); + return deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2VolumeAttachment(data, context); - const response: DetachVolumeCommandOutput = { + contents = deserializeAws_ec2DisableVpcClassicLinkDnsSupportResult(data, context); + const response: DisableVpcClassicLinkDnsSupportCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DetachVolumeCommandError = async ( +const deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24668,70 +26780,24 @@ const deserializeAws_ec2DetachVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DetachVpnGatewayCommand = async ( +export const deserializeAws_ec2DisassociateAddressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DetachVpnGatewayCommandError(output, context); + return deserializeAws_ec2DisassociateAddressCommandError(output, context); } await collectBody(output.body, context); - const response: DetachVpnGatewayCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2DetachVpnGatewayCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2DisableEbsEncryptionByDefaultCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2DisableEbsEncryptionByDefaultCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DisableEbsEncryptionByDefaultResult(data, context); - const response: DisableEbsEncryptionByDefaultCommandOutput = { + const response: DisassociateAddressCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableEbsEncryptionByDefaultCommandError = async ( +const deserializeAws_ec2DisassociateAddressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24757,27 +26823,27 @@ const deserializeAws_ec2DisableEbsEncryptionByDefaultCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableFastSnapshotRestoresCommand = async ( +export const deserializeAws_ec2DisassociateClientVpnTargetNetworkCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableFastSnapshotRestoresCommandError(output, context); + return deserializeAws_ec2DisassociateClientVpnTargetNetworkCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisableFastSnapshotRestoresResult(data, context); - const response: DisableFastSnapshotRestoresCommandOutput = { + contents = deserializeAws_ec2DisassociateClientVpnTargetNetworkResult(data, context); + const response: DisassociateClientVpnTargetNetworkCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableFastSnapshotRestoresCommandError = async ( +const deserializeAws_ec2DisassociateClientVpnTargetNetworkCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24803,27 +26869,27 @@ const deserializeAws_ec2DisableFastSnapshotRestoresCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableImageDeprecationCommand = async ( +export const deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableImageDeprecationCommandError(output, context); + return deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisableImageDeprecationResult(data, context); - const response: DisableImageDeprecationCommandOutput = { + contents = deserializeAws_ec2DisassociateEnclaveCertificateIamRoleResult(data, context); + const response: DisassociateEnclaveCertificateIamRoleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableImageDeprecationCommandError = async ( +const deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24849,27 +26915,27 @@ const deserializeAws_ec2DisableImageDeprecationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableSerialConsoleAccessCommand = async ( +export const deserializeAws_ec2DisassociateIamInstanceProfileCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableSerialConsoleAccessCommandError(output, context); + return deserializeAws_ec2DisassociateIamInstanceProfileCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisableSerialConsoleAccessResult(data, context); - const response: DisableSerialConsoleAccessCommandOutput = { + contents = deserializeAws_ec2DisassociateIamInstanceProfileResult(data, context); + const response: DisassociateIamInstanceProfileCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableSerialConsoleAccessCommandError = async ( +const deserializeAws_ec2DisassociateIamInstanceProfileCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24895,27 +26961,27 @@ const deserializeAws_ec2DisableSerialConsoleAccessCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommand = async ( +export const deserializeAws_ec2DisassociateInstanceEventWindowCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommandError(output, context); + return deserializeAws_ec2DisassociateInstanceEventWindowCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisableTransitGatewayRouteTablePropagationResult(data, context); - const response: DisableTransitGatewayRouteTablePropagationCommandOutput = { + contents = deserializeAws_ec2DisassociateInstanceEventWindowResult(data, context); + const response: DisassociateInstanceEventWindowCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommandError = async ( +const deserializeAws_ec2DisassociateInstanceEventWindowCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24941,24 +27007,24 @@ const deserializeAws_ec2DisableTransitGatewayRouteTablePropagationCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableVgwRoutePropagationCommand = async ( +export const deserializeAws_ec2DisassociateRouteTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableVgwRoutePropagationCommandError(output, context); + return deserializeAws_ec2DisassociateRouteTableCommandError(output, context); } await collectBody(output.body, context); - const response: DisableVgwRoutePropagationCommandOutput = { + const response: DisassociateRouteTableCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableVgwRoutePropagationCommandError = async ( +const deserializeAws_ec2DisassociateRouteTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24984,27 +27050,27 @@ const deserializeAws_ec2DisableVgwRoutePropagationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableVpcClassicLinkCommand = async ( +export const deserializeAws_ec2DisassociateSubnetCidrBlockCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableVpcClassicLinkCommandError(output, context); + return deserializeAws_ec2DisassociateSubnetCidrBlockCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisableVpcClassicLinkResult(data, context); - const response: DisableVpcClassicLinkCommandOutput = { + contents = deserializeAws_ec2DisassociateSubnetCidrBlockResult(data, context); + const response: DisassociateSubnetCidrBlockCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableVpcClassicLinkCommandError = async ( +const deserializeAws_ec2DisassociateSubnetCidrBlockCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25030,27 +27096,27 @@ const deserializeAws_ec2DisableVpcClassicLinkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommand = async ( +export const deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommandError(output, context); + return deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisableVpcClassicLinkDnsSupportResult(data, context); - const response: DisableVpcClassicLinkDnsSupportCommandOutput = { + contents = deserializeAws_ec2DisassociateTransitGatewayMulticastDomainResult(data, context); + const response: DisassociateTransitGatewayMulticastDomainCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommandError = async ( +const deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25076,24 +27142,27 @@ const deserializeAws_ec2DisableVpcClassicLinkDnsSupportCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateAddressCommand = async ( +export const deserializeAws_ec2DisassociateTransitGatewayRouteTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateAddressCommandError(output, context); + return deserializeAws_ec2DisassociateTransitGatewayRouteTableCommandError(output, context); } - await collectBody(output.body, context); - const response: DisassociateAddressCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DisassociateTransitGatewayRouteTableResult(data, context); + const response: DisassociateTransitGatewayRouteTableCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateAddressCommandError = async ( +const deserializeAws_ec2DisassociateTransitGatewayRouteTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25119,27 +27188,27 @@ const deserializeAws_ec2DisassociateAddressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateClientVpnTargetNetworkCommand = async ( +export const deserializeAws_ec2DisassociateTrunkInterfaceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateClientVpnTargetNetworkCommandError(output, context); + return deserializeAws_ec2DisassociateTrunkInterfaceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateClientVpnTargetNetworkResult(data, context); - const response: DisassociateClientVpnTargetNetworkCommandOutput = { + contents = deserializeAws_ec2DisassociateTrunkInterfaceResult(data, context); + const response: DisassociateTrunkInterfaceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateClientVpnTargetNetworkCommandError = async ( +const deserializeAws_ec2DisassociateTrunkInterfaceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25165,27 +27234,27 @@ const deserializeAws_ec2DisassociateClientVpnTargetNetworkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommand = async ( +export const deserializeAws_ec2DisassociateVpcCidrBlockCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommandError(output, context); + return deserializeAws_ec2DisassociateVpcCidrBlockCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateEnclaveCertificateIamRoleResult(data, context); - const response: DisassociateEnclaveCertificateIamRoleCommandOutput = { + contents = deserializeAws_ec2DisassociateVpcCidrBlockResult(data, context); + const response: DisassociateVpcCidrBlockCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommandError = async ( +const deserializeAws_ec2DisassociateVpcCidrBlockCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25211,27 +27280,27 @@ const deserializeAws_ec2DisassociateEnclaveCertificateIamRoleCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateIamInstanceProfileCommand = async ( +export const deserializeAws_ec2EnableEbsEncryptionByDefaultCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateIamInstanceProfileCommandError(output, context); + return deserializeAws_ec2EnableEbsEncryptionByDefaultCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateIamInstanceProfileResult(data, context); - const response: DisassociateIamInstanceProfileCommandOutput = { + contents = deserializeAws_ec2EnableEbsEncryptionByDefaultResult(data, context); + const response: EnableEbsEncryptionByDefaultCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateIamInstanceProfileCommandError = async ( +const deserializeAws_ec2EnableEbsEncryptionByDefaultCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25257,27 +27326,27 @@ const deserializeAws_ec2DisassociateIamInstanceProfileCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateInstanceEventWindowCommand = async ( +export const deserializeAws_ec2EnableFastSnapshotRestoresCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateInstanceEventWindowCommandError(output, context); + return deserializeAws_ec2EnableFastSnapshotRestoresCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateInstanceEventWindowResult(data, context); - const response: DisassociateInstanceEventWindowCommandOutput = { + contents = deserializeAws_ec2EnableFastSnapshotRestoresResult(data, context); + const response: EnableFastSnapshotRestoresCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateInstanceEventWindowCommandError = async ( +const deserializeAws_ec2EnableFastSnapshotRestoresCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25303,24 +27372,27 @@ const deserializeAws_ec2DisassociateInstanceEventWindowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateRouteTableCommand = async ( +export const deserializeAws_ec2EnableImageDeprecationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateRouteTableCommandError(output, context); + return deserializeAws_ec2EnableImageDeprecationCommandError(output, context); } - await collectBody(output.body, context); - const response: DisassociateRouteTableCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2EnableImageDeprecationResult(data, context); + const response: EnableImageDeprecationCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateRouteTableCommandError = async ( +const deserializeAws_ec2EnableImageDeprecationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25346,27 +27418,27 @@ const deserializeAws_ec2DisassociateRouteTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateSubnetCidrBlockCommand = async ( +export const deserializeAws_ec2EnableIpamOrganizationAdminAccountCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateSubnetCidrBlockCommandError(output, context); + return deserializeAws_ec2EnableIpamOrganizationAdminAccountCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateSubnetCidrBlockResult(data, context); - const response: DisassociateSubnetCidrBlockCommandOutput = { + contents = deserializeAws_ec2EnableIpamOrganizationAdminAccountResult(data, context); + const response: EnableIpamOrganizationAdminAccountCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateSubnetCidrBlockCommandError = async ( +const deserializeAws_ec2EnableIpamOrganizationAdminAccountCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25392,27 +27464,27 @@ const deserializeAws_ec2DisassociateSubnetCidrBlockCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommand = async ( +export const deserializeAws_ec2EnableSerialConsoleAccessCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommandError(output, context); + return deserializeAws_ec2EnableSerialConsoleAccessCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateTransitGatewayMulticastDomainResult(data, context); - const response: DisassociateTransitGatewayMulticastDomainCommandOutput = { + contents = deserializeAws_ec2EnableSerialConsoleAccessResult(data, context); + const response: EnableSerialConsoleAccessCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommandError = async ( +const deserializeAws_ec2EnableSerialConsoleAccessCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25438,27 +27510,27 @@ const deserializeAws_ec2DisassociateTransitGatewayMulticastDomainCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateTransitGatewayRouteTableCommand = async ( +export const deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateTransitGatewayRouteTableCommandError(output, context); + return deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2DisassociateTransitGatewayRouteTableResult(data, context); - const response: DisassociateTransitGatewayRouteTableCommandOutput = { + contents = deserializeAws_ec2EnableTransitGatewayRouteTablePropagationResult(data, context); + const response: EnableTransitGatewayRouteTablePropagationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateTransitGatewayRouteTableCommandError = async ( +const deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25484,27 +27556,24 @@ const deserializeAws_ec2DisassociateTransitGatewayRouteTableCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateTrunkInterfaceCommand = async ( +export const deserializeAws_ec2EnableVgwRoutePropagationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateTrunkInterfaceCommandError(output, context); + return deserializeAws_ec2EnableVgwRoutePropagationCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DisassociateTrunkInterfaceResult(data, context); - const response: DisassociateTrunkInterfaceCommandOutput = { + await collectBody(output.body, context); + const response: EnableVgwRoutePropagationCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateTrunkInterfaceCommandError = async ( +const deserializeAws_ec2EnableVgwRoutePropagationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25530,27 +27599,24 @@ const deserializeAws_ec2DisassociateTrunkInterfaceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2DisassociateVpcCidrBlockCommand = async ( +export const deserializeAws_ec2EnableVolumeIOCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2DisassociateVpcCidrBlockCommandError(output, context); + return deserializeAws_ec2EnableVolumeIOCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2DisassociateVpcCidrBlockResult(data, context); - const response: DisassociateVpcCidrBlockCommandOutput = { + await collectBody(output.body, context); + const response: EnableVolumeIOCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2DisassociateVpcCidrBlockCommandError = async ( +const deserializeAws_ec2EnableVolumeIOCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25576,27 +27642,27 @@ const deserializeAws_ec2DisassociateVpcCidrBlockCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableEbsEncryptionByDefaultCommand = async ( +export const deserializeAws_ec2EnableVpcClassicLinkCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableEbsEncryptionByDefaultCommandError(output, context); + return deserializeAws_ec2EnableVpcClassicLinkCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableEbsEncryptionByDefaultResult(data, context); - const response: EnableEbsEncryptionByDefaultCommandOutput = { + contents = deserializeAws_ec2EnableVpcClassicLinkResult(data, context); + const response: EnableVpcClassicLinkCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableEbsEncryptionByDefaultCommandError = async ( +const deserializeAws_ec2EnableVpcClassicLinkCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25622,27 +27688,27 @@ const deserializeAws_ec2EnableEbsEncryptionByDefaultCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableFastSnapshotRestoresCommand = async ( +export const deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableFastSnapshotRestoresCommandError(output, context); + return deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableFastSnapshotRestoresResult(data, context); - const response: EnableFastSnapshotRestoresCommandOutput = { + contents = deserializeAws_ec2EnableVpcClassicLinkDnsSupportResult(data, context); + const response: EnableVpcClassicLinkDnsSupportCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableFastSnapshotRestoresCommandError = async ( +const deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25668,27 +27734,27 @@ const deserializeAws_ec2EnableFastSnapshotRestoresCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableImageDeprecationCommand = async ( +export const deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableImageDeprecationCommandError(output, context); + return deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableImageDeprecationResult(data, context); - const response: EnableImageDeprecationCommandOutput = { + contents = deserializeAws_ec2ExportClientVpnClientCertificateRevocationListResult(data, context); + const response: ExportClientVpnClientCertificateRevocationListCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableImageDeprecationCommandError = async ( +const deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25714,27 +27780,27 @@ const deserializeAws_ec2EnableImageDeprecationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableSerialConsoleAccessCommand = async ( +export const deserializeAws_ec2ExportClientVpnClientConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableSerialConsoleAccessCommandError(output, context); + return deserializeAws_ec2ExportClientVpnClientConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableSerialConsoleAccessResult(data, context); - const response: EnableSerialConsoleAccessCommandOutput = { + contents = deserializeAws_ec2ExportClientVpnClientConfigurationResult(data, context); + const response: ExportClientVpnClientConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableSerialConsoleAccessCommandError = async ( +const deserializeAws_ec2ExportClientVpnClientConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25760,27 +27826,27 @@ const deserializeAws_ec2EnableSerialConsoleAccessCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommand = async ( +export const deserializeAws_ec2ExportImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommandError(output, context); + return deserializeAws_ec2ExportImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableTransitGatewayRouteTablePropagationResult(data, context); - const response: EnableTransitGatewayRouteTablePropagationCommandOutput = { + contents = deserializeAws_ec2ExportImageResult(data, context); + const response: ExportImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommandError = async ( +const deserializeAws_ec2ExportImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25806,24 +27872,27 @@ const deserializeAws_ec2EnableTransitGatewayRouteTablePropagationCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableVgwRoutePropagationCommand = async ( +export const deserializeAws_ec2ExportTransitGatewayRoutesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableVgwRoutePropagationCommandError(output, context); + return deserializeAws_ec2ExportTransitGatewayRoutesCommandError(output, context); } - await collectBody(output.body, context); - const response: EnableVgwRoutePropagationCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ExportTransitGatewayRoutesResult(data, context); + const response: ExportTransitGatewayRoutesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableVgwRoutePropagationCommandError = async ( +const deserializeAws_ec2ExportTransitGatewayRoutesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25849,24 +27918,27 @@ const deserializeAws_ec2EnableVgwRoutePropagationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableVolumeIOCommand = async ( +export const deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableVolumeIOCommandError(output, context); + return deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommandError(output, context); } - await collectBody(output.body, context); - const response: EnableVolumeIOCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesResult(data, context); + const response: GetAssociatedEnclaveCertificateIamRolesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableVolumeIOCommandError = async ( +const deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25892,27 +27964,27 @@ const deserializeAws_ec2EnableVolumeIOCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableVpcClassicLinkCommand = async ( +export const deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableVpcClassicLinkCommandError(output, context); + return deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableVpcClassicLinkResult(data, context); - const response: EnableVpcClassicLinkCommandOutput = { + contents = deserializeAws_ec2GetAssociatedIpv6PoolCidrsResult(data, context); + const response: GetAssociatedIpv6PoolCidrsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableVpcClassicLinkCommandError = async ( +const deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25938,27 +28010,27 @@ const deserializeAws_ec2EnableVpcClassicLinkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommand = async ( +export const deserializeAws_ec2GetCapacityReservationUsageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommandError(output, context); + return deserializeAws_ec2GetCapacityReservationUsageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2EnableVpcClassicLinkDnsSupportResult(data, context); - const response: EnableVpcClassicLinkDnsSupportCommandOutput = { + contents = deserializeAws_ec2GetCapacityReservationUsageResult(data, context); + const response: GetCapacityReservationUsageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommandError = async ( +const deserializeAws_ec2GetCapacityReservationUsageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25984,27 +28056,27 @@ const deserializeAws_ec2EnableVpcClassicLinkDnsSupportCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommand = async ( +export const deserializeAws_ec2GetCoipPoolUsageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommandError(output, context); + return deserializeAws_ec2GetCoipPoolUsageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ExportClientVpnClientCertificateRevocationListResult(data, context); - const response: ExportClientVpnClientCertificateRevocationListCommandOutput = { + contents = deserializeAws_ec2GetCoipPoolUsageResult(data, context); + const response: GetCoipPoolUsageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommandError = async ( +const deserializeAws_ec2GetCoipPoolUsageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26030,27 +28102,27 @@ const deserializeAws_ec2ExportClientVpnClientCertificateRevocationListCommandErr return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ExportClientVpnClientConfigurationCommand = async ( +export const deserializeAws_ec2GetConsoleOutputCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ExportClientVpnClientConfigurationCommandError(output, context); + return deserializeAws_ec2GetConsoleOutputCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ExportClientVpnClientConfigurationResult(data, context); - const response: ExportClientVpnClientConfigurationCommandOutput = { + contents = deserializeAws_ec2GetConsoleOutputResult(data, context); + const response: GetConsoleOutputCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ExportClientVpnClientConfigurationCommandError = async ( +const deserializeAws_ec2GetConsoleOutputCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26076,27 +28148,27 @@ const deserializeAws_ec2ExportClientVpnClientConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ExportImageCommand = async ( +export const deserializeAws_ec2GetConsoleScreenshotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ExportImageCommandError(output, context); + return deserializeAws_ec2GetConsoleScreenshotCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ExportImageResult(data, context); - const response: ExportImageCommandOutput = { + contents = deserializeAws_ec2GetConsoleScreenshotResult(data, context); + const response: GetConsoleScreenshotCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ExportImageCommandError = async ( +const deserializeAws_ec2GetConsoleScreenshotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26122,27 +28194,27 @@ const deserializeAws_ec2ExportImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ExportTransitGatewayRoutesCommand = async ( +export const deserializeAws_ec2GetDefaultCreditSpecificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ExportTransitGatewayRoutesCommandError(output, context); + return deserializeAws_ec2GetDefaultCreditSpecificationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ExportTransitGatewayRoutesResult(data, context); - const response: ExportTransitGatewayRoutesCommandOutput = { + contents = deserializeAws_ec2GetDefaultCreditSpecificationResult(data, context); + const response: GetDefaultCreditSpecificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ExportTransitGatewayRoutesCommandError = async ( +const deserializeAws_ec2GetDefaultCreditSpecificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26168,27 +28240,27 @@ const deserializeAws_ec2ExportTransitGatewayRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommand = async ( +export const deserializeAws_ec2GetEbsDefaultKmsKeyIdCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommandError(output, context); + return deserializeAws_ec2GetEbsDefaultKmsKeyIdCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesResult(data, context); - const response: GetAssociatedEnclaveCertificateIamRolesCommandOutput = { + contents = deserializeAws_ec2GetEbsDefaultKmsKeyIdResult(data, context); + const response: GetEbsDefaultKmsKeyIdCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommandError = async ( +const deserializeAws_ec2GetEbsDefaultKmsKeyIdCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26214,27 +28286,27 @@ const deserializeAws_ec2GetAssociatedEnclaveCertificateIamRolesCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommand = async ( +export const deserializeAws_ec2GetEbsEncryptionByDefaultCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommandError(output, context); + return deserializeAws_ec2GetEbsEncryptionByDefaultCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetAssociatedIpv6PoolCidrsResult(data, context); - const response: GetAssociatedIpv6PoolCidrsCommandOutput = { + contents = deserializeAws_ec2GetEbsEncryptionByDefaultResult(data, context); + const response: GetEbsEncryptionByDefaultCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommandError = async ( +const deserializeAws_ec2GetEbsEncryptionByDefaultCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26260,27 +28332,27 @@ const deserializeAws_ec2GetAssociatedIpv6PoolCidrsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetCapacityReservationUsageCommand = async ( +export const deserializeAws_ec2GetFlowLogsIntegrationTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetCapacityReservationUsageCommandError(output, context); + return deserializeAws_ec2GetFlowLogsIntegrationTemplateCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetCapacityReservationUsageResult(data, context); - const response: GetCapacityReservationUsageCommandOutput = { + contents = deserializeAws_ec2GetFlowLogsIntegrationTemplateResult(data, context); + const response: GetFlowLogsIntegrationTemplateCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetCapacityReservationUsageCommandError = async ( +const deserializeAws_ec2GetFlowLogsIntegrationTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26306,27 +28378,27 @@ const deserializeAws_ec2GetCapacityReservationUsageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetCoipPoolUsageCommand = async ( +export const deserializeAws_ec2GetGroupsForCapacityReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetCoipPoolUsageCommandError(output, context); + return deserializeAws_ec2GetGroupsForCapacityReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetCoipPoolUsageResult(data, context); - const response: GetCoipPoolUsageCommandOutput = { + contents = deserializeAws_ec2GetGroupsForCapacityReservationResult(data, context); + const response: GetGroupsForCapacityReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetCoipPoolUsageCommandError = async ( +const deserializeAws_ec2GetGroupsForCapacityReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26352,27 +28424,27 @@ const deserializeAws_ec2GetCoipPoolUsageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetConsoleOutputCommand = async ( +export const deserializeAws_ec2GetHostReservationPurchasePreviewCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetConsoleOutputCommandError(output, context); + return deserializeAws_ec2GetHostReservationPurchasePreviewCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetConsoleOutputResult(data, context); - const response: GetConsoleOutputCommandOutput = { + contents = deserializeAws_ec2GetHostReservationPurchasePreviewResult(data, context); + const response: GetHostReservationPurchasePreviewCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetConsoleOutputCommandError = async ( +const deserializeAws_ec2GetHostReservationPurchasePreviewCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26398,27 +28470,27 @@ const deserializeAws_ec2GetConsoleOutputCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetConsoleScreenshotCommand = async ( +export const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetConsoleScreenshotCommandError(output, context); + return deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetConsoleScreenshotResult(data, context); - const response: GetConsoleScreenshotCommandOutput = { + contents = deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsResult(data, context); + const response: GetInstanceTypesFromInstanceRequirementsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetConsoleScreenshotCommandError = async ( +const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26444,27 +28516,27 @@ const deserializeAws_ec2GetConsoleScreenshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetDefaultCreditSpecificationCommand = async ( +export const deserializeAws_ec2GetIpamAddressHistoryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetDefaultCreditSpecificationCommandError(output, context); + return deserializeAws_ec2GetIpamAddressHistoryCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetDefaultCreditSpecificationResult(data, context); - const response: GetDefaultCreditSpecificationCommandOutput = { + contents = deserializeAws_ec2GetIpamAddressHistoryResult(data, context); + const response: GetIpamAddressHistoryCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetDefaultCreditSpecificationCommandError = async ( +const deserializeAws_ec2GetIpamAddressHistoryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26490,27 +28562,27 @@ const deserializeAws_ec2GetDefaultCreditSpecificationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetEbsDefaultKmsKeyIdCommand = async ( +export const deserializeAws_ec2GetIpamPoolAllocationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetEbsDefaultKmsKeyIdCommandError(output, context); + return deserializeAws_ec2GetIpamPoolAllocationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetEbsDefaultKmsKeyIdResult(data, context); - const response: GetEbsDefaultKmsKeyIdCommandOutput = { + contents = deserializeAws_ec2GetIpamPoolAllocationsResult(data, context); + const response: GetIpamPoolAllocationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetEbsDefaultKmsKeyIdCommandError = async ( +const deserializeAws_ec2GetIpamPoolAllocationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26536,27 +28608,27 @@ const deserializeAws_ec2GetEbsDefaultKmsKeyIdCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetEbsEncryptionByDefaultCommand = async ( +export const deserializeAws_ec2GetIpamPoolCidrsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetEbsEncryptionByDefaultCommandError(output, context); + return deserializeAws_ec2GetIpamPoolCidrsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetEbsEncryptionByDefaultResult(data, context); - const response: GetEbsEncryptionByDefaultCommandOutput = { + contents = deserializeAws_ec2GetIpamPoolCidrsResult(data, context); + const response: GetIpamPoolCidrsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetEbsEncryptionByDefaultCommandError = async ( +const deserializeAws_ec2GetIpamPoolCidrsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26582,27 +28654,27 @@ const deserializeAws_ec2GetEbsEncryptionByDefaultCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetFlowLogsIntegrationTemplateCommand = async ( +export const deserializeAws_ec2GetIpamResourceCidrsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetFlowLogsIntegrationTemplateCommandError(output, context); + return deserializeAws_ec2GetIpamResourceCidrsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetFlowLogsIntegrationTemplateResult(data, context); - const response: GetFlowLogsIntegrationTemplateCommandOutput = { + contents = deserializeAws_ec2GetIpamResourceCidrsResult(data, context); + const response: GetIpamResourceCidrsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetFlowLogsIntegrationTemplateCommandError = async ( +const deserializeAws_ec2GetIpamResourceCidrsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26628,27 +28700,27 @@ const deserializeAws_ec2GetFlowLogsIntegrationTemplateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetGroupsForCapacityReservationCommand = async ( +export const deserializeAws_ec2GetLaunchTemplateDataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetGroupsForCapacityReservationCommandError(output, context); + return deserializeAws_ec2GetLaunchTemplateDataCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetGroupsForCapacityReservationResult(data, context); - const response: GetGroupsForCapacityReservationCommandOutput = { + contents = deserializeAws_ec2GetLaunchTemplateDataResult(data, context); + const response: GetLaunchTemplateDataCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetGroupsForCapacityReservationCommandError = async ( +const deserializeAws_ec2GetLaunchTemplateDataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26674,27 +28746,27 @@ const deserializeAws_ec2GetGroupsForCapacityReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetHostReservationPurchasePreviewCommand = async ( +export const deserializeAws_ec2GetManagedPrefixListAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetHostReservationPurchasePreviewCommandError(output, context); + return deserializeAws_ec2GetManagedPrefixListAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetHostReservationPurchasePreviewResult(data, context); - const response: GetHostReservationPurchasePreviewCommandOutput = { + contents = deserializeAws_ec2GetManagedPrefixListAssociationsResult(data, context); + const response: GetManagedPrefixListAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetHostReservationPurchasePreviewCommandError = async ( +const deserializeAws_ec2GetManagedPrefixListAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26720,27 +28792,27 @@ const deserializeAws_ec2GetHostReservationPurchasePreviewCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand = async ( +export const deserializeAws_ec2GetManagedPrefixListEntriesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError(output, context); + return deserializeAws_ec2GetManagedPrefixListEntriesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsResult(data, context); - const response: GetInstanceTypesFromInstanceRequirementsCommandOutput = { + contents = deserializeAws_ec2GetManagedPrefixListEntriesResult(data, context); + const response: GetManagedPrefixListEntriesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError = async ( +const deserializeAws_ec2GetManagedPrefixListEntriesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26766,27 +28838,27 @@ const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetLaunchTemplateDataCommand = async ( +export const deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetLaunchTemplateDataCommandError(output, context); + return deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetLaunchTemplateDataResult(data, context); - const response: GetLaunchTemplateDataCommandOutput = { + contents = deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsResult(data, context); + const response: GetNetworkInsightsAccessScopeAnalysisFindingsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetLaunchTemplateDataCommandError = async ( +const deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26812,73 +28884,27 @@ const deserializeAws_ec2GetLaunchTemplateDataCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetManagedPrefixListAssociationsCommand = async ( +export const deserializeAws_ec2GetNetworkInsightsAccessScopeContentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetManagedPrefixListAssociationsCommandError(output, context); + return deserializeAws_ec2GetNetworkInsightsAccessScopeContentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetManagedPrefixListAssociationsResult(data, context); - const response: GetManagedPrefixListAssociationsCommandOutput = { + contents = deserializeAws_ec2GetNetworkInsightsAccessScopeContentResult(data, context); + const response: GetNetworkInsightsAccessScopeContentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetManagedPrefixListAssociationsCommandError = async ( +const deserializeAws_ec2GetNetworkInsightsAccessScopeContentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "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_ec2GetManagedPrefixListEntriesCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2GetManagedPrefixListEntriesCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2GetManagedPrefixListEntriesResult(data, context); - const response: GetManagedPrefixListEntriesCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2GetManagedPrefixListEntriesCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28410,27 +30436,211 @@ const deserializeAws_ec2ModifyInstanceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommand = async ( +export const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyInstanceCapacityReservationAttributesResult(data, context); + const response: ModifyInstanceCapacityReservationAttributesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ModifyInstanceCreditSpecificationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyInstanceCreditSpecificationResult(data, context); + const response: ModifyInstanceCreditSpecificationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ModifyInstanceEventStartTimeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ModifyInstanceEventStartTimeCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyInstanceEventStartTimeResult(data, context); + const response: ModifyInstanceEventStartTimeCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ModifyInstanceEventStartTimeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ModifyInstanceEventWindowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ModifyInstanceEventWindowCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyInstanceEventWindowResult(data, context); + const response: ModifyInstanceEventWindowCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ModifyInstanceEventWindowCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ModifyInstanceMetadataOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError(output, context); + return deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceCapacityReservationAttributesResult(data, context); - const response: ModifyInstanceCapacityReservationAttributesCommandOutput = { + contents = deserializeAws_ec2ModifyInstanceMetadataOptionsResult(data, context); + const response: ModifyInstanceMetadataOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError = async ( +const deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28456,27 +30666,27 @@ const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceCreditSpecificationCommand = async ( +export const deserializeAws_ec2ModifyInstancePlacementCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError(output, context); + return deserializeAws_ec2ModifyInstancePlacementCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceCreditSpecificationResult(data, context); - const response: ModifyInstanceCreditSpecificationCommandOutput = { + contents = deserializeAws_ec2ModifyInstancePlacementResult(data, context); + const response: ModifyInstancePlacementCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError = async ( +const deserializeAws_ec2ModifyInstancePlacementCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28502,27 +30712,27 @@ const deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceEventStartTimeCommand = async ( +export const deserializeAws_ec2ModifyIpamCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceEventStartTimeCommandError(output, context); + return deserializeAws_ec2ModifyIpamCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceEventStartTimeResult(data, context); - const response: ModifyInstanceEventStartTimeCommandOutput = { + contents = deserializeAws_ec2ModifyIpamResult(data, context); + const response: ModifyIpamCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceEventStartTimeCommandError = async ( +const deserializeAws_ec2ModifyIpamCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28548,27 +30758,27 @@ const deserializeAws_ec2ModifyInstanceEventStartTimeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceEventWindowCommand = async ( +export const deserializeAws_ec2ModifyIpamPoolCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceEventWindowCommandError(output, context); + return deserializeAws_ec2ModifyIpamPoolCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceEventWindowResult(data, context); - const response: ModifyInstanceEventWindowCommandOutput = { + contents = deserializeAws_ec2ModifyIpamPoolResult(data, context); + const response: ModifyIpamPoolCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceEventWindowCommandError = async ( +const deserializeAws_ec2ModifyIpamPoolCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28594,27 +30804,27 @@ const deserializeAws_ec2ModifyInstanceEventWindowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceMetadataOptionsCommand = async ( +export const deserializeAws_ec2ModifyIpamResourceCidrCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError(output, context); + return deserializeAws_ec2ModifyIpamResourceCidrCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceMetadataOptionsResult(data, context); - const response: ModifyInstanceMetadataOptionsCommandOutput = { + contents = deserializeAws_ec2ModifyIpamResourceCidrResult(data, context); + const response: ModifyIpamResourceCidrCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError = async ( +const deserializeAws_ec2ModifyIpamResourceCidrCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28640,27 +30850,27 @@ const deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstancePlacementCommand = async ( +export const deserializeAws_ec2ModifyIpamScopeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstancePlacementCommandError(output, context); + return deserializeAws_ec2ModifyIpamScopeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstancePlacementResult(data, context); - const response: ModifyInstancePlacementCommandOutput = { + contents = deserializeAws_ec2ModifyIpamScopeResult(data, context); + const response: ModifyIpamScopeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstancePlacementCommandError = async ( +const deserializeAws_ec2ModifyIpamScopeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30097,6 +32307,52 @@ const deserializeAws_ec2MoveAddressToVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2MoveByoipCidrToIpamCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2MoveByoipCidrToIpamCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2MoveByoipCidrToIpamResult(data, context); + const response: MoveByoipCidrToIpamCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2MoveByoipCidrToIpamCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ProvisionByoipCidrCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -30143,6 +32399,98 @@ const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2ProvisionIpamPoolCidrCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ProvisionIpamPoolCidrCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ProvisionIpamPoolCidrResult(data, context); + const response: ProvisionIpamPoolCidrCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ProvisionIpamPoolCidrCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ProvisionPublicIpv4PoolCidrCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ProvisionPublicIpv4PoolCidrCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ProvisionPublicIpv4PoolCidrResult(data, context); + const response: ProvisionPublicIpv4PoolCidrCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ProvisionPublicIpv4PoolCidrCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2PurchaseHostReservationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -30827,6 +33175,52 @@ const deserializeAws_ec2ReleaseHostsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2ReleaseIpamPoolAllocationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ReleaseIpamPoolAllocationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ReleaseIpamPoolAllocationResult(data, context); + const response: ReleaseIpamPoolAllocationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ReleaseIpamPoolAllocationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2ReplaceIamInstanceProfileAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -32002,27 +34396,73 @@ const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommand = async ( +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), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "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_ec2SearchTransitGatewayRoutesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError(output, context); + return deserializeAws_ec2SearchTransitGatewayRoutesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2SearchTransitGatewayMulticastGroupsResult(data, context); - const response: SearchTransitGatewayMulticastGroupsCommandOutput = { + contents = deserializeAws_ec2SearchTransitGatewayRoutesResult(data, context); + const response: SearchTransitGatewayRoutesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async ( +const deserializeAws_ec2SearchTransitGatewayRoutesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -32048,27 +34488,24 @@ const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchTransitGatewayRoutesCommand = async ( +export const deserializeAws_ec2SendDiagnosticInterruptCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchTransitGatewayRoutesCommandError(output, context); + return deserializeAws_ec2SendDiagnosticInterruptCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2SearchTransitGatewayRoutesResult(data, context); - const response: SearchTransitGatewayRoutesCommandOutput = { + await collectBody(output.body, context); + const response: SendDiagnosticInterruptCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchTransitGatewayRoutesCommandError = async ( +const deserializeAws_ec2SendDiagnosticInterruptCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -32094,24 +34531,27 @@ const deserializeAws_ec2SearchTransitGatewayRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SendDiagnosticInterruptCommand = async ( +export const deserializeAws_ec2StartInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SendDiagnosticInterruptCommandError(output, context); + return deserializeAws_ec2StartInstancesCommandError(output, context); } - await collectBody(output.body, context); - const response: SendDiagnosticInterruptCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2StartInstancesResult(data, context); + const response: StartInstancesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SendDiagnosticInterruptCommandError = async ( +const deserializeAws_ec2StartInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -32137,27 +34577,27 @@ const deserializeAws_ec2SendDiagnosticInterruptCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2StartInstancesCommand = async ( +export const deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2StartInstancesCommandError(output, context); + return deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2StartInstancesResult(data, context); - const response: StartInstancesCommandOutput = { + contents = deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisResult(data, context); + const response: StartNetworkInsightsAccessScopeAnalysisCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2StartInstancesCommandError = async ( +const deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -32887,6 +35327,48 @@ const serializeAws_ec2AcceptVpcPeeringConnectionRequest = ( return entries; }; +const serializeAws_ec2AccessScopePathListRequest = (input: AccessScopePathRequest[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = serializeAws_ec2AccessScopePathRequest(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`Item.${counter}.${key}`] = value; + }); + counter++; + } + return entries; +}; + +const serializeAws_ec2AccessScopePathRequest = (input: AccessScopePathRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Source !== undefined && input.Source !== null) { + const memberEntries = serializeAws_ec2PathStatementRequest(input.Source, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Source.${key}`; + entries[loc] = value; + }); + } + if (input.Destination !== undefined && input.Destination !== null) { + const memberEntries = serializeAws_ec2PathStatementRequest(input.Destination, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Destination.${key}`; + entries[loc] = value; + }); + } + if (input.ThroughResources !== undefined && input.ThroughResources !== null) { + const memberEntries = serializeAws_ec2ThroughResourcesStatementRequestList(input.ThroughResources, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ThroughResource.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_ec2AccountAttributeNameStringList = ( input: (AccountAttributeName | string)[], context: __SerdeContext @@ -32903,6 +35385,30 @@ const serializeAws_ec2AccountAttributeNameStringList = ( return entries; }; +const serializeAws_ec2AddIpamOperatingRegion = (input: AddIpamOperatingRegion, context: __SerdeContext): any => { + const entries: any = {}; + if (input.RegionName !== undefined && input.RegionName !== null) { + entries["RegionName"] = input.RegionName; + } + return entries; +}; + +const serializeAws_ec2AddIpamOperatingRegionSet = (input: AddIpamOperatingRegion[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = serializeAws_ec2AddIpamOperatingRegion(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`Member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; +}; + const serializeAws_ec2AddPrefixListEntries = (input: AddPrefixListEntry[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -33004,6 +35510,45 @@ const serializeAws_ec2AllocateHostsRequest = (input: AllocateHostsRequest, conte return entries; }; +const serializeAws_ec2AllocateIpamPoolCidrRequest = ( + input: AllocateIpamPoolCidrRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + if (input.NetmaskLength !== undefined && input.NetmaskLength !== null) { + entries["NetmaskLength"] = input.NetmaskLength; + } + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); + } + if (input.ClientToken !== undefined && input.ClientToken !== null) { + entries["ClientToken"] = input.ClientToken; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.PreviewNextCidr !== undefined && input.PreviewNextCidr !== null) { + entries["PreviewNextCidr"] = input.PreviewNextCidr; + } + if (input.DisallowedCidrs !== undefined && input.DisallowedCidrs !== null) { + const memberEntries = serializeAws_ec2IpamPoolAllocationDisallowedCidrs(input.DisallowedCidrs, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DisallowedCidr.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_ec2AllocationIdList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -33394,6 +35939,18 @@ const serializeAws_ec2AssociateVpcCidrBlockRequest = ( if (input.Ipv6CidrBlock !== undefined && input.Ipv6CidrBlock !== null) { entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; } + if (input.Ipv4IpamPoolId !== undefined && input.Ipv4IpamPoolId !== null) { + entries["Ipv4IpamPoolId"] = input.Ipv4IpamPoolId; + } + if (input.Ipv4NetmaskLength !== undefined && input.Ipv4NetmaskLength !== null) { + entries["Ipv4NetmaskLength"] = input.Ipv4NetmaskLength; + } + if (input.Ipv6IpamPoolId !== undefined && input.Ipv6IpamPoolId !== null) { + entries["Ipv6IpamPoolId"] = input.Ipv6IpamPoolId; + } + if (input.Ipv6NetmaskLength !== undefined && input.Ipv6NetmaskLength !== null) { + entries["Ipv6NetmaskLength"] = input.Ipv6NetmaskLength; + } return entries; }; @@ -35013,6 +37570,125 @@ const serializeAws_ec2CreateInternetGatewayRequest = ( return entries; }; +const serializeAws_ec2CreateIpamPoolRequest = (input: CreateIpamPoolRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamScopeId !== undefined && input.IpamScopeId !== null) { + entries["IpamScopeId"] = input.IpamScopeId; + } + if (input.Locale !== undefined && input.Locale !== null) { + entries["Locale"] = input.Locale; + } + if (input.SourceIpamPoolId !== undefined && input.SourceIpamPoolId !== null) { + entries["SourceIpamPoolId"] = input.SourceIpamPoolId; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.AddressFamily !== undefined && input.AddressFamily !== null) { + entries["AddressFamily"] = input.AddressFamily; + } + if (input.AutoImport !== undefined && input.AutoImport !== null) { + entries["AutoImport"] = input.AutoImport; + } + if (input.PubliclyAdvertisable !== undefined && input.PubliclyAdvertisable !== null) { + entries["PubliclyAdvertisable"] = input.PubliclyAdvertisable; + } + if (input.AllocationMinNetmaskLength !== undefined && input.AllocationMinNetmaskLength !== null) { + entries["AllocationMinNetmaskLength"] = input.AllocationMinNetmaskLength; + } + if (input.AllocationMaxNetmaskLength !== undefined && input.AllocationMaxNetmaskLength !== null) { + entries["AllocationMaxNetmaskLength"] = input.AllocationMaxNetmaskLength; + } + if (input.AllocationDefaultNetmaskLength !== undefined && input.AllocationDefaultNetmaskLength !== null) { + entries["AllocationDefaultNetmaskLength"] = input.AllocationDefaultNetmaskLength; + } + if (input.AllocationResourceTags !== undefined && input.AllocationResourceTags !== null) { + const memberEntries = serializeAws_ec2RequestIpamResourceTagList(input.AllocationResourceTags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AllocationResourceTag.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { + 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 && input.ClientToken !== null) { + entries["ClientToken"] = input.ClientToken; + } + if (input.AwsService !== undefined && input.AwsService !== null) { + entries["AwsService"] = input.AwsService; + } + return entries; +}; + +const serializeAws_ec2CreateIpamRequest = (input: CreateIpamRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.OperatingRegions !== undefined && input.OperatingRegions !== null) { + const memberEntries = serializeAws_ec2AddIpamOperatingRegionSet(input.OperatingRegions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `OperatingRegion.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { + 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 && input.ClientToken !== null) { + entries["ClientToken"] = input.ClientToken; + } + return entries; +}; + +const serializeAws_ec2CreateIpamScopeRequest = (input: CreateIpamScopeRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamId !== undefined && input.IpamId !== null) { + entries["IpamId"] = input.IpamId; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { + 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 && input.ClientToken !== null) { + entries["ClientToken"] = input.ClientToken; + } + return entries; +}; + const serializeAws_ec2CreateKeyPairRequest = (input: CreateKeyPairRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.KeyName !== undefined && input.KeyName !== null) { @@ -35279,6 +37955,44 @@ const serializeAws_ec2CreateNetworkAclRequest = (input: CreateNetworkAclRequest, return entries; }; +const serializeAws_ec2CreateNetworkInsightsAccessScopeRequest = ( + input: CreateNetworkInsightsAccessScopeRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.MatchPaths !== undefined && input.MatchPaths !== null) { + const memberEntries = serializeAws_ec2AccessScopePathListRequest(input.MatchPaths, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MatchPath.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.ExcludePaths !== undefined && input.ExcludePaths !== null) { + const memberEntries = serializeAws_ec2AccessScopePathListRequest(input.ExcludePaths, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExcludePath.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); + } + if (input.ClientToken !== undefined && input.ClientToken !== null) { + entries["ClientToken"] = input.ClientToken; + } + if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { + 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 && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + const serializeAws_ec2CreateNetworkInsightsPathRequest = ( input: CreateNetworkInsightsPathRequest, context: __SerdeContext @@ -35454,6 +38168,24 @@ const serializeAws_ec2CreatePlacementGroupRequest = ( return entries; }; +const serializeAws_ec2CreatePublicIpv4PoolRequest = ( + input: CreatePublicIpv4PoolRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { + 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_ec2CreateReplaceRootVolumeTaskRequest = ( input: CreateReplaceRootVolumeTaskRequest, context: __SerdeContext @@ -36551,6 +39283,18 @@ const serializeAws_ec2CreateVpcRequest = (input: CreateVpcRequest, context: __Se if (input.Ipv6CidrBlock !== undefined && input.Ipv6CidrBlock !== null) { entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; } + if (input.Ipv4IpamPoolId !== undefined && input.Ipv4IpamPoolId !== null) { + entries["Ipv4IpamPoolId"] = input.Ipv4IpamPoolId; + } + if (input.Ipv4NetmaskLength !== undefined && input.Ipv4NetmaskLength !== null) { + entries["Ipv4NetmaskLength"] = input.Ipv4NetmaskLength; + } + if (input.Ipv6IpamPoolId !== undefined && input.Ipv6IpamPoolId !== null) { + entries["Ipv6IpamPoolId"] = input.Ipv6IpamPoolId; + } + if (input.Ipv6NetmaskLength !== undefined && input.Ipv6NetmaskLength !== null) { + entries["Ipv6NetmaskLength"] = input.Ipv6NetmaskLength; + } if (input.DryRun !== undefined && input.DryRun !== null) { entries["DryRun"] = input.DryRun; } @@ -36844,6 +39588,39 @@ const serializeAws_ec2DeleteInternetGatewayRequest = ( return entries; }; +const serializeAws_ec2DeleteIpamPoolRequest = (input: DeleteIpamPoolRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + return entries; +}; + +const serializeAws_ec2DeleteIpamRequest = (input: DeleteIpamRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamId !== undefined && input.IpamId !== null) { + entries["IpamId"] = input.IpamId; + } + return entries; +}; + +const serializeAws_ec2DeleteIpamScopeRequest = (input: DeleteIpamScopeRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamScopeId !== undefined && input.IpamScopeId !== null) { + entries["IpamScopeId"] = input.IpamScopeId; + } + return entries; +}; + const serializeAws_ec2DeleteKeyPairRequest = (input: DeleteKeyPairRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.KeyName !== undefined && input.KeyName !== null) { @@ -36989,6 +39766,34 @@ const serializeAws_ec2DeleteNetworkAclRequest = (input: DeleteNetworkAclRequest, return entries; }; +const serializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisRequest = ( + input: DeleteNetworkInsightsAccessScopeAnalysisRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.NetworkInsightsAccessScopeAnalysisId !== undefined && input.NetworkInsightsAccessScopeAnalysisId !== null) { + entries["NetworkInsightsAccessScopeAnalysisId"] = input.NetworkInsightsAccessScopeAnalysisId; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + +const serializeAws_ec2DeleteNetworkInsightsAccessScopeRequest = ( + input: DeleteNetworkInsightsAccessScopeRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.NetworkInsightsAccessScopeId !== undefined && input.NetworkInsightsAccessScopeId !== null) { + entries["NetworkInsightsAccessScopeId"] = input.NetworkInsightsAccessScopeId; + } + return entries; +}; + const serializeAws_ec2DeleteNetworkInsightsAnalysisRequest = ( input: DeleteNetworkInsightsAnalysisRequest, context: __SerdeContext @@ -37062,6 +39867,20 @@ const serializeAws_ec2DeletePlacementGroupRequest = ( return entries; }; +const serializeAws_ec2DeletePublicIpv4PoolRequest = ( + input: DeletePublicIpv4PoolRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.PoolId !== undefined && input.PoolId !== null) { + entries["PoolId"] = input.PoolId; + } + return entries; +}; + const serializeAws_ec2DeleteQueuedReservedInstancesIdList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -37538,6 +40357,40 @@ const serializeAws_ec2DeprovisionByoipCidrRequest = ( return entries; }; +const serializeAws_ec2DeprovisionIpamPoolCidrRequest = ( + input: DeprovisionIpamPoolCidrRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + return entries; +}; + +const serializeAws_ec2DeprovisionPublicIpv4PoolCidrRequest = ( + input: DeprovisionPublicIpv4PoolCidrRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.PoolId !== undefined && input.PoolId !== null) { + entries["PoolId"] = input.PoolId; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + return entries; +}; + const serializeAws_ec2DeregisterImageRequest = (input: DeregisterImageRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.ImageId !== undefined && input.ImageId !== null) { @@ -38956,6 +41809,90 @@ const serializeAws_ec2DescribeInternetGatewaysRequest = ( return entries; }; +const serializeAws_ec2DescribeIpamPoolsRequest = (input: DescribeIpamPoolsRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + if (input.IpamPoolIds !== undefined && input.IpamPoolIds !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.IpamPoolIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IpamPoolId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2DescribeIpamScopesRequest = (input: DescribeIpamScopesRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + if (input.IpamScopeIds !== undefined && input.IpamScopeIds !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.IpamScopeIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IpamScopeId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2DescribeIpamsRequest = (input: DescribeIpamsRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + if (input.IpamIds !== undefined && input.IpamIds !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.IpamIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IpamId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_ec2DescribeIpv6PoolsRequest = (input: DescribeIpv6PoolsRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.PoolIds !== undefined && input.PoolIds !== null) { @@ -39422,6 +42359,86 @@ const serializeAws_ec2DescribeNetworkAclsRequest = ( return entries; }; +const serializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesRequest = ( + input: DescribeNetworkInsightsAccessScopeAnalysesRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if ( + input.NetworkInsightsAccessScopeAnalysisIds !== undefined && + input.NetworkInsightsAccessScopeAnalysisIds !== null + ) { + const memberEntries = serializeAws_ec2NetworkInsightsAccessScopeAnalysisIdList( + input.NetworkInsightsAccessScopeAnalysisIds, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkInsightsAccessScopeAnalysisId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.NetworkInsightsAccessScopeId !== undefined && input.NetworkInsightsAccessScopeId !== null) { + entries["NetworkInsightsAccessScopeId"] = input.NetworkInsightsAccessScopeId; + } + if (input.AnalysisStartTimeBegin !== undefined && input.AnalysisStartTimeBegin !== null) { + entries["AnalysisStartTimeBegin"] = input.AnalysisStartTimeBegin.toISOString().split(".")[0] + "Z"; + } + if (input.AnalysisStartTimeEnd !== undefined && input.AnalysisStartTimeEnd !== null) { + entries["AnalysisStartTimeEnd"] = input.AnalysisStartTimeEnd.toISOString().split(".")[0] + "Z"; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + +const serializeAws_ec2DescribeNetworkInsightsAccessScopesRequest = ( + input: DescribeNetworkInsightsAccessScopesRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.NetworkInsightsAccessScopeIds !== undefined && input.NetworkInsightsAccessScopeIds !== null) { + const memberEntries = serializeAws_ec2NetworkInsightsAccessScopeIdList( + input.NetworkInsightsAccessScopeIds, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkInsightsAccessScopeId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + const serializeAws_ec2DescribeNetworkInsightsAnalysesRequest = ( input: DescribeNetworkInsightsAnalysesRequest, context: __SerdeContext @@ -41445,6 +44462,20 @@ const serializeAws_ec2DisableImageDeprecationRequest = ( return entries; }; +const serializeAws_ec2DisableIpamOrganizationAdminAccountRequest = ( + input: DisableIpamOrganizationAdminAccountRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.DelegatedAdminAccountId !== undefined && input.DelegatedAdminAccountId !== null) { + entries["DelegatedAdminAccountId"] = input.DelegatedAdminAccountId; + } + return entries; +}; + const serializeAws_ec2DisableSerialConsoleAccessRequest = ( input: DisableSerialConsoleAccessRequest, context: __SerdeContext @@ -41966,6 +44997,20 @@ const serializeAws_ec2EnableImageDeprecationRequest = ( return entries; }; +const serializeAws_ec2EnableIpamOrganizationAdminAccountRequest = ( + input: EnableIpamOrganizationAdminAccountRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.DelegatedAdminAccountId !== undefined && input.DelegatedAdminAccountId !== null) { + entries["DelegatedAdminAccountId"] = input.DelegatedAdminAccountId; + } + return entries; +}; + const serializeAws_ec2EnableSerialConsoleAccessRequest = ( input: EnableSerialConsoleAccessRequest, context: __SerdeContext @@ -42741,6 +45786,138 @@ const serializeAws_ec2GetInstanceTypesFromInstanceRequirementsRequest = ( return entries; }; +const serializeAws_ec2GetIpamAddressHistoryRequest = ( + input: GetIpamAddressHistoryRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + if (input.IpamScopeId !== undefined && input.IpamScopeId !== null) { + entries["IpamScopeId"] = input.IpamScopeId; + } + if (input.VpcId !== undefined && input.VpcId !== null) { + entries["VpcId"] = input.VpcId; + } + if (input.StartTime !== undefined && input.StartTime !== null) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } + if (input.EndTime !== undefined && input.EndTime !== null) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } + if (input.MaxResults !== undefined && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + +const serializeAws_ec2GetIpamPoolAllocationsRequest = ( + input: GetIpamPoolAllocationsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.IpamPoolAllocationId !== undefined && input.IpamPoolAllocationId !== null) { + entries["IpamPoolAllocationId"] = input.IpamPoolAllocationId; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + +const serializeAws_ec2GetIpamPoolCidrsRequest = (input: GetIpamPoolCidrsRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + +const serializeAws_ec2GetIpamResourceCidrsRequest = ( + input: GetIpamResourceCidrsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Filters !== undefined && input.Filters !== null) { + 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 && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + if (input.IpamScopeId !== undefined && input.IpamScopeId !== null) { + entries["IpamScopeId"] = input.IpamScopeId; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.ResourceId !== undefined && input.ResourceId !== null) { + entries["ResourceId"] = input.ResourceId; + } + if (input.ResourceType !== undefined && input.ResourceType !== null) { + entries["ResourceType"] = input.ResourceType; + } + if (input.ResourceTag !== undefined && input.ResourceTag !== null) { + const memberEntries = serializeAws_ec2RequestIpamResourceTag(input.ResourceTag, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceTag.${key}`; + entries[loc] = value; + }); + } + if (input.ResourceOwner !== undefined && input.ResourceOwner !== null) { + entries["ResourceOwner"] = input.ResourceOwner; + } + return entries; +}; + const serializeAws_ec2GetLaunchTemplateDataRequest = ( input: GetLaunchTemplateDataRequest, context: __SerdeContext @@ -42798,6 +45975,40 @@ const serializeAws_ec2GetManagedPrefixListEntriesRequest = ( return entries; }; +const serializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsRequest = ( + input: GetNetworkInsightsAccessScopeAnalysisFindingsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.NetworkInsightsAccessScopeAnalysisId !== undefined && input.NetworkInsightsAccessScopeAnalysisId !== null) { + entries["NetworkInsightsAccessScopeAnalysisId"] = input.NetworkInsightsAccessScopeAnalysisId; + } + if (input.MaxResults !== undefined && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + +const serializeAws_ec2GetNetworkInsightsAccessScopeContentRequest = ( + input: GetNetworkInsightsAccessScopeContentRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.NetworkInsightsAccessScopeId !== undefined && input.NetworkInsightsAccessScopeId !== null) { + entries["NetworkInsightsAccessScopeId"] = input.NetworkInsightsAccessScopeId; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + const serializeAws_ec2GetPasswordDataRequest = (input: GetPasswordDataRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.InstanceId !== undefined && input.InstanceId !== null) { @@ -44437,6 +47648,33 @@ const serializeAws_ec2InternetGatewayIdList = (input: string[], context: __Serde return entries; }; +const serializeAws_ec2IpamCidrAuthorizationContext = ( + input: IpamCidrAuthorizationContext, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Message !== undefined && input.Message !== null) { + entries["Message"] = input.Message; + } + if (input.Signature !== undefined && input.Signature !== null) { + entries["Signature"] = input.Signature; + } + return entries; +}; + +const serializeAws_ec2IpamPoolAllocationDisallowedCidrs = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2IpPermission = (input: IpPermission, context: __SerdeContext): any => { const entries: any = {}; if (input.FromPort !== undefined && input.FromPort !== null) { @@ -46240,6 +49478,120 @@ const serializeAws_ec2ModifyInstancePlacementRequest = ( return entries; }; +const serializeAws_ec2ModifyIpamPoolRequest = (input: ModifyIpamPoolRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.AutoImport !== undefined && input.AutoImport !== null) { + entries["AutoImport"] = input.AutoImport; + } + if (input.AllocationMinNetmaskLength !== undefined && input.AllocationMinNetmaskLength !== null) { + entries["AllocationMinNetmaskLength"] = input.AllocationMinNetmaskLength; + } + if (input.AllocationMaxNetmaskLength !== undefined && input.AllocationMaxNetmaskLength !== null) { + entries["AllocationMaxNetmaskLength"] = input.AllocationMaxNetmaskLength; + } + if (input.AllocationDefaultNetmaskLength !== undefined && input.AllocationDefaultNetmaskLength !== null) { + entries["AllocationDefaultNetmaskLength"] = input.AllocationDefaultNetmaskLength; + } + if (input.ClearAllocationDefaultNetmaskLength !== undefined && input.ClearAllocationDefaultNetmaskLength !== null) { + entries["ClearAllocationDefaultNetmaskLength"] = input.ClearAllocationDefaultNetmaskLength; + } + if (input.AddAllocationResourceTags !== undefined && input.AddAllocationResourceTags !== null) { + const memberEntries = serializeAws_ec2RequestIpamResourceTagList(input.AddAllocationResourceTags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AddAllocationResourceTag.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.RemoveAllocationResourceTags !== undefined && input.RemoveAllocationResourceTags !== null) { + const memberEntries = serializeAws_ec2RequestIpamResourceTagList(input.RemoveAllocationResourceTags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RemoveAllocationResourceTag.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2ModifyIpamRequest = (input: ModifyIpamRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamId !== undefined && input.IpamId !== null) { + entries["IpamId"] = input.IpamId; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.AddOperatingRegions !== undefined && input.AddOperatingRegions !== null) { + const memberEntries = serializeAws_ec2AddIpamOperatingRegionSet(input.AddOperatingRegions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AddOperatingRegion.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.RemoveOperatingRegions !== undefined && input.RemoveOperatingRegions !== null) { + const memberEntries = serializeAws_ec2RemoveIpamOperatingRegionSet(input.RemoveOperatingRegions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RemoveOperatingRegion.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2ModifyIpamResourceCidrRequest = ( + input: ModifyIpamResourceCidrRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.ResourceId !== undefined && input.ResourceId !== null) { + entries["ResourceId"] = input.ResourceId; + } + if (input.ResourceCidr !== undefined && input.ResourceCidr !== null) { + entries["ResourceCidr"] = input.ResourceCidr; + } + if (input.ResourceRegion !== undefined && input.ResourceRegion !== null) { + entries["ResourceRegion"] = input.ResourceRegion; + } + if (input.CurrentIpamScopeId !== undefined && input.CurrentIpamScopeId !== null) { + entries["CurrentIpamScopeId"] = input.CurrentIpamScopeId; + } + if (input.DestinationIpamScopeId !== undefined && input.DestinationIpamScopeId !== null) { + entries["DestinationIpamScopeId"] = input.DestinationIpamScopeId; + } + if (input.Monitored !== undefined && input.Monitored !== null) { + entries["Monitored"] = input.Monitored; + } + return entries; +}; + +const serializeAws_ec2ModifyIpamScopeRequest = (input: ModifyIpamScopeRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamScopeId !== undefined && input.IpamScopeId !== null) { + entries["IpamScopeId"] = input.IpamScopeId; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + return entries; +}; + const serializeAws_ec2ModifyLaunchTemplateRequest = ( input: ModifyLaunchTemplateRequest, context: __SerdeContext @@ -47336,6 +50688,26 @@ const serializeAws_ec2MoveAddressToVpcRequest = (input: MoveAddressToVpcRequest, return entries; }; +const serializeAws_ec2MoveByoipCidrToIpamRequest = ( + input: MoveByoipCidrToIpamRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.IpamPoolOwner !== undefined && input.IpamPoolOwner !== null) { + entries["IpamPoolOwner"] = input.IpamPoolOwner; + } + return entries; +}; + const serializeAws_ec2NatGatewayIdStringList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -47362,6 +50734,32 @@ const serializeAws_ec2NetworkAclIdStringList = (input: string[], context: __Serd return entries; }; +const serializeAws_ec2NetworkInsightsAccessScopeAnalysisIdList = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_ec2NetworkInsightsAccessScopeIdList = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2NetworkInsightsAnalysisIdList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -47563,6 +50961,82 @@ const serializeAws_ec2OwnerStringList = (input: string[], context: __SerdeContex return entries; }; +const serializeAws_ec2PacketHeaderStatementRequest = ( + input: PacketHeaderStatementRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.SourceAddresses !== undefined && input.SourceAddresses !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.SourceAddresses, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourceAddress.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DestinationAddresses !== undefined && input.DestinationAddresses !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.DestinationAddresses, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DestinationAddress.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.SourcePorts !== undefined && input.SourcePorts !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.SourcePorts, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourcePort.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DestinationPorts !== undefined && input.DestinationPorts !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.DestinationPorts, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DestinationPort.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.SourcePrefixLists !== undefined && input.SourcePrefixLists !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.SourcePrefixLists, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourcePrefixList.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DestinationPrefixLists !== undefined && input.DestinationPrefixLists !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.DestinationPrefixLists, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DestinationPrefixList.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.Protocols !== undefined && input.Protocols !== null) { + const memberEntries = serializeAws_ec2ProtocolList(input.Protocols, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Protocol.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2PathStatementRequest = (input: PathStatementRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.PacketHeaderStatement !== undefined && input.PacketHeaderStatement !== null) { + const memberEntries = serializeAws_ec2PacketHeaderStatementRequest(input.PacketHeaderStatement, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PacketHeaderStatement.${key}`; + entries[loc] = value; + }); + } + if (input.ResourceStatement !== undefined && input.ResourceStatement !== null) { + const memberEntries = serializeAws_ec2ResourceStatementRequest(input.ResourceStatement, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceStatement.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_ec2PeeringConnectionOptionsRequest = ( input: PeeringConnectionOptionsRequest, context: __SerdeContext @@ -48016,6 +51490,19 @@ const serializeAws_ec2ProductDescriptionList = (input: string[], context: __Serd return entries; }; +const serializeAws_ec2ProtocolList = (input: (Protocol | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.Cidr !== undefined && input.Cidr !== null) { @@ -48050,6 +51537,50 @@ const serializeAws_ec2ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequ return entries; }; +const serializeAws_ec2ProvisionIpamPoolCidrRequest = ( + input: ProvisionIpamPoolCidrRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + if (input.CidrAuthorizationContext !== undefined && input.CidrAuthorizationContext !== null) { + const memberEntries = serializeAws_ec2IpamCidrAuthorizationContext(input.CidrAuthorizationContext, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CidrAuthorizationContext.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2ProvisionPublicIpv4PoolCidrRequest = ( + input: ProvisionPublicIpv4PoolCidrRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.PoolId !== undefined && input.PoolId !== null) { + entries["PoolId"] = input.PoolId; + } + if (input.NetmaskLength !== undefined && input.NetmaskLength !== null) { + entries["NetmaskLength"] = input.NetmaskLength; + } + return entries; +}; + const serializeAws_ec2PublicIpStringList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -48500,6 +52031,53 @@ const serializeAws_ec2ReleaseHostsRequest = (input: ReleaseHostsRequest, context return entries; }; +const serializeAws_ec2ReleaseIpamPoolAllocationRequest = ( + input: ReleaseIpamPoolAllocationRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamPoolId !== undefined && input.IpamPoolId !== null) { + entries["IpamPoolId"] = input.IpamPoolId; + } + if (input.Cidr !== undefined && input.Cidr !== null) { + entries["Cidr"] = input.Cidr; + } + if (input.IpamPoolAllocationId !== undefined && input.IpamPoolAllocationId !== null) { + entries["IpamPoolAllocationId"] = input.IpamPoolAllocationId; + } + return entries; +}; + +const serializeAws_ec2RemoveIpamOperatingRegion = (input: RemoveIpamOperatingRegion, context: __SerdeContext): any => { + const entries: any = {}; + if (input.RegionName !== undefined && input.RegionName !== null) { + entries["RegionName"] = input.RegionName; + } + return entries; +}; + +const serializeAws_ec2RemoveIpamOperatingRegionSet = ( + input: RemoveIpamOperatingRegion[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = serializeAws_ec2RemoveIpamOperatingRegion(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`Member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; +}; + const serializeAws_ec2RemovePrefixListEntries = (input: RemovePrefixListEntry[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -48790,6 +52368,33 @@ const serializeAws_ec2RequestInstanceTypeList = (input: (_InstanceType | string) return entries; }; +const serializeAws_ec2RequestIpamResourceTag = (input: RequestIpamResourceTag, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Key !== undefined && input.Key !== null) { + entries["Key"] = input.Key; + } + if (input.Value !== undefined && input.Value !== null) { + entries["Value"] = input.Value; + } + return entries; +}; + +const serializeAws_ec2RequestIpamResourceTagList = (input: RequestIpamResourceTag[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = serializeAws_ec2RequestIpamResourceTag(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`Item.${counter}.${key}`] = value; + }); + counter++; + } + return entries; +}; + const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateData, context: __SerdeContext): any => { const entries: any = {}; if (input.KernelId !== undefined && input.KernelId !== null) { @@ -49473,6 +53078,25 @@ const serializeAws_ec2ResourceList = (input: string[], context: __SerdeContext): return entries; }; +const serializeAws_ec2ResourceStatementRequest = (input: ResourceStatementRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Resources !== undefined && input.Resources !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.Resources, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Resource.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.ResourceTypes !== undefined && input.ResourceTypes !== null) { + const memberEntries = serializeAws_ec2ValueStringList(input.ResourceTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_ec2RestorableByStringList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -50995,6 +54619,33 @@ const serializeAws_ec2StartInstancesRequest = (input: StartInstancesRequest, con return entries; }; +const serializeAws_ec2StartNetworkInsightsAccessScopeAnalysisRequest = ( + input: StartNetworkInsightsAccessScopeAnalysisRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.NetworkInsightsAccessScopeId !== undefined && input.NetworkInsightsAccessScopeId !== null) { + entries["NetworkInsightsAccessScopeId"] = input.NetworkInsightsAccessScopeId; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { + 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 && input.ClientToken !== null) { + entries["ClientToken"] = input.ClientToken; + } + return entries; +}; + const serializeAws_ec2StartNetworkInsightsAnalysisRequest = ( input: StartNetworkInsightsAnalysisRequest, context: __SerdeContext @@ -51285,6 +54936,40 @@ const serializeAws_ec2TerminateInstancesRequest = (input: TerminateInstancesRequ return entries; }; +const serializeAws_ec2ThroughResourcesStatementRequest = ( + input: ThroughResourcesStatementRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.ResourceStatement !== undefined && input.ResourceStatement !== null) { + const memberEntries = serializeAws_ec2ResourceStatementRequest(input.ResourceStatement, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceStatement.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2ThroughResourcesStatementRequestList = ( + input: ThroughResourcesStatementRequest[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = serializeAws_ec2ThroughResourcesStatementRequest(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`Item.${counter}.${key}`] = value; + }); + counter++; + } + return entries; +}; + const serializeAws_ec2TotalLocalStorageGB = (input: TotalLocalStorageGB, context: __SerdeContext): any => { const entries: any = {}; if (input.Min !== undefined && input.Min !== null) { @@ -52364,6 +56049,86 @@ const deserializeAws_ec2AcceptVpcPeeringConnectionResult = ( return contents; }; +const deserializeAws_ec2AccessScopeAnalysisFinding = ( + output: any, + context: __SerdeContext +): AccessScopeAnalysisFinding => { + const contents: any = { + NetworkInsightsAccessScopeAnalysisId: undefined, + NetworkInsightsAccessScopeId: undefined, + FindingId: undefined, + FindingComponents: undefined, + }; + if (output["networkInsightsAccessScopeAnalysisId"] !== undefined) { + contents.NetworkInsightsAccessScopeAnalysisId = __expectString(output["networkInsightsAccessScopeAnalysisId"]); + } + if (output["networkInsightsAccessScopeId"] !== undefined) { + contents.NetworkInsightsAccessScopeId = __expectString(output["networkInsightsAccessScopeId"]); + } + if (output["findingId"] !== undefined) { + contents.FindingId = __expectString(output["findingId"]); + } + if (output.findingComponentSet === "") { + contents.FindingComponents = []; + } + if (output["findingComponentSet"] !== undefined && output["findingComponentSet"]["item"] !== undefined) { + contents.FindingComponents = deserializeAws_ec2PathComponentList( + __getArrayIfSingleItem(output["findingComponentSet"]["item"]), + context + ); + } + return contents; +}; + +const deserializeAws_ec2AccessScopeAnalysisFindingList = ( + output: any, + context: __SerdeContext +): AccessScopeAnalysisFinding[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2AccessScopeAnalysisFinding(entry, context); + }); +}; + +const deserializeAws_ec2AccessScopePath = (output: any, context: __SerdeContext): AccessScopePath => { + const contents: any = { + Source: undefined, + Destination: undefined, + ThroughResources: undefined, + }; + if (output["source"] !== undefined) { + contents.Source = deserializeAws_ec2PathStatement(output["source"], context); + } + if (output["destination"] !== undefined) { + contents.Destination = deserializeAws_ec2PathStatement(output["destination"], context); + } + if (output.throughResourceSet === "") { + contents.ThroughResources = []; + } + if (output["throughResourceSet"] !== undefined && output["throughResourceSet"]["item"] !== undefined) { + contents.ThroughResources = deserializeAws_ec2ThroughResourcesStatementList( + __getArrayIfSingleItem(output["throughResourceSet"]["item"]), + context + ); + } + return contents; +}; + +const deserializeAws_ec2AccessScopePathList = (output: any, context: __SerdeContext): AccessScopePath[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2AccessScopePath(entry, context); + }); +}; + const deserializeAws_ec2AccountAttribute = (output: any, context: __SerdeContext): AccountAttribute => { const contents: any = { AttributeName: undefined, @@ -52622,6 +56387,19 @@ const deserializeAws_ec2AllocateHostsResult = (output: any, context: __SerdeCont return contents; }; +const deserializeAws_ec2AllocateIpamPoolCidrResult = ( + output: any, + context: __SerdeContext +): AllocateIpamPoolCidrResult => { + const contents: any = { + IpamPoolAllocation: undefined, + }; + if (output["ipamPoolAllocation"] !== undefined) { + contents.IpamPoolAllocation = deserializeAws_ec2IpamPoolAllocation(output["ipamPoolAllocation"], context); + } + return contents; +}; + const deserializeAws_ec2AllowedPrincipal = (output: any, context: __SerdeContext): AllowedPrincipal => { const contents: any = { PrincipalType: undefined, @@ -52706,6 +56484,7 @@ const deserializeAws_ec2AnalysisComponent = (output: any, context: __SerdeContex const contents: any = { Id: undefined, Arn: undefined, + Name: undefined, }; if (output["id"] !== undefined) { contents.Id = __expectString(output["id"]); @@ -52713,6 +56492,9 @@ const deserializeAws_ec2AnalysisComponent = (output: any, context: __SerdeContex if (output["arn"] !== undefined) { contents.Arn = __expectString(output["arn"]); } + if (output["name"] !== undefined) { + contents.Name = __expectString(output["name"]); + } return contents; }; @@ -55598,6 +59380,36 @@ const deserializeAws_ec2CreateInternetGatewayResult = ( return contents; }; +const deserializeAws_ec2CreateIpamPoolResult = (output: any, context: __SerdeContext): CreateIpamPoolResult => { + const contents: any = { + IpamPool: undefined, + }; + if (output["ipamPool"] !== undefined) { + contents.IpamPool = deserializeAws_ec2IpamPool(output["ipamPool"], context); + } + return contents; +}; + +const deserializeAws_ec2CreateIpamResult = (output: any, context: __SerdeContext): CreateIpamResult => { + const contents: any = { + Ipam: undefined, + }; + if (output["ipam"] !== undefined) { + contents.Ipam = deserializeAws_ec2Ipam(output["ipam"], context); + } + return contents; +}; + +const deserializeAws_ec2CreateIpamScopeResult = (output: any, context: __SerdeContext): CreateIpamScopeResult => { + const contents: any = { + IpamScope: undefined, + }; + if (output["ipamScope"] !== undefined) { + contents.IpamScope = deserializeAws_ec2IpamScope(output["ipamScope"], context); + } + return contents; +}; + const deserializeAws_ec2CreateLaunchTemplateResult = ( output: any, context: __SerdeContext @@ -55698,6 +59510,29 @@ const deserializeAws_ec2CreateNetworkAclResult = (output: any, context: __SerdeC return contents; }; +const deserializeAws_ec2CreateNetworkInsightsAccessScopeResult = ( + output: any, + context: __SerdeContext +): CreateNetworkInsightsAccessScopeResult => { + const contents: any = { + NetworkInsightsAccessScope: undefined, + NetworkInsightsAccessScopeContent: undefined, + }; + if (output["networkInsightsAccessScope"] !== undefined) { + contents.NetworkInsightsAccessScope = deserializeAws_ec2NetworkInsightsAccessScope( + output["networkInsightsAccessScope"], + context + ); + } + if (output["networkInsightsAccessScopeContent"] !== undefined) { + contents.NetworkInsightsAccessScopeContent = deserializeAws_ec2NetworkInsightsAccessScopeContent( + output["networkInsightsAccessScopeContent"], + context + ); + } + return contents; +}; + const deserializeAws_ec2CreateNetworkInsightsPathResult = ( output: any, context: __SerdeContext @@ -55754,6 +59589,19 @@ const deserializeAws_ec2CreatePlacementGroupResult = ( return contents; }; +const deserializeAws_ec2CreatePublicIpv4PoolResult = ( + output: any, + context: __SerdeContext +): CreatePublicIpv4PoolResult => { + const contents: any = { + PoolId: undefined, + }; + if (output["poolId"] !== undefined) { + contents.PoolId = __expectString(output["poolId"]); + } + return contents; +}; + const deserializeAws_ec2CreateReplaceRootVolumeTaskResult = ( output: any, context: __SerdeContext @@ -56505,6 +60353,36 @@ const deserializeAws_ec2DeleteInstanceEventWindowResult = ( return contents; }; +const deserializeAws_ec2DeleteIpamPoolResult = (output: any, context: __SerdeContext): DeleteIpamPoolResult => { + const contents: any = { + IpamPool: undefined, + }; + if (output["ipamPool"] !== undefined) { + contents.IpamPool = deserializeAws_ec2IpamPool(output["ipamPool"], context); + } + return contents; +}; + +const deserializeAws_ec2DeleteIpamResult = (output: any, context: __SerdeContext): DeleteIpamResult => { + const contents: any = { + Ipam: undefined, + }; + if (output["ipam"] !== undefined) { + contents.Ipam = deserializeAws_ec2Ipam(output["ipam"], context); + } + return contents; +}; + +const deserializeAws_ec2DeleteIpamScopeResult = (output: any, context: __SerdeContext): DeleteIpamScopeResult => { + const contents: any = { + IpamScope: undefined, + }; + if (output["ipamScope"] !== undefined) { + contents.IpamScope = deserializeAws_ec2IpamScope(output["ipamScope"], context); + } + return contents; +}; + const deserializeAws_ec2DeleteLaunchTemplateResult = ( output: any, context: __SerdeContext @@ -56681,6 +60559,32 @@ const deserializeAws_ec2DeleteNatGatewayResult = (output: any, context: __SerdeC return contents; }; +const deserializeAws_ec2DeleteNetworkInsightsAccessScopeAnalysisResult = ( + output: any, + context: __SerdeContext +): DeleteNetworkInsightsAccessScopeAnalysisResult => { + const contents: any = { + NetworkInsightsAccessScopeAnalysisId: undefined, + }; + if (output["networkInsightsAccessScopeAnalysisId"] !== undefined) { + contents.NetworkInsightsAccessScopeAnalysisId = __expectString(output["networkInsightsAccessScopeAnalysisId"]); + } + return contents; +}; + +const deserializeAws_ec2DeleteNetworkInsightsAccessScopeResult = ( + output: any, + context: __SerdeContext +): DeleteNetworkInsightsAccessScopeResult => { + const contents: any = { + NetworkInsightsAccessScopeId: undefined, + }; + if (output["networkInsightsAccessScopeId"] !== undefined) { + contents.NetworkInsightsAccessScopeId = __expectString(output["networkInsightsAccessScopeId"]); + } + return contents; +}; + const deserializeAws_ec2DeleteNetworkInsightsAnalysisResult = ( output: any, context: __SerdeContext @@ -56720,6 +60624,19 @@ const deserializeAws_ec2DeleteNetworkInterfacePermissionResult = ( return contents; }; +const deserializeAws_ec2DeletePublicIpv4PoolResult = ( + output: any, + context: __SerdeContext +): DeletePublicIpv4PoolResult => { + const contents: any = { + ReturnValue: undefined, + }; + if (output["returnValue"] !== undefined) { + contents.ReturnValue = __parseBoolean(output["returnValue"]); + } + return contents; +}; + const deserializeAws_ec2DeleteQueuedReservedInstancesError = ( output: any, context: __SerdeContext @@ -57055,6 +60972,53 @@ const deserializeAws_ec2DeprovisionByoipCidrResult = ( return contents; }; +const deserializeAws_ec2DeprovisionedAddressSet = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_ec2DeprovisionIpamPoolCidrResult = ( + output: any, + context: __SerdeContext +): DeprovisionIpamPoolCidrResult => { + const contents: any = { + IpamPoolCidr: undefined, + }; + if (output["ipamPoolCidr"] !== undefined) { + contents.IpamPoolCidr = deserializeAws_ec2IpamPoolCidr(output["ipamPoolCidr"], context); + } + return contents; +}; + +const deserializeAws_ec2DeprovisionPublicIpv4PoolCidrResult = ( + output: any, + context: __SerdeContext +): DeprovisionPublicIpv4PoolCidrResult => { + const contents: any = { + PoolId: undefined, + DeprovisionedAddresses: undefined, + }; + if (output["poolId"] !== undefined) { + contents.PoolId = __expectString(output["poolId"]); + } + if (output.deprovisionedAddressSet === "") { + contents.DeprovisionedAddresses = []; + } + if (output["deprovisionedAddressSet"] !== undefined && output["deprovisionedAddressSet"]["item"] !== undefined) { + contents.DeprovisionedAddresses = deserializeAws_ec2DeprovisionedAddressSet( + __getArrayIfSingleItem(output["deprovisionedAddressSet"]["item"]), + context + ); + } + return contents; +}; + const deserializeAws_ec2DeregisterInstanceEventNotificationAttributesResult = ( output: any, context: __SerdeContext @@ -58282,6 +62246,60 @@ const deserializeAws_ec2DescribeInternetGatewaysResult = ( return contents; }; +const deserializeAws_ec2DescribeIpamPoolsResult = (output: any, context: __SerdeContext): DescribeIpamPoolsResult => { + const contents: any = { + NextToken: undefined, + IpamPools: undefined, + }; + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + if (output.ipamPoolSet === "") { + contents.IpamPools = []; + } + if (output["ipamPoolSet"] !== undefined && output["ipamPoolSet"]["item"] !== undefined) { + contents.IpamPools = deserializeAws_ec2IpamPoolSet(__getArrayIfSingleItem(output["ipamPoolSet"]["item"]), context); + } + return contents; +}; + +const deserializeAws_ec2DescribeIpamScopesResult = (output: any, context: __SerdeContext): DescribeIpamScopesResult => { + const contents: any = { + NextToken: undefined, + IpamScopes: undefined, + }; + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + if (output.ipamScopeSet === "") { + contents.IpamScopes = []; + } + if (output["ipamScopeSet"] !== undefined && output["ipamScopeSet"]["item"] !== undefined) { + contents.IpamScopes = deserializeAws_ec2IpamScopeSet( + __getArrayIfSingleItem(output["ipamScopeSet"]["item"]), + context + ); + } + return contents; +}; + +const deserializeAws_ec2DescribeIpamsResult = (output: any, context: __SerdeContext): DescribeIpamsResult => { + const contents: any = { + NextToken: undefined, + Ipams: undefined, + }; + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + if (output.ipamSet === "") { + contents.Ipams = []; + } + if (output["ipamSet"] !== undefined && output["ipamSet"]["item"] !== undefined) { + contents.Ipams = deserializeAws_ec2IpamSet(__getArrayIfSingleItem(output["ipamSet"]["item"]), context); + } + return contents; +}; + const deserializeAws_ec2DescribeIpv6PoolsResult = (output: any, context: __SerdeContext): DescribeIpv6PoolsResult => { const contents: any = { Ipv6Pools: undefined, @@ -58601,6 +62619,58 @@ const deserializeAws_ec2DescribeNetworkAclsResult = ( return contents; }; +const deserializeAws_ec2DescribeNetworkInsightsAccessScopeAnalysesResult = ( + output: any, + context: __SerdeContext +): DescribeNetworkInsightsAccessScopeAnalysesResult => { + const contents: any = { + NetworkInsightsAccessScopeAnalyses: undefined, + NextToken: undefined, + }; + if (output.networkInsightsAccessScopeAnalysisSet === "") { + contents.NetworkInsightsAccessScopeAnalyses = []; + } + if ( + output["networkInsightsAccessScopeAnalysisSet"] !== undefined && + output["networkInsightsAccessScopeAnalysisSet"]["item"] !== undefined + ) { + contents.NetworkInsightsAccessScopeAnalyses = deserializeAws_ec2NetworkInsightsAccessScopeAnalysisList( + __getArrayIfSingleItem(output["networkInsightsAccessScopeAnalysisSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + +const deserializeAws_ec2DescribeNetworkInsightsAccessScopesResult = ( + output: any, + context: __SerdeContext +): DescribeNetworkInsightsAccessScopesResult => { + const contents: any = { + NetworkInsightsAccessScopes: undefined, + NextToken: undefined, + }; + if (output.networkInsightsAccessScopeSet === "") { + contents.NetworkInsightsAccessScopes = []; + } + if ( + output["networkInsightsAccessScopeSet"] !== undefined && + output["networkInsightsAccessScopeSet"]["item"] !== undefined + ) { + contents.NetworkInsightsAccessScopes = deserializeAws_ec2NetworkInsightsAccessScopeList( + __getArrayIfSingleItem(output["networkInsightsAccessScopeSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + const deserializeAws_ec2DescribeNetworkInsightsAnalysesResult = ( output: any, context: __SerdeContext @@ -60393,6 +64463,19 @@ const deserializeAws_ec2DisableImageDeprecationResult = ( return contents; }; +const deserializeAws_ec2DisableIpamOrganizationAdminAccountResult = ( + output: any, + context: __SerdeContext +): DisableIpamOrganizationAdminAccountResult => { + const contents: any = { + Success: undefined, + }; + if (output["success"] !== undefined) { + contents.Success = __parseBoolean(output["success"]); + } + return contents; +}; + const deserializeAws_ec2DisableSerialConsoleAccessResult = ( output: any, context: __SerdeContext @@ -61230,6 +65313,19 @@ const deserializeAws_ec2EnableImageDeprecationResult = ( return contents; }; +const deserializeAws_ec2EnableIpamOrganizationAdminAccountResult = ( + output: any, + context: __SerdeContext +): EnableIpamOrganizationAdminAccountResult => { + const contents: any = { + Success: undefined, + }; + if (output["success"] !== undefined) { + contents.Success = __parseBoolean(output["success"]); + } + return contents; +}; + const deserializeAws_ec2EnableSerialConsoleAccessResult = ( output: any, context: __SerdeContext @@ -62778,6 +66874,95 @@ const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsResult = ( return contents; }; +const deserializeAws_ec2GetIpamAddressHistoryResult = ( + output: any, + context: __SerdeContext +): GetIpamAddressHistoryResult => { + const contents: any = { + HistoryRecords: undefined, + NextToken: undefined, + }; + if (output.historyRecordSet === "") { + contents.HistoryRecords = []; + } + if (output["historyRecordSet"] !== undefined && output["historyRecordSet"]["item"] !== undefined) { + contents.HistoryRecords = deserializeAws_ec2IpamAddressHistoryRecordSet( + __getArrayIfSingleItem(output["historyRecordSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + +const deserializeAws_ec2GetIpamPoolAllocationsResult = ( + output: any, + context: __SerdeContext +): GetIpamPoolAllocationsResult => { + const contents: any = { + IpamPoolAllocations: undefined, + NextToken: undefined, + }; + if (output.ipamPoolAllocationSet === "") { + contents.IpamPoolAllocations = []; + } + if (output["ipamPoolAllocationSet"] !== undefined && output["ipamPoolAllocationSet"]["item"] !== undefined) { + contents.IpamPoolAllocations = deserializeAws_ec2IpamPoolAllocationSet( + __getArrayIfSingleItem(output["ipamPoolAllocationSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + +const deserializeAws_ec2GetIpamPoolCidrsResult = (output: any, context: __SerdeContext): GetIpamPoolCidrsResult => { + const contents: any = { + IpamPoolCidrs: undefined, + NextToken: undefined, + }; + if (output.ipamPoolCidrSet === "") { + contents.IpamPoolCidrs = []; + } + if (output["ipamPoolCidrSet"] !== undefined && output["ipamPoolCidrSet"]["item"] !== undefined) { + contents.IpamPoolCidrs = deserializeAws_ec2IpamPoolCidrSet( + __getArrayIfSingleItem(output["ipamPoolCidrSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + +const deserializeAws_ec2GetIpamResourceCidrsResult = ( + output: any, + context: __SerdeContext +): GetIpamResourceCidrsResult => { + const contents: any = { + NextToken: undefined, + IpamResourceCidrs: undefined, + }; + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + if (output.ipamResourceCidrSet === "") { + contents.IpamResourceCidrs = []; + } + if (output["ipamResourceCidrSet"] !== undefined && output["ipamResourceCidrSet"]["item"] !== undefined) { + contents.IpamResourceCidrs = deserializeAws_ec2IpamResourceCidrSet( + __getArrayIfSingleItem(output["ipamResourceCidrSet"]["item"]), + context + ); + } + return contents; +}; + const deserializeAws_ec2GetLaunchTemplateDataResult = ( output: any, context: __SerdeContext @@ -62837,6 +67022,53 @@ const deserializeAws_ec2GetManagedPrefixListEntriesResult = ( return contents; }; +const deserializeAws_ec2GetNetworkInsightsAccessScopeAnalysisFindingsResult = ( + output: any, + context: __SerdeContext +): GetNetworkInsightsAccessScopeAnalysisFindingsResult => { + const contents: any = { + NetworkInsightsAccessScopeAnalysisId: undefined, + AnalysisStatus: undefined, + AnalysisFindings: undefined, + NextToken: undefined, + }; + if (output["networkInsightsAccessScopeAnalysisId"] !== undefined) { + contents.NetworkInsightsAccessScopeAnalysisId = __expectString(output["networkInsightsAccessScopeAnalysisId"]); + } + if (output["analysisStatus"] !== undefined) { + contents.AnalysisStatus = __expectString(output["analysisStatus"]); + } + if (output.analysisFindingSet === "") { + contents.AnalysisFindings = []; + } + if (output["analysisFindingSet"] !== undefined && output["analysisFindingSet"]["item"] !== undefined) { + contents.AnalysisFindings = deserializeAws_ec2AccessScopeAnalysisFindingList( + __getArrayIfSingleItem(output["analysisFindingSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + +const deserializeAws_ec2GetNetworkInsightsAccessScopeContentResult = ( + output: any, + context: __SerdeContext +): GetNetworkInsightsAccessScopeContentResult => { + const contents: any = { + NetworkInsightsAccessScopeContent: undefined, + }; + if (output["networkInsightsAccessScopeContent"] !== undefined) { + contents.NetworkInsightsAccessScopeContent = deserializeAws_ec2NetworkInsightsAccessScopeContent( + output["networkInsightsAccessScopeContent"], + context + ); + } + return contents; +}; + const deserializeAws_ec2GetPasswordDataResult = (output: any, context: __SerdeContext): GetPasswordDataResult => { const contents: any = { InstanceId: undefined, @@ -66321,6 +70553,538 @@ const deserializeAws_ec2IpAddressList = (output: any, context: __SerdeContext): }); }; +const deserializeAws_ec2Ipam = (output: any, context: __SerdeContext): Ipam => { + const contents: any = { + OwnerId: undefined, + IpamId: undefined, + IpamArn: undefined, + IpamRegion: undefined, + PublicDefaultScopeId: undefined, + PrivateDefaultScopeId: undefined, + ScopeCount: undefined, + Description: undefined, + OperatingRegions: undefined, + State: undefined, + Tags: undefined, + }; + if (output["ownerId"] !== undefined) { + contents.OwnerId = __expectString(output["ownerId"]); + } + if (output["ipamId"] !== undefined) { + contents.IpamId = __expectString(output["ipamId"]); + } + if (output["ipamArn"] !== undefined) { + contents.IpamArn = __expectString(output["ipamArn"]); + } + if (output["ipamRegion"] !== undefined) { + contents.IpamRegion = __expectString(output["ipamRegion"]); + } + if (output["publicDefaultScopeId"] !== undefined) { + contents.PublicDefaultScopeId = __expectString(output["publicDefaultScopeId"]); + } + if (output["privateDefaultScopeId"] !== undefined) { + contents.PrivateDefaultScopeId = __expectString(output["privateDefaultScopeId"]); + } + if (output["scopeCount"] !== undefined) { + contents.ScopeCount = __strictParseInt32(output["scopeCount"]) as number; + } + if (output["description"] !== undefined) { + contents.Description = __expectString(output["description"]); + } + if (output.operatingRegionSet === "") { + contents.OperatingRegions = []; + } + if (output["operatingRegionSet"] !== undefined && output["operatingRegionSet"]["item"] !== undefined) { + contents.OperatingRegions = deserializeAws_ec2IpamOperatingRegionSet( + __getArrayIfSingleItem(output["operatingRegionSet"]["item"]), + context + ); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + 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_ec2IpamAddressHistoryRecord = (output: any, context: __SerdeContext): IpamAddressHistoryRecord => { + const contents: any = { + ResourceOwnerId: undefined, + ResourceRegion: undefined, + ResourceType: undefined, + ResourceId: undefined, + ResourceCidr: undefined, + ResourceName: undefined, + ResourceComplianceStatus: undefined, + ResourceOverlapStatus: undefined, + VpcId: undefined, + SampledStartTime: undefined, + SampledEndTime: undefined, + }; + if (output["resourceOwnerId"] !== undefined) { + contents.ResourceOwnerId = __expectString(output["resourceOwnerId"]); + } + if (output["resourceRegion"] !== undefined) { + contents.ResourceRegion = __expectString(output["resourceRegion"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output["resourceId"] !== undefined) { + contents.ResourceId = __expectString(output["resourceId"]); + } + if (output["resourceCidr"] !== undefined) { + contents.ResourceCidr = __expectString(output["resourceCidr"]); + } + if (output["resourceName"] !== undefined) { + contents.ResourceName = __expectString(output["resourceName"]); + } + if (output["resourceComplianceStatus"] !== undefined) { + contents.ResourceComplianceStatus = __expectString(output["resourceComplianceStatus"]); + } + if (output["resourceOverlapStatus"] !== undefined) { + contents.ResourceOverlapStatus = __expectString(output["resourceOverlapStatus"]); + } + if (output["vpcId"] !== undefined) { + contents.VpcId = __expectString(output["vpcId"]); + } + if (output["sampledStartTime"] !== undefined) { + contents.SampledStartTime = __expectNonNull(__parseRfc3339DateTime(output["sampledStartTime"])); + } + if (output["sampledEndTime"] !== undefined) { + contents.SampledEndTime = __expectNonNull(__parseRfc3339DateTime(output["sampledEndTime"])); + } + return contents; +}; + +const deserializeAws_ec2IpamAddressHistoryRecordSet = ( + output: any, + context: __SerdeContext +): IpamAddressHistoryRecord[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamAddressHistoryRecord(entry, context); + }); +}; + +const deserializeAws_ec2IpamOperatingRegion = (output: any, context: __SerdeContext): IpamOperatingRegion => { + const contents: any = { + RegionName: undefined, + }; + if (output["regionName"] !== undefined) { + contents.RegionName = __expectString(output["regionName"]); + } + return contents; +}; + +const deserializeAws_ec2IpamOperatingRegionSet = (output: any, context: __SerdeContext): IpamOperatingRegion[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamOperatingRegion(entry, context); + }); +}; + +const deserializeAws_ec2IpamPool = (output: any, context: __SerdeContext): IpamPool => { + const contents: any = { + OwnerId: undefined, + IpamPoolId: undefined, + SourceIpamPoolId: undefined, + IpamPoolArn: undefined, + IpamScopeArn: undefined, + IpamScopeType: undefined, + IpamArn: undefined, + IpamRegion: undefined, + Locale: undefined, + PoolDepth: undefined, + State: undefined, + StateMessage: undefined, + Description: undefined, + AutoImport: undefined, + PubliclyAdvertisable: undefined, + AddressFamily: undefined, + AllocationMinNetmaskLength: undefined, + AllocationMaxNetmaskLength: undefined, + AllocationDefaultNetmaskLength: undefined, + AllocationResourceTags: undefined, + Tags: undefined, + AwsService: undefined, + }; + if (output["ownerId"] !== undefined) { + contents.OwnerId = __expectString(output["ownerId"]); + } + if (output["ipamPoolId"] !== undefined) { + contents.IpamPoolId = __expectString(output["ipamPoolId"]); + } + if (output["sourceIpamPoolId"] !== undefined) { + contents.SourceIpamPoolId = __expectString(output["sourceIpamPoolId"]); + } + if (output["ipamPoolArn"] !== undefined) { + contents.IpamPoolArn = __expectString(output["ipamPoolArn"]); + } + if (output["ipamScopeArn"] !== undefined) { + contents.IpamScopeArn = __expectString(output["ipamScopeArn"]); + } + if (output["ipamScopeType"] !== undefined) { + contents.IpamScopeType = __expectString(output["ipamScopeType"]); + } + if (output["ipamArn"] !== undefined) { + contents.IpamArn = __expectString(output["ipamArn"]); + } + if (output["ipamRegion"] !== undefined) { + contents.IpamRegion = __expectString(output["ipamRegion"]); + } + if (output["locale"] !== undefined) { + contents.Locale = __expectString(output["locale"]); + } + if (output["poolDepth"] !== undefined) { + contents.PoolDepth = __strictParseInt32(output["poolDepth"]) as number; + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + if (output["stateMessage"] !== undefined) { + contents.StateMessage = __expectString(output["stateMessage"]); + } + if (output["description"] !== undefined) { + contents.Description = __expectString(output["description"]); + } + if (output["autoImport"] !== undefined) { + contents.AutoImport = __parseBoolean(output["autoImport"]); + } + if (output["publiclyAdvertisable"] !== undefined) { + contents.PubliclyAdvertisable = __parseBoolean(output["publiclyAdvertisable"]); + } + if (output["addressFamily"] !== undefined) { + contents.AddressFamily = __expectString(output["addressFamily"]); + } + if (output["allocationMinNetmaskLength"] !== undefined) { + contents.AllocationMinNetmaskLength = __strictParseInt32(output["allocationMinNetmaskLength"]) as number; + } + if (output["allocationMaxNetmaskLength"] !== undefined) { + contents.AllocationMaxNetmaskLength = __strictParseInt32(output["allocationMaxNetmaskLength"]) as number; + } + if (output["allocationDefaultNetmaskLength"] !== undefined) { + contents.AllocationDefaultNetmaskLength = __strictParseInt32(output["allocationDefaultNetmaskLength"]) as number; + } + if (output.allocationResourceTagSet === "") { + contents.AllocationResourceTags = []; + } + if (output["allocationResourceTagSet"] !== undefined && output["allocationResourceTagSet"]["item"] !== undefined) { + contents.AllocationResourceTags = deserializeAws_ec2IpamResourceTagList( + __getArrayIfSingleItem(output["allocationResourceTagSet"]["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["awsService"] !== undefined) { + contents.AwsService = __expectString(output["awsService"]); + } + return contents; +}; + +const deserializeAws_ec2IpamPoolAllocation = (output: any, context: __SerdeContext): IpamPoolAllocation => { + const contents: any = { + Cidr: undefined, + IpamPoolAllocationId: undefined, + Description: undefined, + ResourceId: undefined, + ResourceType: undefined, + ResourceRegion: undefined, + ResourceOwner: undefined, + }; + if (output["cidr"] !== undefined) { + contents.Cidr = __expectString(output["cidr"]); + } + if (output["ipamPoolAllocationId"] !== undefined) { + contents.IpamPoolAllocationId = __expectString(output["ipamPoolAllocationId"]); + } + if (output["description"] !== undefined) { + contents.Description = __expectString(output["description"]); + } + if (output["resourceId"] !== undefined) { + contents.ResourceId = __expectString(output["resourceId"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output["resourceRegion"] !== undefined) { + contents.ResourceRegion = __expectString(output["resourceRegion"]); + } + if (output["resourceOwner"] !== undefined) { + contents.ResourceOwner = __expectString(output["resourceOwner"]); + } + return contents; +}; + +const deserializeAws_ec2IpamPoolAllocationSet = (output: any, context: __SerdeContext): IpamPoolAllocation[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamPoolAllocation(entry, context); + }); +}; + +const deserializeAws_ec2IpamPoolCidr = (output: any, context: __SerdeContext): IpamPoolCidr => { + const contents: any = { + Cidr: undefined, + State: undefined, + FailureReason: undefined, + }; + if (output["cidr"] !== undefined) { + contents.Cidr = __expectString(output["cidr"]); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + if (output["failureReason"] !== undefined) { + contents.FailureReason = deserializeAws_ec2IpamPoolCidrFailureReason(output["failureReason"], context); + } + return contents; +}; + +const deserializeAws_ec2IpamPoolCidrFailureReason = ( + output: any, + context: __SerdeContext +): IpamPoolCidrFailureReason => { + const contents: any = { + Code: undefined, + Message: undefined, + }; + if (output["code"] !== undefined) { + contents.Code = __expectString(output["code"]); + } + if (output["message"] !== undefined) { + contents.Message = __expectString(output["message"]); + } + return contents; +}; + +const deserializeAws_ec2IpamPoolCidrSet = (output: any, context: __SerdeContext): IpamPoolCidr[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamPoolCidr(entry, context); + }); +}; + +const deserializeAws_ec2IpamPoolSet = (output: any, context: __SerdeContext): IpamPool[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamPool(entry, context); + }); +}; + +const deserializeAws_ec2IpamResourceCidr = (output: any, context: __SerdeContext): IpamResourceCidr => { + const contents: any = { + IpamId: undefined, + IpamScopeId: undefined, + IpamPoolId: undefined, + ResourceRegion: undefined, + ResourceOwnerId: undefined, + ResourceId: undefined, + ResourceName: undefined, + ResourceCidr: undefined, + ResourceType: undefined, + ResourceTags: undefined, + IpUsage: undefined, + ComplianceStatus: undefined, + ManagementState: undefined, + OverlapStatus: undefined, + VpcId: undefined, + }; + if (output["ipamId"] !== undefined) { + contents.IpamId = __expectString(output["ipamId"]); + } + if (output["ipamScopeId"] !== undefined) { + contents.IpamScopeId = __expectString(output["ipamScopeId"]); + } + if (output["ipamPoolId"] !== undefined) { + contents.IpamPoolId = __expectString(output["ipamPoolId"]); + } + if (output["resourceRegion"] !== undefined) { + contents.ResourceRegion = __expectString(output["resourceRegion"]); + } + if (output["resourceOwnerId"] !== undefined) { + contents.ResourceOwnerId = __expectString(output["resourceOwnerId"]); + } + if (output["resourceId"] !== undefined) { + contents.ResourceId = __expectString(output["resourceId"]); + } + if (output["resourceName"] !== undefined) { + contents.ResourceName = __expectString(output["resourceName"]); + } + if (output["resourceCidr"] !== undefined) { + contents.ResourceCidr = __expectString(output["resourceCidr"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output.resourceTagSet === "") { + contents.ResourceTags = []; + } + if (output["resourceTagSet"] !== undefined && output["resourceTagSet"]["item"] !== undefined) { + contents.ResourceTags = deserializeAws_ec2IpamResourceTagList( + __getArrayIfSingleItem(output["resourceTagSet"]["item"]), + context + ); + } + if (output["ipUsage"] !== undefined) { + contents.IpUsage = __strictParseFloat(output["ipUsage"]) as number; + } + if (output["complianceStatus"] !== undefined) { + contents.ComplianceStatus = __expectString(output["complianceStatus"]); + } + if (output["managementState"] !== undefined) { + contents.ManagementState = __expectString(output["managementState"]); + } + if (output["overlapStatus"] !== undefined) { + contents.OverlapStatus = __expectString(output["overlapStatus"]); + } + if (output["vpcId"] !== undefined) { + contents.VpcId = __expectString(output["vpcId"]); + } + return contents; +}; + +const deserializeAws_ec2IpamResourceCidrSet = (output: any, context: __SerdeContext): IpamResourceCidr[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamResourceCidr(entry, context); + }); +}; + +const deserializeAws_ec2IpamResourceTag = (output: any, context: __SerdeContext): IpamResourceTag => { + const contents: any = { + Key: undefined, + Value: undefined, + }; + if (output["key"] !== undefined) { + contents.Key = __expectString(output["key"]); + } + if (output["value"] !== undefined) { + contents.Value = __expectString(output["value"]); + } + return contents; +}; + +const deserializeAws_ec2IpamResourceTagList = (output: any, context: __SerdeContext): IpamResourceTag[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamResourceTag(entry, context); + }); +}; + +const deserializeAws_ec2IpamScope = (output: any, context: __SerdeContext): IpamScope => { + const contents: any = { + OwnerId: undefined, + IpamScopeId: undefined, + IpamScopeArn: undefined, + IpamArn: undefined, + IpamRegion: undefined, + IpamScopeType: undefined, + IsDefault: undefined, + Description: undefined, + PoolCount: undefined, + State: undefined, + Tags: undefined, + }; + if (output["ownerId"] !== undefined) { + contents.OwnerId = __expectString(output["ownerId"]); + } + if (output["ipamScopeId"] !== undefined) { + contents.IpamScopeId = __expectString(output["ipamScopeId"]); + } + if (output["ipamScopeArn"] !== undefined) { + contents.IpamScopeArn = __expectString(output["ipamScopeArn"]); + } + if (output["ipamArn"] !== undefined) { + contents.IpamArn = __expectString(output["ipamArn"]); + } + if (output["ipamRegion"] !== undefined) { + contents.IpamRegion = __expectString(output["ipamRegion"]); + } + if (output["ipamScopeType"] !== undefined) { + contents.IpamScopeType = __expectString(output["ipamScopeType"]); + } + if (output["isDefault"] !== undefined) { + contents.IsDefault = __parseBoolean(output["isDefault"]); + } + if (output["description"] !== undefined) { + contents.Description = __expectString(output["description"]); + } + if (output["poolCount"] !== undefined) { + contents.PoolCount = __strictParseInt32(output["poolCount"]) as number; + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + 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_ec2IpamScopeSet = (output: any, context: __SerdeContext): IpamScope[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2IpamScope(entry, context); + }); +}; + +const deserializeAws_ec2IpamSet = (output: any, context: __SerdeContext): Ipam[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2Ipam(entry, context); + }); +}; + const deserializeAws_ec2IpPermission = (output: any, context: __SerdeContext): IpPermission => { const contents: any = { FromPort: undefined, @@ -68467,6 +73231,49 @@ const deserializeAws_ec2ModifyInstancePlacementResult = ( return contents; }; +const deserializeAws_ec2ModifyIpamPoolResult = (output: any, context: __SerdeContext): ModifyIpamPoolResult => { + const contents: any = { + IpamPool: undefined, + }; + if (output["ipamPool"] !== undefined) { + contents.IpamPool = deserializeAws_ec2IpamPool(output["ipamPool"], context); + } + return contents; +}; + +const deserializeAws_ec2ModifyIpamResourceCidrResult = ( + output: any, + context: __SerdeContext +): ModifyIpamResourceCidrResult => { + const contents: any = { + IpamResourceCidr: undefined, + }; + if (output["ipamResourceCidr"] !== undefined) { + contents.IpamResourceCidr = deserializeAws_ec2IpamResourceCidr(output["ipamResourceCidr"], context); + } + return contents; +}; + +const deserializeAws_ec2ModifyIpamResult = (output: any, context: __SerdeContext): ModifyIpamResult => { + const contents: any = { + Ipam: undefined, + }; + if (output["ipam"] !== undefined) { + contents.Ipam = deserializeAws_ec2Ipam(output["ipam"], context); + } + return contents; +}; + +const deserializeAws_ec2ModifyIpamScopeResult = (output: any, context: __SerdeContext): ModifyIpamScopeResult => { + const contents: any = { + IpamScope: undefined, + }; + if (output["ipamScope"] !== undefined) { + contents.IpamScope = deserializeAws_ec2IpamScope(output["ipamScope"], context); + } + return contents; +}; + const deserializeAws_ec2ModifyLaunchTemplateResult = ( output: any, context: __SerdeContext @@ -68830,6 +73637,19 @@ const deserializeAws_ec2MoveAddressToVpcResult = (output: any, context: __SerdeC return contents; }; +const deserializeAws_ec2MoveByoipCidrToIpamResult = ( + output: any, + context: __SerdeContext +): MoveByoipCidrToIpamResult => { + const contents: any = { + ByoipCidr: undefined, + }; + if (output["byoipCidr"] !== undefined) { + contents.ByoipCidr = deserializeAws_ec2ByoipCidr(output["byoipCidr"], context); + } + return contents; +}; + const deserializeAws_ec2MovingAddressStatus = (output: any, context: __SerdeContext): MovingAddressStatus => { const contents: any = { MoveStatus: undefined, @@ -69189,6 +74009,155 @@ const deserializeAws_ec2NetworkInfo = (output: any, context: __SerdeContext): Ne return contents; }; +const deserializeAws_ec2NetworkInsightsAccessScope = ( + output: any, + context: __SerdeContext +): NetworkInsightsAccessScope => { + const contents: any = { + NetworkInsightsAccessScopeId: undefined, + NetworkInsightsAccessScopeArn: undefined, + CreatedDate: undefined, + UpdatedDate: undefined, + Tags: undefined, + }; + if (output["networkInsightsAccessScopeId"] !== undefined) { + contents.NetworkInsightsAccessScopeId = __expectString(output["networkInsightsAccessScopeId"]); + } + if (output["networkInsightsAccessScopeArn"] !== undefined) { + contents.NetworkInsightsAccessScopeArn = __expectString(output["networkInsightsAccessScopeArn"]); + } + if (output["createdDate"] !== undefined) { + contents.CreatedDate = __expectNonNull(__parseRfc3339DateTime(output["createdDate"])); + } + if (output["updatedDate"] !== undefined) { + contents.UpdatedDate = __expectNonNull(__parseRfc3339DateTime(output["updatedDate"])); + } + 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_ec2NetworkInsightsAccessScopeAnalysis = ( + output: any, + context: __SerdeContext +): NetworkInsightsAccessScopeAnalysis => { + const contents: any = { + NetworkInsightsAccessScopeAnalysisId: undefined, + NetworkInsightsAccessScopeAnalysisArn: undefined, + NetworkInsightsAccessScopeId: undefined, + Status: undefined, + StatusMessage: undefined, + WarningMessage: undefined, + StartDate: undefined, + EndDate: undefined, + FindingsFound: undefined, + AnalyzedEniCount: undefined, + Tags: undefined, + }; + if (output["networkInsightsAccessScopeAnalysisId"] !== undefined) { + contents.NetworkInsightsAccessScopeAnalysisId = __expectString(output["networkInsightsAccessScopeAnalysisId"]); + } + if (output["networkInsightsAccessScopeAnalysisArn"] !== undefined) { + contents.NetworkInsightsAccessScopeAnalysisArn = __expectString(output["networkInsightsAccessScopeAnalysisArn"]); + } + if (output["networkInsightsAccessScopeId"] !== undefined) { + contents.NetworkInsightsAccessScopeId = __expectString(output["networkInsightsAccessScopeId"]); + } + if (output["status"] !== undefined) { + contents.Status = __expectString(output["status"]); + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = __expectString(output["statusMessage"]); + } + if (output["warningMessage"] !== undefined) { + contents.WarningMessage = __expectString(output["warningMessage"]); + } + if (output["startDate"] !== undefined) { + contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"])); + } + if (output["endDate"] !== undefined) { + contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"])); + } + if (output["findingsFound"] !== undefined) { + contents.FindingsFound = __expectString(output["findingsFound"]); + } + if (output["analyzedEniCount"] !== undefined) { + contents.AnalyzedEniCount = __strictParseInt32(output["analyzedEniCount"]) as number; + } + 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_ec2NetworkInsightsAccessScopeAnalysisList = ( + output: any, + context: __SerdeContext +): NetworkInsightsAccessScopeAnalysis[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2NetworkInsightsAccessScopeAnalysis(entry, context); + }); +}; + +const deserializeAws_ec2NetworkInsightsAccessScopeContent = ( + output: any, + context: __SerdeContext +): NetworkInsightsAccessScopeContent => { + const contents: any = { + NetworkInsightsAccessScopeId: undefined, + MatchPaths: undefined, + ExcludePaths: undefined, + }; + if (output["networkInsightsAccessScopeId"] !== undefined) { + contents.NetworkInsightsAccessScopeId = __expectString(output["networkInsightsAccessScopeId"]); + } + if (output.matchPathSet === "") { + contents.MatchPaths = []; + } + if (output["matchPathSet"] !== undefined && output["matchPathSet"]["item"] !== undefined) { + contents.MatchPaths = deserializeAws_ec2AccessScopePathList( + __getArrayIfSingleItem(output["matchPathSet"]["item"]), + context + ); + } + if (output.excludePathSet === "") { + contents.ExcludePaths = []; + } + if (output["excludePathSet"] !== undefined && output["excludePathSet"]["item"] !== undefined) { + contents.ExcludePaths = deserializeAws_ec2AccessScopePathList( + __getArrayIfSingleItem(output["excludePathSet"]["item"]), + context + ); + } + return contents; +}; + +const deserializeAws_ec2NetworkInsightsAccessScopeList = ( + output: any, + context: __SerdeContext +): NetworkInsightsAccessScope[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2NetworkInsightsAccessScope(entry, context); + }); +}; + const deserializeAws_ec2NetworkInsightsAnalysis = (output: any, context: __SerdeContext): NetworkInsightsAnalysis => { const contents: any = { NetworkInsightsAnalysisId: undefined, @@ -69198,6 +74167,7 @@ const deserializeAws_ec2NetworkInsightsAnalysis = (output: any, context: __Serde StartDate: undefined, Status: undefined, StatusMessage: undefined, + WarningMessage: undefined, NetworkPathFound: undefined, ForwardPathComponents: undefined, ReturnPathComponents: undefined, @@ -69232,6 +74202,9 @@ const deserializeAws_ec2NetworkInsightsAnalysis = (output: any, context: __Serde if (output["statusMessage"] !== undefined) { contents.StatusMessage = __expectString(output["statusMessage"]); } + if (output["warningMessage"] !== undefined) { + contents.WarningMessage = __expectString(output["warningMessage"]); + } if (output["networkPathFound"] !== undefined) { contents.NetworkPathFound = __parseBoolean(output["networkPathFound"]); } @@ -69774,10 +74747,84 @@ const deserializeAws_ec2OnDemandOptions = (output: any, context: __SerdeContext) return contents; }; +const deserializeAws_ec2PacketHeaderStatement = (output: any, context: __SerdeContext): PacketHeaderStatement => { + const contents: any = { + SourceAddresses: undefined, + DestinationAddresses: undefined, + SourcePorts: undefined, + DestinationPorts: undefined, + SourcePrefixLists: undefined, + DestinationPrefixLists: undefined, + Protocols: undefined, + }; + if (output.sourceAddressSet === "") { + contents.SourceAddresses = []; + } + if (output["sourceAddressSet"] !== undefined && output["sourceAddressSet"]["item"] !== undefined) { + contents.SourceAddresses = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["sourceAddressSet"]["item"]), + context + ); + } + if (output.destinationAddressSet === "") { + contents.DestinationAddresses = []; + } + if (output["destinationAddressSet"] !== undefined && output["destinationAddressSet"]["item"] !== undefined) { + contents.DestinationAddresses = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["destinationAddressSet"]["item"]), + context + ); + } + if (output.sourcePortSet === "") { + contents.SourcePorts = []; + } + if (output["sourcePortSet"] !== undefined && output["sourcePortSet"]["item"] !== undefined) { + contents.SourcePorts = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["sourcePortSet"]["item"]), + context + ); + } + if (output.destinationPortSet === "") { + contents.DestinationPorts = []; + } + if (output["destinationPortSet"] !== undefined && output["destinationPortSet"]["item"] !== undefined) { + contents.DestinationPorts = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["destinationPortSet"]["item"]), + context + ); + } + if (output.sourcePrefixListSet === "") { + contents.SourcePrefixLists = []; + } + if (output["sourcePrefixListSet"] !== undefined && output["sourcePrefixListSet"]["item"] !== undefined) { + contents.SourcePrefixLists = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["sourcePrefixListSet"]["item"]), + context + ); + } + if (output.destinationPrefixListSet === "") { + contents.DestinationPrefixLists = []; + } + if (output["destinationPrefixListSet"] !== undefined && output["destinationPrefixListSet"]["item"] !== undefined) { + contents.DestinationPrefixLists = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["destinationPrefixListSet"]["item"]), + context + ); + } + if (output.protocolSet === "") { + contents.Protocols = []; + } + if (output["protocolSet"] !== undefined && output["protocolSet"]["item"] !== undefined) { + contents.Protocols = deserializeAws_ec2ProtocolList(__getArrayIfSingleItem(output["protocolSet"]["item"]), context); + } + return contents; +}; + const deserializeAws_ec2PathComponent = (output: any, context: __SerdeContext): PathComponent => { const contents: any = { SequenceNumber: undefined, AclRule: undefined, + AttachedTo: undefined, Component: undefined, DestinationVpc: undefined, OutboundHeader: undefined, @@ -69794,6 +74841,9 @@ const deserializeAws_ec2PathComponent = (output: any, context: __SerdeContext): if (output["aclRule"] !== undefined) { contents.AclRule = deserializeAws_ec2AnalysisAclRule(output["aclRule"], context); } + if (output["attachedTo"] !== undefined) { + contents.AttachedTo = deserializeAws_ec2AnalysisComponent(output["attachedTo"], context); + } if (output["component"] !== undefined) { contents.Component = deserializeAws_ec2AnalysisComponent(output["component"], context); } @@ -69835,6 +74885,20 @@ const deserializeAws_ec2PathComponentList = (output: any, context: __SerdeContex }); }; +const deserializeAws_ec2PathStatement = (output: any, context: __SerdeContext): PathStatement => { + const contents: any = { + PacketHeaderStatement: undefined, + ResourceStatement: undefined, + }; + if (output["packetHeaderStatement"] !== undefined) { + contents.PacketHeaderStatement = deserializeAws_ec2PacketHeaderStatement(output["packetHeaderStatement"], context); + } + if (output["resourceStatement"] !== undefined) { + contents.ResourceStatement = deserializeAws_ec2ResourceStatement(output["resourceStatement"], context); + } + return contents; +}; + const deserializeAws_ec2PciId = (output: any, context: __SerdeContext): PciId => { const contents: any = { DeviceId: undefined, @@ -70630,6 +75694,17 @@ const deserializeAws_ec2PropagatingVgwList = (output: any, context: __SerdeConte }); }; +const deserializeAws_ec2ProtocolList = (output: any, context: __SerdeContext): (Protocol | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_ec2ProvisionByoipCidrResult = (output: any, context: __SerdeContext): ProvisionByoipCidrResult => { const contents: any = { ByoipCidr: undefined, @@ -70666,6 +75741,36 @@ const deserializeAws_ec2ProvisionedBandwidth = (output: any, context: __SerdeCon return contents; }; +const deserializeAws_ec2ProvisionIpamPoolCidrResult = ( + output: any, + context: __SerdeContext +): ProvisionIpamPoolCidrResult => { + const contents: any = { + IpamPoolCidr: undefined, + }; + if (output["ipamPoolCidr"] !== undefined) { + contents.IpamPoolCidr = deserializeAws_ec2IpamPoolCidr(output["ipamPoolCidr"], context); + } + return contents; +}; + +const deserializeAws_ec2ProvisionPublicIpv4PoolCidrResult = ( + output: any, + context: __SerdeContext +): ProvisionPublicIpv4PoolCidrResult => { + const contents: any = { + PoolId: undefined, + PoolAddressRange: undefined, + }; + if (output["poolId"] !== undefined) { + contents.PoolId = __expectString(output["poolId"]); + } + if (output["poolAddressRange"] !== undefined) { + contents.PoolAddressRange = deserializeAws_ec2PublicIpv4PoolRange(output["poolAddressRange"], context); + } + return contents; +}; + const deserializeAws_ec2PtrUpdateStatus = (output: any, context: __SerdeContext): PtrUpdateStatus => { const contents: any = { Value: undefined, @@ -71145,6 +76250,19 @@ const deserializeAws_ec2ReleaseHostsResult = (output: any, context: __SerdeConte return contents; }; +const deserializeAws_ec2ReleaseIpamPoolAllocationResult = ( + output: any, + context: __SerdeContext +): ReleaseIpamPoolAllocationResult => { + const contents: any = { + Success: undefined, + }; + if (output["success"] !== undefined) { + contents.Success = __parseBoolean(output["success"]); + } + return contents; +}; + const deserializeAws_ec2ReplaceIamInstanceProfileAssociationResult = ( output: any, context: __SerdeContext @@ -71837,6 +76955,32 @@ const deserializeAws_ec2ResetFpgaImageAttributeResult = ( return contents; }; +const deserializeAws_ec2ResourceStatement = (output: any, context: __SerdeContext): ResourceStatement => { + const contents: any = { + Resources: undefined, + ResourceTypes: undefined, + }; + if (output.resourceSet === "") { + contents.Resources = []; + } + if (output["resourceSet"] !== undefined && output["resourceSet"]["item"] !== undefined) { + contents.Resources = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["resourceSet"]["item"]), + context + ); + } + if (output.resourceTypeSet === "") { + contents.ResourceTypes = []; + } + if (output["resourceTypeSet"] !== undefined && output["resourceTypeSet"]["item"] !== undefined) { + contents.ResourceTypes = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["resourceTypeSet"]["item"]), + context + ); + } + return contents; +}; + const deserializeAws_ec2ResponseError = (output: any, context: __SerdeContext): ResponseError => { const contents: any = { Code: undefined, @@ -74311,6 +79455,22 @@ const deserializeAws_ec2StartInstancesResult = (output: any, context: __SerdeCon return contents; }; +const deserializeAws_ec2StartNetworkInsightsAccessScopeAnalysisResult = ( + output: any, + context: __SerdeContext +): StartNetworkInsightsAccessScopeAnalysisResult => { + const contents: any = { + NetworkInsightsAccessScopeAnalysis: undefined, + }; + if (output["networkInsightsAccessScopeAnalysis"] !== undefined) { + contents.NetworkInsightsAccessScopeAnalysis = deserializeAws_ec2NetworkInsightsAccessScopeAnalysis( + output["networkInsightsAccessScopeAnalysis"], + context + ); + } + return contents; +}; + const deserializeAws_ec2StartNetworkInsightsAnalysisResult = ( output: any, context: __SerdeContext @@ -75058,6 +80218,33 @@ const deserializeAws_ec2ThreadsPerCoreList = (output: any, context: __SerdeConte }); }; +const deserializeAws_ec2ThroughResourcesStatement = ( + output: any, + context: __SerdeContext +): ThroughResourcesStatement => { + const contents: any = { + ResourceStatement: undefined, + }; + if (output["resourceStatement"] !== undefined) { + contents.ResourceStatement = deserializeAws_ec2ResourceStatement(output["resourceStatement"], context); + } + return contents; +}; + +const deserializeAws_ec2ThroughResourcesStatementList = ( + output: any, + context: __SerdeContext +): ThroughResourcesStatement[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2ThroughResourcesStatement(entry, context); + }); +}; + const deserializeAws_ec2TotalLocalStorageGB = (output: any, context: __SerdeContext): TotalLocalStorageGB => { const contents: any = { Min: undefined, diff --git a/clients/client-kendra/README.md b/clients/client-kendra/README.md index 8469aa63bc2a..7e2dfe0bcbbd 100644 --- a/clients/client-kendra/README.md +++ b/clients/client-kendra/README.md @@ -24,16 +24,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `KendraClient` and -the commands you need, for example `BatchDeleteDocumentCommand`: +the commands you need, for example `AssociateEntitiesToExperienceCommand`: ```js // ES5 example -const { KendraClient, BatchDeleteDocumentCommand } = require("@aws-sdk/client-kendra"); +const { KendraClient, AssociateEntitiesToExperienceCommand } = require("@aws-sdk/client-kendra"); ``` ```ts // ES6+ example -import { KendraClient, BatchDeleteDocumentCommand } from "@aws-sdk/client-kendra"; +import { KendraClient, AssociateEntitiesToExperienceCommand } from "@aws-sdk/client-kendra"; ``` ### Usage @@ -52,7 +52,7 @@ const client = new KendraClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new BatchDeleteDocumentCommand(params); +const command = new AssociateEntitiesToExperienceCommand(params); ``` #### Async/await @@ -131,7 +131,7 @@ const client = new AWS.Kendra({ region: "REGION" }); // async/await. try { - const data = await client.batchDeleteDocument(params); + const data = await client.associateEntitiesToExperience(params); // process data. } catch (error) { // error handling. @@ -139,7 +139,7 @@ try { // Promises. client - .batchDeleteDocument(params) + .associateEntitiesToExperience(params) .then((data) => { // process data. }) @@ -148,7 +148,7 @@ client }); // callbacks. -client.batchDeleteDocument(params, (err, data) => { +client.associateEntitiesToExperience(params, (err, data) => { // proccess err and data. }); ``` diff --git a/clients/client-kendra/src/Kendra.ts b/clients/client-kendra/src/Kendra.ts index d497d1fff431..1be69d8990e8 100644 --- a/clients/client-kendra/src/Kendra.ts +++ b/clients/client-kendra/src/Kendra.ts @@ -1,5 +1,15 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; +import { + AssociateEntitiesToExperienceCommand, + AssociateEntitiesToExperienceCommandInput, + AssociateEntitiesToExperienceCommandOutput, +} from "./commands/AssociateEntitiesToExperienceCommand"; +import { + AssociatePersonasToEntitiesCommand, + AssociatePersonasToEntitiesCommandInput, + AssociatePersonasToEntitiesCommandOutput, +} from "./commands/AssociatePersonasToEntitiesCommand"; import { BatchDeleteDocumentCommand, BatchDeleteDocumentCommandInput, @@ -25,6 +35,11 @@ import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput, } from "./commands/CreateDataSourceCommand"; +import { + CreateExperienceCommand, + CreateExperienceCommandInput, + CreateExperienceCommandOutput, +} from "./commands/CreateExperienceCommand"; import { CreateFaqCommand, CreateFaqCommandInput, CreateFaqCommandOutput } from "./commands/CreateFaqCommand"; import { CreateIndexCommand, CreateIndexCommandInput, CreateIndexCommandOutput } from "./commands/CreateIndexCommand"; import { @@ -42,6 +57,11 @@ import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput, } from "./commands/DeleteDataSourceCommand"; +import { + DeleteExperienceCommand, + DeleteExperienceCommandInput, + DeleteExperienceCommandOutput, +} from "./commands/DeleteExperienceCommand"; import { DeleteFaqCommand, DeleteFaqCommandInput, DeleteFaqCommandOutput } from "./commands/DeleteFaqCommand"; import { DeleteIndexCommand, DeleteIndexCommandInput, DeleteIndexCommandOutput } from "./commands/DeleteIndexCommand"; import { @@ -64,6 +84,11 @@ import { DescribeDataSourceCommandInput, DescribeDataSourceCommandOutput, } from "./commands/DescribeDataSourceCommand"; +import { + DescribeExperienceCommand, + DescribeExperienceCommandInput, + DescribeExperienceCommandOutput, +} from "./commands/DescribeExperienceCommand"; import { DescribeFaqCommand, DescribeFaqCommandInput, DescribeFaqCommandOutput } from "./commands/DescribeFaqCommand"; import { DescribeIndexCommand, @@ -90,11 +115,26 @@ import { DescribeThesaurusCommandInput, DescribeThesaurusCommandOutput, } from "./commands/DescribeThesaurusCommand"; +import { + DisassociateEntitiesFromExperienceCommand, + DisassociateEntitiesFromExperienceCommandInput, + DisassociateEntitiesFromExperienceCommandOutput, +} from "./commands/DisassociateEntitiesFromExperienceCommand"; +import { + DisassociatePersonasFromEntitiesCommand, + DisassociatePersonasFromEntitiesCommandInput, + DisassociatePersonasFromEntitiesCommandOutput, +} from "./commands/DisassociatePersonasFromEntitiesCommand"; import { GetQuerySuggestionsCommand, GetQuerySuggestionsCommandInput, GetQuerySuggestionsCommandOutput, } from "./commands/GetQuerySuggestionsCommand"; +import { + GetSnapshotsCommand, + GetSnapshotsCommandInput, + GetSnapshotsCommandOutput, +} from "./commands/GetSnapshotsCommand"; import { ListDataSourcesCommand, ListDataSourcesCommandInput, @@ -105,6 +145,21 @@ import { ListDataSourceSyncJobsCommandInput, ListDataSourceSyncJobsCommandOutput, } from "./commands/ListDataSourceSyncJobsCommand"; +import { + ListEntityPersonasCommand, + ListEntityPersonasCommandInput, + ListEntityPersonasCommandOutput, +} from "./commands/ListEntityPersonasCommand"; +import { + ListExperienceEntitiesCommand, + ListExperienceEntitiesCommandInput, + ListExperienceEntitiesCommandOutput, +} from "./commands/ListExperienceEntitiesCommand"; +import { + ListExperiencesCommand, + ListExperiencesCommandInput, + ListExperiencesCommandOutput, +} from "./commands/ListExperiencesCommand"; import { ListFaqsCommand, ListFaqsCommandInput, ListFaqsCommandOutput } from "./commands/ListFaqsCommand"; import { ListGroupsOlderThanOrderingIdCommand, @@ -159,6 +214,11 @@ import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput, } from "./commands/UpdateDataSourceCommand"; +import { + UpdateExperienceCommand, + UpdateExperienceCommandInput, + UpdateExperienceCommandOutput, +} from "./commands/UpdateExperienceCommand"; import { UpdateIndexCommand, UpdateIndexCommandInput, UpdateIndexCommandOutput } from "./commands/UpdateIndexCommand"; import { UpdateQuerySuggestionsBlockListCommand, @@ -181,6 +241,78 @@ import { KendraClient } from "./KendraClient"; *

                                                        Amazon Kendra is a service for indexing large document sets.

                                                        */ export class Kendra extends KendraClient { + /** + *

                                                        Grants users or groups in your Amazon Web Services SSO identity source access + * to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a + * search application. For more information on creating a search application + * experience, see Building + * a search experience with no code.

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

                                                        Defines the specific permissions of users or groups in your Amazon Web Services SSO + * identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra + * experience such as a search application. For more information on creating a + * search application experience, see Building + * a search experience with no code.

                                                        + */ + public associatePersonasToEntities( + args: AssociatePersonasToEntitiesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associatePersonasToEntities( + args: AssociatePersonasToEntitiesCommandInput, + cb: (err: any, data?: AssociatePersonasToEntitiesCommandOutput) => void + ): void; + public associatePersonasToEntities( + args: AssociatePersonasToEntitiesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociatePersonasToEntitiesCommandOutput) => void + ): void; + public associatePersonasToEntities( + args: AssociatePersonasToEntitiesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociatePersonasToEntitiesCommandOutput) => void), + cb?: (err: any, data?: AssociatePersonasToEntitiesCommandOutput) => void + ): Promise | void { + const command = new AssociatePersonasToEntitiesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 one or more documents from an index. The documents must have * been added with the BatchPutDocument operation.

                                                        @@ -309,6 +441,9 @@ export class Kendra extends KendraClient { * from the time you cleared suggestions. If you do not see any * new suggestions, then please allow Amazon Kendra to collect * enough queries to learn new suggestions.

                                                        + *

                                                        + * ClearQuerySuggestions is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public clearQuerySuggestions( args: ClearQuerySuggestionsCommandInput, @@ -348,6 +483,8 @@ export class Kendra extends KendraClient { * CreateDataSource is a synchronous operation. The * operation returns 200 if the data source was successfully created. * Otherwise, an exception is raised.

                                                        + *

                                                        Amazon S3 and custom data sources are + * the only supported data sources in the Amazon Web Services GovCloud (US-West) region.

                                                        */ public createDataSource( args: CreateDataSourceCommandInput, @@ -378,6 +515,40 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Creates an Amazon Kendra experience such as a search application. For more information + * on creating a search application experience, see Building a + * search experience with no code.

                                                        + */ + public createExperience( + args: CreateExperienceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createExperience( + args: CreateExperienceCommandInput, + cb: (err: any, data?: CreateExperienceCommandOutput) => void + ): void; + public createExperience( + args: CreateExperienceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateExperienceCommandOutput) => void + ): void; + public createExperience( + args: CreateExperienceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateExperienceCommandOutput) => void), + cb?: (err: any, data?: CreateExperienceCommandOutput) => void + ): Promise | void { + const command = new CreateExperienceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 new set of frequently asked question (FAQ) questions and answers.

                                                        */ @@ -447,6 +618,9 @@ export class Kendra extends KendraClient { *

                                                        For information on the current quota limits for block lists, see * Quotas * for Amazon Kendra.

                                                        + *

                                                        + * CreateQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public createQuerySuggestionsBlockList( args: CreateQuerySuggestionsBlockListCommandInput, @@ -546,6 +720,40 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Deletes your Amazon Kendra experience such as a search application. For more information on + * creating a search application experience, see Building a search + * experience with no code.

                                                        + */ + public deleteExperience( + args: DeleteExperienceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteExperience( + args: DeleteExperienceCommandInput, + cb: (err: any, data?: DeleteExperienceCommandOutput) => void + ): void; + public deleteExperience( + args: DeleteExperienceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteExperienceCommandOutput) => void + ): void; + public deleteExperience( + args: DeleteExperienceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteExperienceCommandOutput) => void), + cb?: (err: any, data?: DeleteExperienceCommandOutput) => void + ): Promise | void { + const command = new DeleteExperienceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 FAQ from an index.

                                                        */ @@ -615,6 +823,9 @@ export class Kendra extends KendraClient { * to the "Engineering" group when calling PutPrincipalMapping. You * can update your internal list of users or sub groups and input this list * when calling PutPrincipalMapping.

                                                        + *

                                                        + * DeletePrincipalMapping is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public deletePrincipalMapping( args: DeletePrincipalMappingCommandInput, @@ -650,6 +861,9 @@ export class Kendra extends KendraClient { *

                                                        A deleted block list might not take effect right away. Amazon Kendra * needs to refresh the entire suggestions list to add back the * queries that were previously blocked.

                                                        + *

                                                        + * DeleteQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public deleteQuerySuggestionsBlockList( args: DeleteQuerySuggestionsBlockListCommandInput, @@ -745,6 +959,41 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Gets information about your Amazon Kendra experience such as a search application. + * For more information on creating a search application experience, + * see Building + * a search experience with no code.

                                                        + */ + public describeExperience( + args: DescribeExperienceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeExperience( + args: DescribeExperienceCommandInput, + cb: (err: any, data?: DescribeExperienceCommandOutput) => void + ): void; + public describeExperience( + args: DescribeExperienceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeExperienceCommandOutput) => void + ): void; + public describeExperience( + args: DescribeExperienceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeExperienceCommandOutput) => void), + cb?: (err: any, data?: DescribeExperienceCommandOutput) => void + ): Promise | void { + const command = new DescribeExperienceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 an FAQ list.

                                                        */ @@ -810,6 +1059,9 @@ export class Kendra extends KendraClient { * when actions were received by Amazon Kendra, the latest action that should process * and apply after other actions, and useful error messages if an action could * not be processed.

                                                        + *

                                                        + * DescribePrincipalMapping is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public describePrincipalMapping( args: DescribePrincipalMappingCommandInput, @@ -844,6 +1096,9 @@ export class Kendra extends KendraClient { *

                                                        Describes a block list used for query suggestions for an index.

                                                        *

                                                        This is used to check the current settings that are applied to a * block list.

                                                        + *

                                                        + * DescribeQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public describeQuerySuggestionsBlockList( args: DescribeQuerySuggestionsBlockListCommandInput, @@ -878,6 +1133,9 @@ export class Kendra extends KendraClient { *

                                                        Describes the settings of query suggestions for an index.

                                                        *

                                                        This is used to check the current settings applied * to query suggestions.

                                                        + *

                                                        + * DescribeQuerySuggestionsConfig is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public describeQuerySuggestionsConfig( args: DescribeQuerySuggestionsConfigCommandInput, @@ -940,8 +1198,83 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Prevents users or groups in your Amazon Web Services SSO identity source + * from accessing your Amazon Kendra experience. You can create an Amazon Kendra experience + * such as a search application. For more information on creating a search + * application experience, see Building + * a search experience with no code.

                                                        + */ + public disassociateEntitiesFromExperience( + args: DisassociateEntitiesFromExperienceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateEntitiesFromExperience( + args: DisassociateEntitiesFromExperienceCommandInput, + cb: (err: any, data?: DisassociateEntitiesFromExperienceCommandOutput) => void + ): void; + public disassociateEntitiesFromExperience( + args: DisassociateEntitiesFromExperienceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateEntitiesFromExperienceCommandOutput) => void + ): void; + public disassociateEntitiesFromExperience( + args: DisassociateEntitiesFromExperienceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateEntitiesFromExperienceCommandOutput) => void), + cb?: (err: any, data?: DisassociateEntitiesFromExperienceCommandOutput) => void + ): Promise | void { + const command = new DisassociateEntitiesFromExperienceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 specific permissions of users or groups in your Amazon Web Services SSO + * identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra + * experience such as a search application. For more information on creating a + * search application experience, see Building a + * search experience with no code.

                                                        + */ + public disassociatePersonasFromEntities( + args: DisassociatePersonasFromEntitiesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociatePersonasFromEntities( + args: DisassociatePersonasFromEntitiesCommandInput, + cb: (err: any, data?: DisassociatePersonasFromEntitiesCommandOutput) => void + ): void; + public disassociatePersonasFromEntities( + args: DisassociatePersonasFromEntitiesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociatePersonasFromEntitiesCommandOutput) => void + ): void; + public disassociatePersonasFromEntities( + args: DisassociatePersonasFromEntitiesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociatePersonasFromEntitiesCommandOutput) => void), + cb?: (err: any, data?: DisassociatePersonasFromEntitiesCommandOutput) => void + ): Promise | void { + const command = new DisassociatePersonasFromEntitiesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 queries that are suggested to your users.

                                                        + *

                                                        + * GetQuerySuggestions is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public getQuerySuggestions( args: GetQuerySuggestionsCommandInput, @@ -972,6 +1305,37 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Retrieves search metrics data. The data provides a snapshot of how + * your users interact with your search application and how effective + * the application is.

                                                        + */ + public getSnapshots( + args: GetSnapshotsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getSnapshots(args: GetSnapshotsCommandInput, cb: (err: any, data?: GetSnapshotsCommandOutput) => void): void; + public getSnapshots( + args: GetSnapshotsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSnapshotsCommandOutput) => void + ): void; + public getSnapshots( + args: GetSnapshotsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSnapshotsCommandOutput) => void), + cb?: (err: any, data?: GetSnapshotsCommandOutput) => void + ): Promise | void { + const command = new GetSnapshotsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 data sources that you have created.

                                                        */ @@ -1037,6 +1401,110 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Lists specific permissions of users and groups with access to your + * Amazon Kendra experience.

                                                        + */ + public listEntityPersonas( + args: ListEntityPersonasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listEntityPersonas( + args: ListEntityPersonasCommandInput, + cb: (err: any, data?: ListEntityPersonasCommandOutput) => void + ): void; + public listEntityPersonas( + args: ListEntityPersonasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEntityPersonasCommandOutput) => void + ): void; + public listEntityPersonas( + args: ListEntityPersonasCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListEntityPersonasCommandOutput) => void), + cb?: (err: any, data?: ListEntityPersonasCommandOutput) => void + ): Promise | void { + const command = new ListEntityPersonasCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 users or groups in your Amazon Web Services SSO identity source that are + * granted access to your Amazon Kendra experience. You can create an Amazon Kendra experience + * such as a search application. For more information on creating a search + * application experience, see Building + * a search experience with no code.

                                                        + */ + public listExperienceEntities( + args: ListExperienceEntitiesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listExperienceEntities( + args: ListExperienceEntitiesCommandInput, + cb: (err: any, data?: ListExperienceEntitiesCommandOutput) => void + ): void; + public listExperienceEntities( + args: ListExperienceEntitiesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListExperienceEntitiesCommandOutput) => void + ): void; + public listExperienceEntities( + args: ListExperienceEntitiesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListExperienceEntitiesCommandOutput) => void), + cb?: (err: any, data?: ListExperienceEntitiesCommandOutput) => void + ): Promise | void { + const command = new ListExperienceEntitiesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 one or more Amazon Kendra experiences. You can create an Amazon Kendra experience such + * as a search application. For more information on creating a search application + * experience, see Building a + * search experience with no code.

                                                        + */ + public listExperiences( + args: ListExperiencesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listExperiences( + args: ListExperiencesCommandInput, + cb: (err: any, data?: ListExperiencesCommandOutput) => void + ): void; + public listExperiences( + args: ListExperiencesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListExperiencesCommandOutput) => void + ): void; + public listExperiences( + args: ListExperiencesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListExperiencesCommandOutput) => void), + cb?: (err: any, data?: ListExperiencesCommandOutput) => void + ): Promise | void { + const command = new ListExperiencesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 FAQ lists associated with an index.

                                                        */ @@ -1066,6 +1534,9 @@ export class Kendra extends KendraClient { /** *

                                                        Provides a list of groups that are mapped to users before a * given ordering or timestamp identifier.

                                                        + *

                                                        + * ListGroupsOlderThanOrderingId is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public listGroupsOlderThanOrderingId( args: ListGroupsOlderThanOrderingIdCommandInput, @@ -1127,6 +1598,9 @@ export class Kendra extends KendraClient { *

                                                        For information on the current quota limits for block lists, see * Quotas * for Amazon Kendra.

                                                        + *

                                                        + * ListQuerySuggestionsBlockLists is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public listQuerySuggestionsBlockLists( args: ListQuerySuggestionsBlockListsCommandInput, @@ -1236,6 +1710,9 @@ export class Kendra extends KendraClient { * on user context.

                                                        *

                                                        If more than five PUT actions for a group are currently * processing, a validation exception is thrown.

                                                        + *

                                                        + * PutPrincipalMapping is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public putPrincipalMapping( args: PutPrincipalMappingCommandInput, @@ -1382,7 +1859,10 @@ export class Kendra extends KendraClient { /** *

                                                        Enables you to provide feedback to Amazon Kendra to improve the - * performance of your index.

                                                        + * performance of your index.

                                                        + *

                                                        + * SubmitFeedback is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public submitFeedback( args: SubmitFeedbackCommandInput, @@ -1505,6 +1985,40 @@ export class Kendra extends KendraClient { } } + /** + *

                                                        Updates your Amazon Kendra experience such as a search application. For more information on + * creating a search application experience, see Building a + * search experience with no code.

                                                        + */ + public updateExperience( + args: UpdateExperienceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateExperience( + args: UpdateExperienceCommandInput, + cb: (err: any, data?: UpdateExperienceCommandOutput) => void + ): void; + public updateExperience( + args: UpdateExperienceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateExperienceCommandOutput) => void + ): void; + public updateExperience( + args: UpdateExperienceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateExperienceCommandOutput) => void), + cb?: (err: any, data?: UpdateExperienceCommandOutput) => void + ): Promise | void { + const command = new UpdateExperienceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 Amazon Kendra index.

                                                        */ @@ -1540,6 +2054,9 @@ export class Kendra extends KendraClient { * finish before submitting another update.

                                                        *

                                                        Amazon Kendra supports partial updates, so you only need to provide the fields * you want to update.

                                                        + *

                                                        + * UpdateQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public updateQuerySuggestionsBlockList( args: UpdateQuerySuggestionsBlockListCommandInput, @@ -1580,6 +2097,9 @@ export class Kendra extends KendraClient { * The time for your updated settings to take effect depends on the updates * made and the number of search queries in your index.

                                                        *

                                                        You can still enable/disable query suggestions at any time.

                                                        + *

                                                        + * UpdateQuerySuggestionsConfig is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        */ public updateQuerySuggestionsConfig( args: UpdateQuerySuggestionsConfigCommandInput, diff --git a/clients/client-kendra/src/KendraClient.ts b/clients/client-kendra/src/KendraClient.ts index 795d2539d4eb..69ed1a7aace6 100644 --- a/clients/client-kendra/src/KendraClient.ts +++ b/clients/client-kendra/src/KendraClient.ts @@ -49,6 +49,14 @@ import { UserAgent as __UserAgent, } from "@aws-sdk/types"; +import { + AssociateEntitiesToExperienceCommandInput, + AssociateEntitiesToExperienceCommandOutput, +} from "./commands/AssociateEntitiesToExperienceCommand"; +import { + AssociatePersonasToEntitiesCommandInput, + AssociatePersonasToEntitiesCommandOutput, +} from "./commands/AssociatePersonasToEntitiesCommand"; import { BatchDeleteDocumentCommandInput, BatchDeleteDocumentCommandOutput, @@ -63,6 +71,7 @@ import { ClearQuerySuggestionsCommandOutput, } from "./commands/ClearQuerySuggestionsCommand"; import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "./commands/CreateDataSourceCommand"; +import { CreateExperienceCommandInput, CreateExperienceCommandOutput } from "./commands/CreateExperienceCommand"; import { CreateFaqCommandInput, CreateFaqCommandOutput } from "./commands/CreateFaqCommand"; import { CreateIndexCommandInput, CreateIndexCommandOutput } from "./commands/CreateIndexCommand"; import { @@ -71,6 +80,7 @@ import { } from "./commands/CreateQuerySuggestionsBlockListCommand"; import { CreateThesaurusCommandInput, CreateThesaurusCommandOutput } from "./commands/CreateThesaurusCommand"; import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "./commands/DeleteDataSourceCommand"; +import { DeleteExperienceCommandInput, DeleteExperienceCommandOutput } from "./commands/DeleteExperienceCommand"; import { DeleteFaqCommandInput, DeleteFaqCommandOutput } from "./commands/DeleteFaqCommand"; import { DeleteIndexCommandInput, DeleteIndexCommandOutput } from "./commands/DeleteIndexCommand"; import { @@ -83,6 +93,7 @@ import { } from "./commands/DeleteQuerySuggestionsBlockListCommand"; import { DeleteThesaurusCommandInput, DeleteThesaurusCommandOutput } from "./commands/DeleteThesaurusCommand"; import { DescribeDataSourceCommandInput, DescribeDataSourceCommandOutput } from "./commands/DescribeDataSourceCommand"; +import { DescribeExperienceCommandInput, DescribeExperienceCommandOutput } from "./commands/DescribeExperienceCommand"; import { DescribeFaqCommandInput, DescribeFaqCommandOutput } from "./commands/DescribeFaqCommand"; import { DescribeIndexCommandInput, DescribeIndexCommandOutput } from "./commands/DescribeIndexCommand"; import { @@ -98,15 +109,30 @@ import { DescribeQuerySuggestionsConfigCommandOutput, } from "./commands/DescribeQuerySuggestionsConfigCommand"; import { DescribeThesaurusCommandInput, DescribeThesaurusCommandOutput } from "./commands/DescribeThesaurusCommand"; +import { + DisassociateEntitiesFromExperienceCommandInput, + DisassociateEntitiesFromExperienceCommandOutput, +} from "./commands/DisassociateEntitiesFromExperienceCommand"; +import { + DisassociatePersonasFromEntitiesCommandInput, + DisassociatePersonasFromEntitiesCommandOutput, +} from "./commands/DisassociatePersonasFromEntitiesCommand"; import { GetQuerySuggestionsCommandInput, GetQuerySuggestionsCommandOutput, } from "./commands/GetQuerySuggestionsCommand"; +import { GetSnapshotsCommandInput, GetSnapshotsCommandOutput } from "./commands/GetSnapshotsCommand"; import { ListDataSourcesCommandInput, ListDataSourcesCommandOutput } from "./commands/ListDataSourcesCommand"; import { ListDataSourceSyncJobsCommandInput, ListDataSourceSyncJobsCommandOutput, } from "./commands/ListDataSourceSyncJobsCommand"; +import { ListEntityPersonasCommandInput, ListEntityPersonasCommandOutput } from "./commands/ListEntityPersonasCommand"; +import { + ListExperienceEntitiesCommandInput, + ListExperienceEntitiesCommandOutput, +} from "./commands/ListExperienceEntitiesCommand"; +import { ListExperiencesCommandInput, ListExperiencesCommandOutput } from "./commands/ListExperiencesCommand"; import { ListFaqsCommandInput, ListFaqsCommandOutput } from "./commands/ListFaqsCommand"; import { ListGroupsOlderThanOrderingIdCommandInput, @@ -139,6 +165,7 @@ import { SubmitFeedbackCommandInput, SubmitFeedbackCommandOutput } from "./comma import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput } from "./commands/UpdateDataSourceCommand"; +import { UpdateExperienceCommandInput, UpdateExperienceCommandOutput } from "./commands/UpdateExperienceCommand"; import { UpdateIndexCommandInput, UpdateIndexCommandOutput } from "./commands/UpdateIndexCommand"; import { UpdateQuerySuggestionsBlockListCommandInput, @@ -152,31 +179,42 @@ import { UpdateThesaurusCommandInput, UpdateThesaurusCommandOutput } from "./com import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; export type ServiceInputTypes = + | AssociateEntitiesToExperienceCommandInput + | AssociatePersonasToEntitiesCommandInput | BatchDeleteDocumentCommandInput | BatchGetDocumentStatusCommandInput | BatchPutDocumentCommandInput | ClearQuerySuggestionsCommandInput | CreateDataSourceCommandInput + | CreateExperienceCommandInput | CreateFaqCommandInput | CreateIndexCommandInput | CreateQuerySuggestionsBlockListCommandInput | CreateThesaurusCommandInput | DeleteDataSourceCommandInput + | DeleteExperienceCommandInput | DeleteFaqCommandInput | DeleteIndexCommandInput | DeletePrincipalMappingCommandInput | DeleteQuerySuggestionsBlockListCommandInput | DeleteThesaurusCommandInput | DescribeDataSourceCommandInput + | DescribeExperienceCommandInput | DescribeFaqCommandInput | DescribeIndexCommandInput | DescribePrincipalMappingCommandInput | DescribeQuerySuggestionsBlockListCommandInput | DescribeQuerySuggestionsConfigCommandInput | DescribeThesaurusCommandInput + | DisassociateEntitiesFromExperienceCommandInput + | DisassociatePersonasFromEntitiesCommandInput | GetQuerySuggestionsCommandInput + | GetSnapshotsCommandInput | ListDataSourceSyncJobsCommandInput | ListDataSourcesCommandInput + | ListEntityPersonasCommandInput + | ListExperienceEntitiesCommandInput + | ListExperiencesCommandInput | ListFaqsCommandInput | ListGroupsOlderThanOrderingIdCommandInput | ListIndicesCommandInput @@ -191,37 +229,49 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateDataSourceCommandInput + | UpdateExperienceCommandInput | UpdateIndexCommandInput | UpdateQuerySuggestionsBlockListCommandInput | UpdateQuerySuggestionsConfigCommandInput | UpdateThesaurusCommandInput; export type ServiceOutputTypes = + | AssociateEntitiesToExperienceCommandOutput + | AssociatePersonasToEntitiesCommandOutput | BatchDeleteDocumentCommandOutput | BatchGetDocumentStatusCommandOutput | BatchPutDocumentCommandOutput | ClearQuerySuggestionsCommandOutput | CreateDataSourceCommandOutput + | CreateExperienceCommandOutput | CreateFaqCommandOutput | CreateIndexCommandOutput | CreateQuerySuggestionsBlockListCommandOutput | CreateThesaurusCommandOutput | DeleteDataSourceCommandOutput + | DeleteExperienceCommandOutput | DeleteFaqCommandOutput | DeleteIndexCommandOutput | DeletePrincipalMappingCommandOutput | DeleteQuerySuggestionsBlockListCommandOutput | DeleteThesaurusCommandOutput | DescribeDataSourceCommandOutput + | DescribeExperienceCommandOutput | DescribeFaqCommandOutput | DescribeIndexCommandOutput | DescribePrincipalMappingCommandOutput | DescribeQuerySuggestionsBlockListCommandOutput | DescribeQuerySuggestionsConfigCommandOutput | DescribeThesaurusCommandOutput + | DisassociateEntitiesFromExperienceCommandOutput + | DisassociatePersonasFromEntitiesCommandOutput | GetQuerySuggestionsCommandOutput + | GetSnapshotsCommandOutput | ListDataSourceSyncJobsCommandOutput | ListDataSourcesCommandOutput + | ListEntityPersonasCommandOutput + | ListExperienceEntitiesCommandOutput + | ListExperiencesCommandOutput | ListFaqsCommandOutput | ListGroupsOlderThanOrderingIdCommandOutput | ListIndicesCommandOutput @@ -236,6 +286,7 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateDataSourceCommandOutput + | UpdateExperienceCommandOutput | UpdateIndexCommandOutput | UpdateQuerySuggestionsBlockListCommandOutput | UpdateQuerySuggestionsConfigCommandOutput diff --git a/clients/client-kendra/src/commands/AssociateEntitiesToExperienceCommand.ts b/clients/client-kendra/src/commands/AssociateEntitiesToExperienceCommand.ts new file mode 100644 index 000000000000..85ec1a369710 --- /dev/null +++ b/clients/client-kendra/src/commands/AssociateEntitiesToExperienceCommand.ts @@ -0,0 +1,104 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { AssociateEntitiesToExperienceRequest, AssociateEntitiesToExperienceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1AssociateEntitiesToExperienceCommand, + serializeAws_json1_1AssociateEntitiesToExperienceCommand, +} from "../protocols/Aws_json1_1"; + +export interface AssociateEntitiesToExperienceCommandInput extends AssociateEntitiesToExperienceRequest {} +export interface AssociateEntitiesToExperienceCommandOutput + extends AssociateEntitiesToExperienceResponse, + __MetadataBearer {} + +/** + *

                                                        Grants users or groups in your Amazon Web Services SSO identity source access + * to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a + * search application. For more information on creating a search application + * experience, see Building + * a search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, AssociateEntitiesToExperienceCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, AssociateEntitiesToExperienceCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new AssociateEntitiesToExperienceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AssociateEntitiesToExperienceCommandInput} for command's `input` shape. + * @see {@link AssociateEntitiesToExperienceCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class AssociateEntitiesToExperienceCommand extends $Command< + AssociateEntitiesToExperienceCommandInput, + AssociateEntitiesToExperienceCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateEntitiesToExperienceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "AssociateEntitiesToExperienceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociateEntitiesToExperienceRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociateEntitiesToExperienceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateEntitiesToExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1AssociateEntitiesToExperienceCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1AssociateEntitiesToExperienceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/AssociatePersonasToEntitiesCommand.ts b/clients/client-kendra/src/commands/AssociatePersonasToEntitiesCommand.ts new file mode 100644 index 000000000000..25415446e992 --- /dev/null +++ b/clients/client-kendra/src/commands/AssociatePersonasToEntitiesCommand.ts @@ -0,0 +1,104 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { AssociatePersonasToEntitiesRequest, AssociatePersonasToEntitiesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1AssociatePersonasToEntitiesCommand, + serializeAws_json1_1AssociatePersonasToEntitiesCommand, +} from "../protocols/Aws_json1_1"; + +export interface AssociatePersonasToEntitiesCommandInput extends AssociatePersonasToEntitiesRequest {} +export interface AssociatePersonasToEntitiesCommandOutput + extends AssociatePersonasToEntitiesResponse, + __MetadataBearer {} + +/** + *

                                                        Defines the specific permissions of users or groups in your Amazon Web Services SSO + * identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra + * experience such as a search application. For more information on creating a + * search application experience, see Building + * a search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, AssociatePersonasToEntitiesCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, AssociatePersonasToEntitiesCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new AssociatePersonasToEntitiesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AssociatePersonasToEntitiesCommandInput} for command's `input` shape. + * @see {@link AssociatePersonasToEntitiesCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class AssociatePersonasToEntitiesCommand extends $Command< + AssociatePersonasToEntitiesCommandInput, + AssociatePersonasToEntitiesCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociatePersonasToEntitiesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "AssociatePersonasToEntitiesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociatePersonasToEntitiesRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociatePersonasToEntitiesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociatePersonasToEntitiesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1AssociatePersonasToEntitiesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1AssociatePersonasToEntitiesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/ClearQuerySuggestionsCommand.ts b/clients/client-kendra/src/commands/ClearQuerySuggestionsCommand.ts index d838c85a54b7..b1686d0e9ad3 100644 --- a/clients/client-kendra/src/commands/ClearQuerySuggestionsCommand.ts +++ b/clients/client-kendra/src/commands/ClearQuerySuggestionsCommand.ts @@ -29,6 +29,9 @@ export interface ClearQuerySuggestionsCommandOutput extends __MetadataBearer {} * from the time you cleared suggestions. If you do not see any * new suggestions, then please allow Amazon Kendra to collect * enough queries to learn new suggestions.

                                                        + *

                                                        + * ClearQuerySuggestions is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/CreateDataSourceCommand.ts b/clients/client-kendra/src/commands/CreateDataSourceCommand.ts index 885d67b17c9b..c675423538c4 100644 --- a/clients/client-kendra/src/commands/CreateDataSourceCommand.ts +++ b/clients/client-kendra/src/commands/CreateDataSourceCommand.ts @@ -30,6 +30,8 @@ export interface CreateDataSourceCommandOutput extends CreateDataSourceResponse, * CreateDataSource is a synchronous operation. The * operation returns 200 if the data source was successfully created. * Otherwise, an exception is raised.

                                                        + *

                                                        Amazon S3 and custom data sources are + * the only supported data sources in the Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/CreateExperienceCommand.ts b/clients/client-kendra/src/commands/CreateExperienceCommand.ts new file mode 100644 index 000000000000..9b2c642124bb --- /dev/null +++ b/clients/client-kendra/src/commands/CreateExperienceCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { CreateExperienceRequest, CreateExperienceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateExperienceCommand, + serializeAws_json1_1CreateExperienceCommand, +} from "../protocols/Aws_json1_1"; + +export interface CreateExperienceCommandInput extends CreateExperienceRequest {} +export interface CreateExperienceCommandOutput extends CreateExperienceResponse, __MetadataBearer {} + +/** + *

                                                        Creates an Amazon Kendra experience such as a search application. For more information + * on creating a search application experience, see Building a + * search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, CreateExperienceCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, CreateExperienceCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new CreateExperienceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateExperienceCommandInput} for command's `input` shape. + * @see {@link CreateExperienceCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class CreateExperienceCommand extends $Command< + CreateExperienceCommandInput, + CreateExperienceCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateExperienceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "CreateExperienceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateExperienceRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateExperienceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateExperienceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateExperienceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/CreateQuerySuggestionsBlockListCommand.ts b/clients/client-kendra/src/commands/CreateQuerySuggestionsBlockListCommand.ts index 9b1024fb6075..4b6ede741caa 100644 --- a/clients/client-kendra/src/commands/CreateQuerySuggestionsBlockListCommand.ts +++ b/clients/client-kendra/src/commands/CreateQuerySuggestionsBlockListCommand.ts @@ -33,6 +33,9 @@ export interface CreateQuerySuggestionsBlockListCommandOutput *

                                                        For information on the current quota limits for block lists, see * Quotas * for Amazon Kendra.

                                                        + *

                                                        + * CreateQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/DeleteExperienceCommand.ts b/clients/client-kendra/src/commands/DeleteExperienceCommand.ts new file mode 100644 index 000000000000..2caa8a61ec20 --- /dev/null +++ b/clients/client-kendra/src/commands/DeleteExperienceCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { DeleteExperienceRequest, DeleteExperienceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteExperienceCommand, + serializeAws_json1_1DeleteExperienceCommand, +} from "../protocols/Aws_json1_1"; + +export interface DeleteExperienceCommandInput extends DeleteExperienceRequest {} +export interface DeleteExperienceCommandOutput extends DeleteExperienceResponse, __MetadataBearer {} + +/** + *

                                                        Deletes your Amazon Kendra experience such as a search application. For more information on + * creating a search application experience, see Building a search + * experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, DeleteExperienceCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, DeleteExperienceCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new DeleteExperienceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteExperienceCommandInput} for command's `input` shape. + * @see {@link DeleteExperienceCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class DeleteExperienceCommand extends $Command< + DeleteExperienceCommandInput, + DeleteExperienceCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteExperienceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "DeleteExperienceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteExperienceRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteExperienceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteExperienceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteExperienceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/DeletePrincipalMappingCommand.ts b/clients/client-kendra/src/commands/DeletePrincipalMappingCommand.ts index cc058e00dc3c..a09d2fea06ef 100644 --- a/clients/client-kendra/src/commands/DeletePrincipalMappingCommand.ts +++ b/clients/client-kendra/src/commands/DeletePrincipalMappingCommand.ts @@ -34,6 +34,9 @@ export interface DeletePrincipalMappingCommandOutput extends __MetadataBearer {} * to the "Engineering" group when calling PutPrincipalMapping. You * can update your internal list of users or sub groups and input this list * when calling PutPrincipalMapping.

                                                        + *

                                                        + * DeletePrincipalMapping is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/DeleteQuerySuggestionsBlockListCommand.ts b/clients/client-kendra/src/commands/DeleteQuerySuggestionsBlockListCommand.ts index 007ad9b7b0eb..20ea0000f61e 100644 --- a/clients/client-kendra/src/commands/DeleteQuerySuggestionsBlockListCommand.ts +++ b/clients/client-kendra/src/commands/DeleteQuerySuggestionsBlockListCommand.ts @@ -26,6 +26,9 @@ export interface DeleteQuerySuggestionsBlockListCommandOutput extends __Metadata *

                                                        A deleted block list might not take effect right away. Amazon Kendra * needs to refresh the entire suggestions list to add back the * queries that were previously blocked.

                                                        + *

                                                        + * DeleteQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/DescribeExperienceCommand.ts b/clients/client-kendra/src/commands/DescribeExperienceCommand.ts new file mode 100644 index 000000000000..6844400079f2 --- /dev/null +++ b/clients/client-kendra/src/commands/DescribeExperienceCommand.ts @@ -0,0 +1,98 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { DescribeExperienceRequest, DescribeExperienceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeExperienceCommand, + serializeAws_json1_1DescribeExperienceCommand, +} from "../protocols/Aws_json1_1"; + +export interface DescribeExperienceCommandInput extends DescribeExperienceRequest {} +export interface DescribeExperienceCommandOutput extends DescribeExperienceResponse, __MetadataBearer {} + +/** + *

                                                        Gets information about your Amazon Kendra experience such as a search application. + * For more information on creating a search application experience, + * see Building + * a search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, DescribeExperienceCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, DescribeExperienceCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new DescribeExperienceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeExperienceCommandInput} for command's `input` shape. + * @see {@link DescribeExperienceCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class DescribeExperienceCommand extends $Command< + DescribeExperienceCommandInput, + DescribeExperienceCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeExperienceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "DescribeExperienceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeExperienceRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeExperienceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeExperienceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeExperienceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/DescribePrincipalMappingCommand.ts b/clients/client-kendra/src/commands/DescribePrincipalMappingCommand.ts index d20a43ced0be..0236b26eaabc 100644 --- a/clients/client-kendra/src/commands/DescribePrincipalMappingCommand.ts +++ b/clients/client-kendra/src/commands/DescribePrincipalMappingCommand.ts @@ -28,6 +28,9 @@ export interface DescribePrincipalMappingCommandOutput extends DescribePrincipal * when actions were received by Amazon Kendra, the latest action that should process * and apply after other actions, and useful error messages if an action could * not be processed.

                                                        + *

                                                        + * DescribePrincipalMapping is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/DescribeQuerySuggestionsBlockListCommand.ts b/clients/client-kendra/src/commands/DescribeQuerySuggestionsBlockListCommand.ts index c1149824c295..1af3a744bc37 100644 --- a/clients/client-kendra/src/commands/DescribeQuerySuggestionsBlockListCommand.ts +++ b/clients/client-kendra/src/commands/DescribeQuerySuggestionsBlockListCommand.ts @@ -30,6 +30,9 @@ export interface DescribeQuerySuggestionsBlockListCommandOutput *

                                                        Describes a block list used for query suggestions for an index.

                                                        *

                                                        This is used to check the current settings that are applied to a * block list.

                                                        + *

                                                        + * DescribeQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/DescribeQuerySuggestionsConfigCommand.ts b/clients/client-kendra/src/commands/DescribeQuerySuggestionsConfigCommand.ts index 1f2069fde6e0..d5366755ff45 100644 --- a/clients/client-kendra/src/commands/DescribeQuerySuggestionsConfigCommand.ts +++ b/clients/client-kendra/src/commands/DescribeQuerySuggestionsConfigCommand.ts @@ -27,6 +27,9 @@ export interface DescribeQuerySuggestionsConfigCommandOutput *

                                                        Describes the settings of query suggestions for an index.

                                                        *

                                                        This is used to check the current settings applied * to query suggestions.

                                                        + *

                                                        + * DescribeQuerySuggestionsConfig is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/DisassociateEntitiesFromExperienceCommand.ts b/clients/client-kendra/src/commands/DisassociateEntitiesFromExperienceCommand.ts new file mode 100644 index 000000000000..ff265c4a5b0a --- /dev/null +++ b/clients/client-kendra/src/commands/DisassociateEntitiesFromExperienceCommand.ts @@ -0,0 +1,110 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { + DisassociateEntitiesFromExperienceRequest, + DisassociateEntitiesFromExperienceResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DisassociateEntitiesFromExperienceCommand, + serializeAws_json1_1DisassociateEntitiesFromExperienceCommand, +} from "../protocols/Aws_json1_1"; + +export interface DisassociateEntitiesFromExperienceCommandInput extends DisassociateEntitiesFromExperienceRequest {} +export interface DisassociateEntitiesFromExperienceCommandOutput + extends DisassociateEntitiesFromExperienceResponse, + __MetadataBearer {} + +/** + *

                                                        Prevents users or groups in your Amazon Web Services SSO identity source + * from accessing your Amazon Kendra experience. You can create an Amazon Kendra experience + * such as a search application. For more information on creating a search + * application experience, see Building + * a search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, DisassociateEntitiesFromExperienceCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, DisassociateEntitiesFromExperienceCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new DisassociateEntitiesFromExperienceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DisassociateEntitiesFromExperienceCommandInput} for command's `input` shape. + * @see {@link DisassociateEntitiesFromExperienceCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class DisassociateEntitiesFromExperienceCommand extends $Command< + DisassociateEntitiesFromExperienceCommandInput, + DisassociateEntitiesFromExperienceCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateEntitiesFromExperienceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "DisassociateEntitiesFromExperienceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociateEntitiesFromExperienceRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisassociateEntitiesFromExperienceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisassociateEntitiesFromExperienceCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DisassociateEntitiesFromExperienceCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DisassociateEntitiesFromExperienceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/DisassociatePersonasFromEntitiesCommand.ts b/clients/client-kendra/src/commands/DisassociatePersonasFromEntitiesCommand.ts new file mode 100644 index 000000000000..e367aa1ae9ab --- /dev/null +++ b/clients/client-kendra/src/commands/DisassociatePersonasFromEntitiesCommand.ts @@ -0,0 +1,107 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { DisassociatePersonasFromEntitiesRequest, DisassociatePersonasFromEntitiesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DisassociatePersonasFromEntitiesCommand, + serializeAws_json1_1DisassociatePersonasFromEntitiesCommand, +} from "../protocols/Aws_json1_1"; + +export interface DisassociatePersonasFromEntitiesCommandInput extends DisassociatePersonasFromEntitiesRequest {} +export interface DisassociatePersonasFromEntitiesCommandOutput + extends DisassociatePersonasFromEntitiesResponse, + __MetadataBearer {} + +/** + *

                                                        Removes the specific permissions of users or groups in your Amazon Web Services SSO + * identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra + * experience such as a search application. For more information on creating a + * search application experience, see Building a + * search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, DisassociatePersonasFromEntitiesCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, DisassociatePersonasFromEntitiesCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new DisassociatePersonasFromEntitiesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DisassociatePersonasFromEntitiesCommandInput} for command's `input` shape. + * @see {@link DisassociatePersonasFromEntitiesCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class DisassociatePersonasFromEntitiesCommand extends $Command< + DisassociatePersonasFromEntitiesCommandInput, + DisassociatePersonasFromEntitiesCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociatePersonasFromEntitiesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "DisassociatePersonasFromEntitiesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociatePersonasFromEntitiesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisassociatePersonasFromEntitiesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisassociatePersonasFromEntitiesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DisassociatePersonasFromEntitiesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DisassociatePersonasFromEntitiesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/GetQuerySuggestionsCommand.ts b/clients/client-kendra/src/commands/GetQuerySuggestionsCommand.ts index 0317ff5be78b..b4b6410667b3 100644 --- a/clients/client-kendra/src/commands/GetQuerySuggestionsCommand.ts +++ b/clients/client-kendra/src/commands/GetQuerySuggestionsCommand.ts @@ -23,6 +23,9 @@ export interface GetQuerySuggestionsCommandOutput extends GetQuerySuggestionsRes /** *

                                                        Fetches the queries that are suggested to your users.

                                                        + *

                                                        + * GetQuerySuggestions is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/GetSnapshotsCommand.ts b/clients/client-kendra/src/commands/GetSnapshotsCommand.ts new file mode 100644 index 000000000000..41a734de8898 --- /dev/null +++ b/clients/client-kendra/src/commands/GetSnapshotsCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { GetSnapshotsRequest, GetSnapshotsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetSnapshotsCommand, + serializeAws_json1_1GetSnapshotsCommand, +} from "../protocols/Aws_json1_1"; + +export interface GetSnapshotsCommandInput extends GetSnapshotsRequest {} +export interface GetSnapshotsCommandOutput extends GetSnapshotsResponse, __MetadataBearer {} + +/** + *

                                                        Retrieves search metrics data. The data provides a snapshot of how + * your users interact with your search application and how effective + * the application is.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, GetSnapshotsCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, GetSnapshotsCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new GetSnapshotsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetSnapshotsCommandInput} for command's `input` shape. + * @see {@link GetSnapshotsCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class GetSnapshotsCommand extends $Command< + GetSnapshotsCommandInput, + GetSnapshotsCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetSnapshotsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "GetSnapshotsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetSnapshotsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetSnapshotsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetSnapshotsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetSnapshotsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetSnapshotsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/ListEntityPersonasCommand.ts b/clients/client-kendra/src/commands/ListEntityPersonasCommand.ts new file mode 100644 index 000000000000..87ed5142e87c --- /dev/null +++ b/clients/client-kendra/src/commands/ListEntityPersonasCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { ListEntityPersonasRequest, ListEntityPersonasResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListEntityPersonasCommand, + serializeAws_json1_1ListEntityPersonasCommand, +} from "../protocols/Aws_json1_1"; + +export interface ListEntityPersonasCommandInput extends ListEntityPersonasRequest {} +export interface ListEntityPersonasCommandOutput extends ListEntityPersonasResponse, __MetadataBearer {} + +/** + *

                                                        Lists specific permissions of users and groups with access to your + * Amazon Kendra experience.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, ListEntityPersonasCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, ListEntityPersonasCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new ListEntityPersonasCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListEntityPersonasCommandInput} for command's `input` shape. + * @see {@link ListEntityPersonasCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class ListEntityPersonasCommand extends $Command< + ListEntityPersonasCommandInput, + ListEntityPersonasCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListEntityPersonasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "ListEntityPersonasCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListEntityPersonasRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListEntityPersonasResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListEntityPersonasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListEntityPersonasCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListEntityPersonasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/ListExperienceEntitiesCommand.ts b/clients/client-kendra/src/commands/ListExperienceEntitiesCommand.ts new file mode 100644 index 000000000000..f78d1faac708 --- /dev/null +++ b/clients/client-kendra/src/commands/ListExperienceEntitiesCommand.ts @@ -0,0 +1,99 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { ListExperienceEntitiesRequest, ListExperienceEntitiesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListExperienceEntitiesCommand, + serializeAws_json1_1ListExperienceEntitiesCommand, +} from "../protocols/Aws_json1_1"; + +export interface ListExperienceEntitiesCommandInput extends ListExperienceEntitiesRequest {} +export interface ListExperienceEntitiesCommandOutput extends ListExperienceEntitiesResponse, __MetadataBearer {} + +/** + *

                                                        Lists users or groups in your Amazon Web Services SSO identity source that are + * granted access to your Amazon Kendra experience. You can create an Amazon Kendra experience + * such as a search application. For more information on creating a search + * application experience, see Building + * a search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, ListExperienceEntitiesCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, ListExperienceEntitiesCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new ListExperienceEntitiesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListExperienceEntitiesCommandInput} for command's `input` shape. + * @see {@link ListExperienceEntitiesCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class ListExperienceEntitiesCommand extends $Command< + ListExperienceEntitiesCommandInput, + ListExperienceEntitiesCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListExperienceEntitiesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "ListExperienceEntitiesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListExperienceEntitiesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListExperienceEntitiesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListExperienceEntitiesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListExperienceEntitiesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListExperienceEntitiesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/ListExperiencesCommand.ts b/clients/client-kendra/src/commands/ListExperiencesCommand.ts new file mode 100644 index 000000000000..32ad3b855603 --- /dev/null +++ b/clients/client-kendra/src/commands/ListExperiencesCommand.ts @@ -0,0 +1,98 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { ListExperiencesRequest, ListExperiencesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListExperiencesCommand, + serializeAws_json1_1ListExperiencesCommand, +} from "../protocols/Aws_json1_1"; + +export interface ListExperiencesCommandInput extends ListExperiencesRequest {} +export interface ListExperiencesCommandOutput extends ListExperiencesResponse, __MetadataBearer {} + +/** + *

                                                        Lists one or more Amazon Kendra experiences. You can create an Amazon Kendra experience such + * as a search application. For more information on creating a search application + * experience, see Building a + * search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, ListExperiencesCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, ListExperiencesCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new ListExperiencesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListExperiencesCommandInput} for command's `input` shape. + * @see {@link ListExperiencesCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class ListExperiencesCommand extends $Command< + ListExperiencesCommandInput, + ListExperiencesCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListExperiencesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "ListExperiencesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListExperiencesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListExperiencesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListExperiencesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListExperiencesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListExperiencesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/ListGroupsOlderThanOrderingIdCommand.ts b/clients/client-kendra/src/commands/ListGroupsOlderThanOrderingIdCommand.ts index 881b806c77c3..e01bf99bfa36 100644 --- a/clients/client-kendra/src/commands/ListGroupsOlderThanOrderingIdCommand.ts +++ b/clients/client-kendra/src/commands/ListGroupsOlderThanOrderingIdCommand.ts @@ -26,6 +26,9 @@ export interface ListGroupsOlderThanOrderingIdCommandOutput /** *

                                                        Provides a list of groups that are mapped to users before a * given ordering or timestamp identifier.

                                                        + *

                                                        + * ListGroupsOlderThanOrderingId is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/ListQuerySuggestionsBlockListsCommand.ts b/clients/client-kendra/src/commands/ListQuerySuggestionsBlockListsCommand.ts index 85e2d87d451a..05932d93a70f 100644 --- a/clients/client-kendra/src/commands/ListQuerySuggestionsBlockListsCommand.ts +++ b/clients/client-kendra/src/commands/ListQuerySuggestionsBlockListsCommand.ts @@ -28,6 +28,9 @@ export interface ListQuerySuggestionsBlockListsCommandOutput *

                                                        For information on the current quota limits for block lists, see * Quotas * for Amazon Kendra.

                                                        + *

                                                        + * ListQuerySuggestionsBlockLists is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/PutPrincipalMappingCommand.ts b/clients/client-kendra/src/commands/PutPrincipalMappingCommand.ts index 019d05381bd3..3d1600e15073 100644 --- a/clients/client-kendra/src/commands/PutPrincipalMappingCommand.ts +++ b/clients/client-kendra/src/commands/PutPrincipalMappingCommand.ts @@ -38,6 +38,9 @@ export interface PutPrincipalMappingCommandOutput extends __MetadataBearer {} * on user context.

                                                        *

                                                        If more than five PUT actions for a group are currently * processing, a validation exception is thrown.

                                                        + *

                                                        + * PutPrincipalMapping is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/SubmitFeedbackCommand.ts b/clients/client-kendra/src/commands/SubmitFeedbackCommand.ts index 1b810f0609a4..d665de480b7c 100644 --- a/clients/client-kendra/src/commands/SubmitFeedbackCommand.ts +++ b/clients/client-kendra/src/commands/SubmitFeedbackCommand.ts @@ -23,7 +23,10 @@ export interface SubmitFeedbackCommandOutput extends __MetadataBearer {} /** *

                                                        Enables you to provide feedback to Amazon Kendra to improve the - * performance of your index.

                                                        + * performance of your index.

                                                        + *

                                                        + * SubmitFeedback is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/UpdateExperienceCommand.ts b/clients/client-kendra/src/commands/UpdateExperienceCommand.ts new file mode 100644 index 000000000000..84ef1c6e2154 --- /dev/null +++ b/clients/client-kendra/src/commands/UpdateExperienceCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { KendraClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KendraClient"; +import { UpdateExperienceRequest } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateExperienceCommand, + serializeAws_json1_1UpdateExperienceCommand, +} from "../protocols/Aws_json1_1"; + +export interface UpdateExperienceCommandInput extends UpdateExperienceRequest {} +export interface UpdateExperienceCommandOutput extends __MetadataBearer {} + +/** + *

                                                        Updates your Amazon Kendra experience such as a search application. For more information on + * creating a search application experience, see Building a + * search experience with no code.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { KendraClient, UpdateExperienceCommand } from "@aws-sdk/client-kendra"; // ES Modules import + * // const { KendraClient, UpdateExperienceCommand } = require("@aws-sdk/client-kendra"); // CommonJS import + * const client = new KendraClient(config); + * const command = new UpdateExperienceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateExperienceCommandInput} for command's `input` shape. + * @see {@link UpdateExperienceCommandOutput} for command's `response` shape. + * @see {@link KendraClientResolvedConfig | config} for KendraClient's `config` shape. + * + */ +export class UpdateExperienceCommand extends $Command< + UpdateExperienceCommandInput, + UpdateExperienceCommandOutput, + KendraClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateExperienceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KendraClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KendraClient"; + const commandName = "UpdateExperienceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateExperienceRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateExperienceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateExperienceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kendra/src/commands/UpdateQuerySuggestionsBlockListCommand.ts b/clients/client-kendra/src/commands/UpdateQuerySuggestionsBlockListCommand.ts index 44743d438095..1ad55fda499a 100644 --- a/clients/client-kendra/src/commands/UpdateQuerySuggestionsBlockListCommand.ts +++ b/clients/client-kendra/src/commands/UpdateQuerySuggestionsBlockListCommand.ts @@ -30,6 +30,9 @@ export interface UpdateQuerySuggestionsBlockListCommandOutput extends __Metadata * finish before submitting another update.

                                                        *

                                                        Amazon Kendra supports partial updates, so you only need to provide the fields * you want to update.

                                                        + *

                                                        + * UpdateQuerySuggestionsBlockList is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/UpdateQuerySuggestionsConfigCommand.ts b/clients/client-kendra/src/commands/UpdateQuerySuggestionsConfigCommand.ts index 401f0acc9197..22bb014a583f 100644 --- a/clients/client-kendra/src/commands/UpdateQuerySuggestionsConfigCommand.ts +++ b/clients/client-kendra/src/commands/UpdateQuerySuggestionsConfigCommand.ts @@ -31,6 +31,9 @@ export interface UpdateQuerySuggestionsConfigCommandOutput extends __MetadataBea * The time for your updated settings to take effect depends on the updates * made and the number of search queries in your index.

                                                        *

                                                        You can still enable/disable query suggestions at any time.

                                                        + *

                                                        + * UpdateQuerySuggestionsConfig is currently not supported in the + * Amazon Web Services GovCloud (US-West) region.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kendra/src/commands/index.ts b/clients/client-kendra/src/commands/index.ts index d71d5f502a07..3898378e4e84 100644 --- a/clients/client-kendra/src/commands/index.ts +++ b/clients/client-kendra/src/commands/index.ts @@ -1,28 +1,39 @@ +export * from "./AssociateEntitiesToExperienceCommand"; +export * from "./AssociatePersonasToEntitiesCommand"; export * from "./BatchDeleteDocumentCommand"; export * from "./BatchGetDocumentStatusCommand"; export * from "./BatchPutDocumentCommand"; export * from "./ClearQuerySuggestionsCommand"; export * from "./CreateDataSourceCommand"; +export * from "./CreateExperienceCommand"; export * from "./CreateFaqCommand"; export * from "./CreateIndexCommand"; export * from "./CreateQuerySuggestionsBlockListCommand"; export * from "./CreateThesaurusCommand"; export * from "./DeleteDataSourceCommand"; +export * from "./DeleteExperienceCommand"; export * from "./DeleteFaqCommand"; export * from "./DeleteIndexCommand"; export * from "./DeletePrincipalMappingCommand"; export * from "./DeleteQuerySuggestionsBlockListCommand"; export * from "./DeleteThesaurusCommand"; export * from "./DescribeDataSourceCommand"; +export * from "./DescribeExperienceCommand"; export * from "./DescribeFaqCommand"; export * from "./DescribeIndexCommand"; export * from "./DescribePrincipalMappingCommand"; export * from "./DescribeQuerySuggestionsBlockListCommand"; export * from "./DescribeQuerySuggestionsConfigCommand"; export * from "./DescribeThesaurusCommand"; +export * from "./DisassociateEntitiesFromExperienceCommand"; +export * from "./DisassociatePersonasFromEntitiesCommand"; export * from "./GetQuerySuggestionsCommand"; +export * from "./GetSnapshotsCommand"; export * from "./ListDataSourceSyncJobsCommand"; export * from "./ListDataSourcesCommand"; +export * from "./ListEntityPersonasCommand"; +export * from "./ListExperienceEntitiesCommand"; +export * from "./ListExperiencesCommand"; export * from "./ListFaqsCommand"; export * from "./ListGroupsOlderThanOrderingIdCommand"; export * from "./ListIndicesCommand"; @@ -37,6 +48,7 @@ export * from "./SubmitFeedbackCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateDataSourceCommand"; +export * from "./UpdateExperienceCommand"; export * from "./UpdateIndexCommand"; export * from "./UpdateQuerySuggestionsBlockListCommand"; export * from "./UpdateQuerySuggestionsConfigCommand"; diff --git a/clients/client-kendra/src/models/models_0.ts b/clients/client-kendra/src/models/models_0.ts index 81e23bf54725..47746517fb7d 100644 --- a/clients/client-kendra/src/models/models_0.ts +++ b/clients/client-kendra/src/models/models_0.ts @@ -187,6 +187,283 @@ export namespace AdditionalResultAttribute { }); } +export enum EntityType { + GROUP = "GROUP", + USER = "USER", +} + +/** + *

                                                        Provides the configuration information of users or groups in + * your Amazon Web Services SSO identity source to grant access your Amazon Kendra + * experience.

                                                        + */ +export interface EntityConfiguration { + /** + *

                                                        The identifier of a user or group in your Amazon Web Services SSO identity + * source. For example, a user ID could be an email.

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

                                                        Specifies whether you are configuring a User or a + * Group.

                                                        + */ + EntityType: EntityType | string | undefined; +} + +export namespace EntityConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EntityConfiguration): any => ({ + ...obj, + }); +} + +export interface AssociateEntitiesToExperienceRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        Lists users or groups in your Amazon Web Services SSO identity source.

                                                        + */ + EntityList: EntityConfiguration[] | undefined; +} + +export namespace AssociateEntitiesToExperienceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociateEntitiesToExperienceRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Information on the users or groups in your Amazon Web Services SSO identity + * source that failed to properly configure with your Amazon Kendra experience.

                                                        + */ +export interface FailedEntity { + /** + *

                                                        The identifier of the user or group in your Amazon Web Services SSO identity + * source. For example, a user ID could be an email.

                                                        + */ + EntityId?: string; + + /** + *

                                                        The reason the user or group in your Amazon Web Services SSO identity source + * failed to properly configure with your Amazon Kendra experience.

                                                        + */ + ErrorMessage?: string; +} + +export namespace FailedEntity { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FailedEntity): any => ({ + ...obj, + }); +} + +export interface AssociateEntitiesToExperienceResponse { + /** + *

                                                        Lists the users or groups in your Amazon Web Services SSO identity source that + * failed to properly configure with your Amazon Kendra experience.

                                                        + */ + FailedEntityList?: FailedEntity[]; +} + +export namespace AssociateEntitiesToExperienceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociateEntitiesToExperienceResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                        + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalServerException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                                                        + */ +export interface ResourceAlreadyExistException extends __SmithyException, $MetadataBearer { + name: "ResourceAlreadyExistException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceAlreadyExistException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceAlreadyExistException): any => ({ + ...obj, + }); +} + +/** + *

                                                        + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                                                        + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message?: string; +} + +export namespace ThrottlingException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +/** + *

                                                        + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + Message?: string; +} + +export namespace ValidationException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +export enum Persona { + OWNER = "OWNER", + VIEWER = "VIEWER", +} + +/** + *

                                                        Provides the configuration information of users or groups in your + * Amazon Web Services SSO identity source for access to your Amazon Kendra experience. + * Specific permissions are defined for each user or group once they are + * granted access to your Amazon Kendra experience.

                                                        + */ +export interface EntityPersonaConfiguration { + /** + *

                                                        The identifier of a user or group in your Amazon Web Services SSO identity + * source. For example, a user ID could be an email.

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

                                                        The persona that defines the specific permissions of the user or group + * in your Amazon Web Services SSO identity source. The available personas or + * access roles are Owner and Viewer. For more + * information on these personas, see Providing + * access to your search page.

                                                        + */ + Persona: Persona | string | undefined; +} + +export namespace EntityPersonaConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EntityPersonaConfiguration): any => ({ + ...obj, + }); +} + +export interface AssociatePersonasToEntitiesRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        The personas that define the specific permissions of users or groups in + * your Amazon Web Services SSO identity source. The available personas or access + * roles are Owner and Viewer. For more information + * on these personas, see Providing + * access to your search page.

                                                        + */ + Personas: EntityPersonaConfiguration[] | undefined; +} + +export namespace AssociatePersonasToEntitiesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociatePersonasToEntitiesRequest): any => ({ + ...obj, + }); +} + +export interface AssociatePersonasToEntitiesResponse { + /** + *

                                                        Lists the users or groups in your Amazon Web Services SSO identity source that + * failed to properly configure with your Amazon Kendra experience.

                                                        + */ + FailedEntityList?: FailedEntity[]; +} + +export namespace AssociatePersonasToEntitiesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociatePersonasToEntitiesResponse): any => ({ + ...obj, + }); +} + /** *

                                                        The value of a custom document attribute. You can only provide one * value for a custom attribute.

                                                        @@ -273,7 +550,7 @@ export interface BasicAuthenticationConfiguration { Port: number | undefined; /** - *

                                                        Your secret ARN, which you can create in AWS Secrets Manager + *

                                                        Your secret ARN, which you can create in Secrets Manager *

                                                        *

                                                        You use a secret if basic authentication credentials are required to connect * to a website. The secret stores your credentials of user name and password.

                                                        @@ -446,78 +723,6 @@ export namespace ConflictException { }); } -/** - *

                                                        - */ -export interface InternalServerException extends __SmithyException, $MetadataBearer { - name: "InternalServerException"; - $fault: "server"; - Message?: string; -} - -export namespace InternalServerException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InternalServerException): any => ({ - ...obj, - }); -} - -/** - *

                                                        - */ -export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { - name: "ResourceNotFoundException"; - $fault: "client"; - Message?: string; -} - -export namespace ResourceNotFoundException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ - ...obj, - }); -} - -/** - *

                                                        - */ -export interface ThrottlingException extends __SmithyException, $MetadataBearer { - name: "ThrottlingException"; - $fault: "client"; - Message?: string; -} - -export namespace ThrottlingException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ThrottlingException): any => ({ - ...obj, - }); -} - -/** - *

                                                        - */ -export interface ValidationException extends __SmithyException, $MetadataBearer { - name: "ValidationException"; - $fault: "client"; - Message?: string; -} - -export namespace ValidationException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ValidationException): any => ({ - ...obj, - }); -} - /** *

                                                        Identifies a document for which to retrieve status * information

                                                        @@ -704,6 +909,248 @@ export namespace BatchGetDocumentStatusResponse { }); } +export enum ConditionOperator { + BeginsWith = "BeginsWith", + Contains = "Contains", + Equals = "Equals", + Exists = "Exists", + GreaterThan = "GreaterThan", + GreaterThanOrEquals = "GreaterThanOrEquals", + LessThan = "LessThan", + LessThanOrEquals = "LessThanOrEquals", + NotContains = "NotContains", + NotEquals = "NotEquals", + NotExists = "NotExists", +} + +/** + *

                                                        The condition used for the target document attribute or metadata field when + * ingesting documents into Amazon Kendra. You use this with DocumentAttributeTarget + * to apply the condition.

                                                        + *

                                                        For example, you can create the 'Department' target field and have it prefill + * department names associated with the documents based on information in the + * 'Source_URI' field. Set the condition that if the 'Source_URI' field contains + * 'financial' in its URI value, then prefill the target field 'Department' with + * the target value 'Finance' for the document.

                                                        + *

                                                        Amazon Kendra cannot create a target field if it has not already been created as an + * index field. After you create your index field, you can create a document metadata + * field using DocumentAttributeTarget. Amazon Kendra then will map your newly + * created metadata field to your index field.

                                                        + */ +export interface DocumentAttributeCondition { + /** + *

                                                        The identifier of the document attribute used for the condition.

                                                        + *

                                                        For example, 'Source_URI' could be an identifier for the attribute or metadata + * field that contains source URIs associated with the documents.

                                                        + *

                                                        Amazon Kendra currently does not support _document_body as an attribute + * key used for the condition.

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

                                                        The condition operator.

                                                        + *

                                                        For example, you can use 'Contains' to partially match a string.

                                                        + */ + Operator: ConditionOperator | string | undefined; + + /** + *

                                                        The value used by the operator.

                                                        + *

                                                        For example, you can specify the value 'financial' for strings in the 'Source_URI' + * field that partially match or contain this value.

                                                        + */ + ConditionOnValue?: DocumentAttributeValue; +} + +export namespace DocumentAttributeCondition { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DocumentAttributeCondition): any => ({ + ...obj, + }); +} + +/** + *

                                                        The target document attribute or metadata field you want to alter when ingesting + * documents into Amazon Kendra.

                                                        + *

                                                        For example, you can delete customer identification numbers associated with the + * documents, stored in the document metadata field called 'Customer_ID'. You set the + * target key as 'Customer_ID' and the deletion flag to TRUE. This + * removes all customer ID values in the field 'Customer_ID'. This would scrub + * personally identifiable information from each document's metadata.

                                                        + *

                                                        Amazon Kendra cannot create a target field if it has not already been created as an + * index field. After you create your index field, you can create a document metadata + * field using DocumentAttributeTarget. Amazon Kendra then will map your newly + * created metadata field to your index field.

                                                        + *

                                                        You can also use this with DocumentAttributeCondition.

                                                        + */ +export interface DocumentAttributeTarget { + /** + *

                                                        The identifier of the target document attribute or metadata field.

                                                        + *

                                                        For example, 'Department' could be an identifier for the target attribute or + * metadata field that includes the department names associated with the documents.

                                                        + */ + TargetDocumentAttributeKey?: string; + + /** + *

                                                        + * TRUE to delete the existing target value for your specified target + * attribute key. You cannot create a target value and set this to TRUE. + * To create a target value (TargetDocumentAttributeValue), set this to + * FALSE.

                                                        + */ + TargetDocumentAttributeValueDeletion?: boolean; + + /** + *

                                                        The target value you want to create for the target attribute.

                                                        + *

                                                        For example, 'Finance' could be the target value for the target attribute key + * 'Department'.

                                                        + */ + TargetDocumentAttributeValue?: DocumentAttributeValue; +} + +export namespace DocumentAttributeTarget { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DocumentAttributeTarget): any => ({ + ...obj, + }); +} + +/** + *

                                                        Provides the configuration information for applying basic logic to alter document + * metadata and content when ingesting documents into Amazon Kendra. To apply advanced + * logic, to go beyond what you can do with basic logic, see HookConfiguration.

                                                        + *

                                                        For more information, see Customizing document metadata + * during the ingestion process.

                                                        + */ +export interface InlineCustomDocumentEnrichmentConfiguration { + /** + *

                                                        Configuration of the condition used for the target document attribute or metadata + * field when ingesting documents into Amazon Kendra.

                                                        + */ + Condition?: DocumentAttributeCondition; + + /** + *

                                                        Configuration of the target document attribute or metadata field when ingesting + * documents into Amazon Kendra. You can also include a value.

                                                        + */ + Target?: DocumentAttributeTarget; + + /** + *

                                                        + * TRUE to delete content if the condition used for the target + * attribute is met.

                                                        + */ + DocumentContentDeletion?: boolean; +} + +export namespace InlineCustomDocumentEnrichmentConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InlineCustomDocumentEnrichmentConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                        Provides the configuration information for invoking a Lambda function in + * Lambda to alter document metadata and content when ingesting + * documents into Amazon Kendra. You can configure your Lambda function using + * PreExtractionHookConfiguration + * if you want to apply advanced alterations on the original or raw documents. + * If you want to apply advanced alterations on the Amazon Kendra structured documents, + * you must configure your Lambda function using PostExtractionHookConfiguration. + * You can only invoke one Lambda function. However, this function can invoke other + * functions it requires.

                                                        + *

                                                        For more information, see Customizing document metadata + * during the ingestion process.

                                                        + */ +export interface HookConfiguration { + /** + *

                                                        The condition used for when a Lambda function should be invoked.

                                                        + *

                                                        For example, you can specify a condition that if there are empty date-time + * values, then Amazon Kendra should invoke a function that inserts the current date-time.

                                                        + */ + InvocationCondition?: DocumentAttributeCondition; + + /** + *

                                                        The Amazon Resource Name (ARN) of a role with permission to run a Lambda function + * during ingestion. For more information, see IAM roles for Amazon Kendra.

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

                                                        Stores the original, raw documents or the structured, parsed + * documents before and after altering them. For more information, + * see Data + * contracts for Lambda functions.

                                                        + */ + S3Bucket: string | undefined; +} + +export namespace HookConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: HookConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                        Provides the configuration information for altering document metadata and content + * during the document ingestion process.

                                                        + *

                                                        For more information, see Customizing document metadata + * during the ingestion process.

                                                        + */ +export interface CustomDocumentEnrichmentConfiguration { + /** + *

                                                        Configuration information to alter document attributes or metadata fields and + * content when ingesting documents into Amazon Kendra.

                                                        + */ + InlineConfigurations?: InlineCustomDocumentEnrichmentConfiguration[]; + + /** + *

                                                        Configuration information for invoking a Lambda function in Lambda + * on the original or raw documents before extracting their metadata and text. You can + * use a Lambda function to apply advanced logic for creating, modifying, or deleting + * document metadata and content. For more information, see Advanced + * data manipulation.

                                                        + */ + PreExtractionHookConfiguration?: HookConfiguration; + + /** + *

                                                        Configuration information for invoking a Lambda function in Lambda + * on the structured documents with their metadata and text extracted. You can use a + * Lambda function to apply advanced logic for creating, modifying, or deleting document + * metadata and content. For more information, see Advanced + * data manipulation.

                                                        + */ + PostExtractionHookConfiguration?: HookConfiguration; + + /** + *

                                                        The Amazon Resource Name (ARN) of a role with permission to run + * PreExtractionHookConfiguration and + * PostExtractionHookConfiguration for altering document metadata + * and content during the document ingestion process. For more information, + * see IAM roles for + * Amazon Kendra.

                                                        + */ + RoleArn?: string; +} + +export namespace CustomDocumentEnrichmentConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CustomDocumentEnrichmentConfiguration): any => ({ + ...obj, + }); +} + export enum ReadAccessType { ALLOW = "ALLOW", DENY = "DENY", @@ -913,6 +1360,17 @@ export interface BatchPutDocumentRequest { * quotas, see Quotas.

                                                        */ Documents: Document[] | undefined; + + /** + *

                                                        Configuration information for altering your document metadata and content during + * the document ingestion process when you use the BatchPutDocument + * operation.

                                                        + *

                                                        For more information on how to create, modify and delete document metadata, + * or make other content alterations when you ingest documents into Amazon Kendra, see + * Customizing + * document metadata during the ingestion process.

                                                        + */ + CustomDocumentEnrichmentConfiguration?: CustomDocumentEnrichmentConfiguration; } export namespace BatchPutDocumentRequest { @@ -1400,7 +1858,7 @@ export interface ConfluenceConfiguration { ServerUrl: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of an Secrets Managersecret + *

                                                        The Amazon Resource Name (ARN) of an Secrets Manager secret * that contains the key/value pairs required to connect to your * Confluence server. The secret must contain a JSON structure with the * following keys:

                                                        @@ -2523,7 +2981,7 @@ export interface ServiceNowConfiguration { /** *

                                                        Determines the type of authentication used to connect to the * ServiceNow instance. If you choose HTTP_BASIC, Amazon Kendra is - * authenticated using the user name and password provided in the AWS + * authenticated using the user name and password provided in the * Secrets Manager secret in the SecretArn field. When you * choose OAUTH2, Amazon Kendra is authenticated using the OAuth * token and secret provided in the Secrets Manager secret, and the @@ -2576,7 +3034,7 @@ export interface SharePointConfiguration { * domain name as part of the credentials. For * more information, see Using a * Microsoft SharePoint Data Source. For more information - * about Secrets Manager, see What Is + * about Secrets Manager see What Is * Secrets Manager in the Secrets Manager * user guide.

                                                        */ @@ -2688,7 +3146,7 @@ export interface ProxyConfiguration { Port: number | undefined; /** - *

                                                        Your secret ARN, which you can create in AWS Secrets Manager + *

                                                        Your secret ARN, which you can create in Secrets Manager *

                                                        *

                                                        The credentials are optional. You use a secret if web proxy credentials * are required to connect to a website host. Amazon Kendra currently support basic @@ -2718,8 +3176,8 @@ export enum WebCrawlerMode { *

                                                        * When selecting websites to index, you must adhere to * the Amazon Acceptable Use Policy - * and all other Amazon terms. Remember that you must only use the Amazon Kendra web - * crawler to index your own webpages, or webpages that you have authorization + * and all other Amazon terms. Remember that you must only use Amazon Kendra Web + * Crawler to index your own webpages, or webpages that you have authorization * to index. *

                                                        */ @@ -2771,8 +3229,8 @@ export namespace SeedUrlConfiguration { *

                                                        * When selecting websites to index, you must adhere to * the Amazon Acceptable Use Policy - * and all other Amazon terms. Remember that you must only use the Amazon Kendra web - * crawler to index your own webpages, or webpages that you have authorization + * and all other Amazon terms. Remember that you must only use Amazon Kendra Web + * Crawler to index your own webpages, or webpages that you have authorization * to index. *

                                                        */ @@ -2802,8 +3260,8 @@ export namespace SiteMapsConfiguration { *

                                                        * When selecting websites to index, you must adhere to * the Amazon Acceptable Use Policy - * and all other Amazon terms. Remember that you must only use the Amazon Kendra web - * crawler to index your own webpages, or webpages that you have authorization to + * and all other Amazon terms. Remember that you must only use Amazon Kendra Web + * Crawler to index your own webpages, or webpages that you have authorization to * index. *

                                                        */ @@ -2837,7 +3295,7 @@ export namespace Urls { /** *

                                                        Provides the configuration information required for Amazon Kendra - * web crawler.

                                                        + * Web Crawler.

                                                        */ export interface WebCrawlerConfiguration { /** @@ -2851,8 +3309,8 @@ export interface WebCrawlerConfiguration { *

                                                        * When selecting websites to index, you must adhere to * the Amazon Acceptable Use Policy - * and all other Amazon terms. Remember that you must only use the Amazon Kendra - * web crawler to index your own webpages, or webpages that you have + * and all other Amazon terms. Remember that you must only use Amazon Kendra + * Web Crawler to index your own webpages, or webpages that you have * authorization to index. *

                                                        */ @@ -2914,7 +3372,7 @@ export interface WebCrawlerConfiguration { * port is 443, the standard port for HTTPS.

                                                        *

                                                        Web proxy credentials are optional and you can use them to connect to a * web proxy server that requires basic authentication. To store web proxy - * credentials, you use a secret in AWS Secrets Manager.

                                                        + * credentials, you use a secret in Secrets Manager.

                                                        */ ProxyConfiguration?: ProxyConfiguration; @@ -2924,7 +3382,7 @@ export interface WebCrawlerConfiguration { *

                                                        You can connect to websites using basic authentication of user name and password.

                                                        *

                                                        You must provide the website host name and port number. For example, the host name * of https://a.example.com/page1.html is "a.example.com" and the port is 443, the - * standard port for HTTPS. You use a secret in AWS Secrets Manager to store + * standard port for HTTPS. You use a secret in Secrets Manager to store * your authentication credentials.

                                                        */ AuthenticationConfiguration?: AuthenticationConfiguration; @@ -2950,11 +3408,11 @@ export interface WorkDocsConfiguration { *

                                                        The identifier of the directory corresponding to your * Amazon WorkDocs site repository.

                                                        *

                                                        You can find the organization ID in the - * AWS Directory Service by going to + * Directory Service by going to * Active Directory, then * Directories. Your Amazon WorkDocs site directory has an * ID, which is the organization ID. You can also set up a new Amazon WorkDocs - * directory in the AWS Directory Service console and enable a Amazon WorkDocs site + * directory in the Directory Service console and enable a Amazon WorkDocs site * for the directory in the Amazon WorkDocs console.

                                                        */ OrganizationId: string | undefined; @@ -3022,7 +3480,7 @@ export namespace WorkDocsConfiguration { } /** - *

                                                        Configuration information for a Amazon Kendra data source.

                                                        + *

                                                        Configuration information for an Amazon Kendra data source.

                                                        */ export interface DataSourceConfiguration { /** @@ -3075,7 +3533,7 @@ export interface DataSourceConfiguration { /** *

                                                        Provides the configuration information required for Amazon Kendra - * web crawler.

                                                        + * Web Crawler.

                                                        */ WebCrawlerConfiguration?: WebCrawlerConfiguration; @@ -3217,6 +3675,16 @@ export interface CreateDataSourceRequest { * documents in languages other than English.

                                                        */ LanguageCode?: string; + + /** + *

                                                        Configuration information for altering document metadata and content during the + * document ingestion process when you create a data source.

                                                        + *

                                                        For more information on how to create, modify and delete document metadata, or make + * other content alterations when you ingest documents into Amazon Kendra, see + * Customizing + * document metadata during the ingestion process.

                                                        + */ + CustomDocumentEnrichmentConfiguration?: CustomDocumentEnrichmentConfiguration; } export namespace CreateDataSourceRequest { @@ -3245,19 +3713,152 @@ export namespace CreateDataSourceResponse { } /** - *

                                                        + *

                                                        Configuration information for your content sources, such as data sources, + * FAQs, and content indexed directly via BatchPutDocument.

                                                        */ -export interface ResourceAlreadyExistException extends __SmithyException, $MetadataBearer { - name: "ResourceAlreadyExistException"; - $fault: "client"; - Message?: string; +export interface ContentSourceConfiguration { + /** + *

                                                        The identifier of the data sources you want to use for your Amazon Kendra experience.

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

                                                        The identifier of the FAQs that you want to use for your Amazon Kendra experience.

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

                                                        + * TRUE to use documents you indexed directly using the + * BatchPutDocument operation.

                                                        + */ + DirectPutContent?: boolean; } -export namespace ResourceAlreadyExistException { +export namespace ContentSourceConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: ResourceAlreadyExistException): any => ({ + export const filterSensitiveLog = (obj: ContentSourceConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                        Configuration information for the identifiers of your users.

                                                        + */ +export interface UserIdentityConfiguration { + /** + *

                                                        The Amazon Web Services SSO field name that contains the identifiers of your users, + * such as their emails. This is used for user context filtering + * and for granting access to your Amazon Kendra experience. You must set up Amazon Web Services SSO + * with Amazon Kendra. You must include your users and groups in your Access Control List when + * you ingest documents into your index. For more information, see + * Getting + * started with an Amazon Web Services SSO identity source.

                                                        + */ + IdentityAttributeName?: string; +} + +export namespace UserIdentityConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UserIdentityConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                        Specifies the configuration information for your Amazon Kendra experience. This includes + * the data source IDs and/or FAQ IDs, and user or group information to grant access + * to your Amazon Kendra experience.

                                                        + */ +export interface ExperienceConfiguration { + /** + *

                                                        The identifiers of your data sources and FAQs. Or, you can specify + * that you want to use documents indexed via the BatchPutDocument + * operation. This is the content you want to use for your Amazon Kendra experience.

                                                        + */ + ContentSourceConfiguration?: ContentSourceConfiguration; + + /** + *

                                                        The Amazon Web Services SSO field name that contains the identifiers of your users, + * such as their emails.

                                                        + */ + UserIdentityConfiguration?: UserIdentityConfiguration; +} + +export namespace ExperienceConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExperienceConfiguration): any => ({ + ...obj, + }); +} + +export interface CreateExperienceRequest { + /** + *

                                                        A name for your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        The Amazon Resource Name (ARN) of a role with permission to access Query + * operations, QuerySuggestions operations, SubmitFeedback + * operations, and Amazon Web Services SSO that stores your user and group information. + * For more information, see IAM roles for Amazon Kendra.

                                                        + */ + RoleArn?: string; + + /** + *

                                                        Provides the configuration information for your Amazon Kendra experience. This includes + * ContentSourceConfiguration, which specifies the data source IDs + * and/or FAQ IDs, and UserIdentityConfiguration, which specifies the + * user or group information to grant access to your Amazon Kendra experience.

                                                        + */ + Configuration?: ExperienceConfiguration; + + /** + *

                                                        A description for your Amazon Kendra experience.

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

                                                        A token that you provide to identify the request to create your Amazon Kendra experience. + * Multiple calls to the CreateExperience operation with the same client + * token creates only one Amazon Kendra experience.

                                                        + */ + ClientToken?: string; +} + +export namespace CreateExperienceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateExperienceRequest): any => ({ + ...obj, + }); +} + +export interface CreateExperienceResponse { + /** + *

                                                        The identifier for your created Amazon Kendra experience.

                                                        + */ + Id: string | undefined; +} + +export namespace CreateExperienceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateExperienceResponse): any => ({ ...obj, }); } @@ -3394,26 +3995,26 @@ export enum UserGroupResolutionMode { /** *

                                                        Provides the configuration information to fetch access levels - * of groups and users from an AWS Single Sign-On identity + * of groups and users from an Amazon Web Services Single Sign On identity * source. This is useful for setting up user context filtering, where * Amazon Kendra filters search results for different users based on their * group's access to documents. You can also map your users to their * groups for user context filtering using the - * PutPrincipalMapping + * PutPrincipalMapping * operation.

                                                        - *

                                                        To set up an AWS SSO identity source in the console to use with + *

                                                        To set up an Amazon Web Services SSO identity source in the console to use with * Amazon Kendra, see Getting started - * with an AWS SSO identity source. You must also grant the required - * permissions to use AWS SSO with Amazon Kendra. For more information, see + * with an Amazon Web Services SSO identity source. You must also grant the required + * permissions to use Amazon Web Services SSO with Amazon Kendra. For more information, see * IAM roles for - * AWS Single Sign-On.

                                                        + * Amazon Web Services SSO.

                                                        */ export interface UserGroupResolutionConfiguration { /** *

                                                        The identity store provider (mode) you want to use to fetch access levels of groups and - * users. AWS Single Sign-On is currently the only available mode. Your users and groups + * users. Amazon Web Services Single Sign On is currently the only available mode. Your users and groups * must - * exist in an AWS SSO identity source in order to use this mode.

                                                        + * exist in an Amazon Web Services SSO identity source in order to use this mode.

                                                        */ UserGroupResolutionMode: UserGroupResolutionMode | string | undefined; } @@ -3613,7 +4214,7 @@ export interface CreateIndexRequest { UserContextPolicy?: UserContextPolicy | string; /** - *

                                                        Enables fetching access levels of groups and users from an AWS Single Sign-On + *

                                                        Enables fetching access levels of groups and users from an Amazon Web Services Single Sign On * identity source. To configure this, see * UserGroupResolutionConfiguration.

                                                        */ @@ -3747,7 +4348,7 @@ export interface CreateThesaurusRequest { Description?: string; /** - *

                                                        An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions + *

                                                        An IAM role that gives Amazon Kendra permissions * to access thesaurus file specified in SourceS3Path. *

                                                        */ @@ -3824,6 +4425,38 @@ export namespace DeleteDataSourceRequest { }); } +export interface DeleteExperienceRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience you want to delete.

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

                                                        The identifier of the index for your Amazon Kendra experience you want to delete.

                                                        + */ + IndexId: string | undefined; +} + +export namespace DeleteExperienceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteExperienceRequest): any => ({ + ...obj, + }); +} + +export interface DeleteExperienceResponse {} + +export namespace DeleteExperienceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteExperienceResponse): any => ({ + ...obj, + }); +} + export interface DeleteFaqRequest { /** *

                                                        The identifier of the FAQ to remove.

                                                        @@ -3925,149 +4558,295 @@ export interface DeleteQuerySuggestionsBlockListRequest { Id: string | undefined; } -export namespace DeleteQuerySuggestionsBlockListRequest { +export namespace DeleteQuerySuggestionsBlockListRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteQuerySuggestionsBlockListRequest): any => ({ + ...obj, + }); +} + +export interface DeleteThesaurusRequest { + /** + *

                                                        The identifier of the thesaurus to delete.

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

                                                        The identifier of the index associated with the thesaurus to delete.

                                                        + */ + IndexId: string | undefined; +} + +export namespace DeleteThesaurusRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteThesaurusRequest): any => ({ + ...obj, + }); +} + +export interface DescribeDataSourceRequest { + /** + *

                                                        The unique identifier of the data source to describe.

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

                                                        The identifier of the index that contains the data source.

                                                        + */ + IndexId: string | undefined; +} + +export namespace DescribeDataSourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDataSourceRequest): any => ({ + ...obj, + }); +} + +export enum DataSourceStatus { + ACTIVE = "ACTIVE", + CREATING = "CREATING", + DELETING = "DELETING", + FAILED = "FAILED", + UPDATING = "UPDATING", +} + +export interface DescribeDataSourceResponse { + /** + *

                                                        The identifier of the data source.

                                                        + */ + Id?: string; + + /** + *

                                                        The identifier of the index that contains the data source.

                                                        + */ + IndexId?: string; + + /** + *

                                                        The name that you gave the data source when it was created.

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

                                                        The type of the data source.

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

                                                        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.

                                                        + */ + Configuration?: DataSourceConfiguration; + + /** + *

                                                        The Unix timestamp of when the data source was created.

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

                                                        The Unix timestamp of when the data source was last updated.

                                                        + */ + UpdatedAt?: Date; + + /** + *

                                                        The description of the data source.

                                                        + */ + Description?: 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.

                                                        + */ + Status?: DataSourceStatus | string; + + /** + *

                                                        The schedule that Amazon Kendra will update the data source.

                                                        + */ + Schedule?: string; + + /** + *

                                                        The Amazon Resource Name (ARN) of the role that enables the data + * source to access its resources.

                                                        + */ + RoleArn?: string; + + /** + *

                                                        When the Status field value is FAILED, the + * ErrorMessage field contains a description of the error that + * caused the data source to fail.

                                                        + */ + ErrorMessage?: string; + + /** + *

                                                        The code for a language. This shows a supported language for all + * documents in the data source. English is supported by + * default. For more information on supported languages, including their codes, + * see Adding + * documents in languages other than English.

                                                        + */ + LanguageCode?: string; + + /** + *

                                                        Configuration information for altering document metadata and content during the + * document ingestion process when you describe a data source.

                                                        + *

                                                        For more information on how to create, modify and delete document metadata, or make + * other content alterations when you ingest documents into Amazon Kendra, see + * Customizing + * document metadata during the ingestion process.

                                                        + */ + CustomDocumentEnrichmentConfiguration?: CustomDocumentEnrichmentConfiguration; +} + +export namespace DescribeDataSourceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteQuerySuggestionsBlockListRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeDataSourceResponse): any => ({ ...obj, }); } -export interface DeleteThesaurusRequest { +export interface DescribeExperienceRequest { /** - *

                                                        The identifier of the thesaurus to delete.

                                                        + *

                                                        The identifier of your Amazon Kendra experience you want to get information on.

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

                                                        The identifier of the index associated with the thesaurus to delete.

                                                        + *

                                                        The identifier of the index for your Amazon Kendra experience you want to get + * information on.

                                                        */ IndexId: string | undefined; } -export namespace DeleteThesaurusRequest { +export namespace DescribeExperienceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteThesaurusRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeExperienceRequest): any => ({ ...obj, }); } -export interface DescribeDataSourceRequest { +export enum EndpointType { + HOME = "HOME", +} + +/** + *

                                                        Provides the configuration information of the endpoint for your Amazon Kendra + * experience.

                                                        + */ +export interface ExperienceEndpoint { /** - *

                                                        The unique identifier of the data source to describe.

                                                        + *

                                                        The type of endpoint for your Amazon Kendra experience. The type currently available + * is HOME, which is a unique and fully hosted URL to the home page + * of your Amazon Kendra experience.

                                                        */ - Id: string | undefined; + EndpointType?: EndpointType | string; /** - *

                                                        The identifier of the index that contains the data source.

                                                        + *

                                                        The endpoint of your Amazon Kendra experience.

                                                        */ - IndexId: string | undefined; + Endpoint?: string; } -export namespace DescribeDataSourceRequest { +export namespace ExperienceEndpoint { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDataSourceRequest): any => ({ + export const filterSensitiveLog = (obj: ExperienceEndpoint): any => ({ ...obj, }); } -export enum DataSourceStatus { +export enum ExperienceStatus { ACTIVE = "ACTIVE", CREATING = "CREATING", DELETING = "DELETING", FAILED = "FAILED", - UPDATING = "UPDATING", } -export interface DescribeDataSourceResponse { +export interface DescribeExperienceResponse { /** - *

                                                        The identifier of the data source.

                                                        + *

                                                        Shows the identifier of your Amazon Kendra experience.

                                                        */ Id?: string; /** - *

                                                        The identifier of the index that contains the data source.

                                                        + *

                                                        Shows the identifier of the index for your Amazon Kendra experience.

                                                        */ IndexId?: string; /** - *

                                                        The name that you gave the data source when it was created.

                                                        + *

                                                        Shows the name of your Amazon Kendra experience.

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

                                                        The type of the data source.

                                                        + *

                                                        Shows the endpoint URLs for your Amazon Kendra experiences. The URLs are unique and fully + * hosted by Amazon Web Services.

                                                        */ - Type?: DataSourceType | string; + Endpoints?: ExperienceEndpoint[]; /** - *

                                                        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.

                                                        + *

                                                        Shows the configuration information for your Amazon Kendra experience. This includes + * ContentSourceConfiguration, which specifies the data source IDs + * and/or FAQ IDs, and UserIdentityConfiguration, which specifies the + * user or group information to grant access to your Amazon Kendra experience.

                                                        */ - Configuration?: DataSourceConfiguration; + Configuration?: ExperienceConfiguration; /** - *

                                                        The Unix timestamp of when the data source was created.

                                                        + *

                                                        Shows the date-time your Amazon Kendra experience was created.

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

                                                        The Unix timestamp of when the data source was last updated.

                                                        + *

                                                        Shows the date-time your Amazon Kendra experience was last updated.

                                                        */ UpdatedAt?: Date; /** - *

                                                        The description of the data source.

                                                        + *

                                                        Shows the description for your Amazon Kendra experience.

                                                        */ Description?: 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.

                                                        - */ - Status?: DataSourceStatus | string; - - /** - *

                                                        The schedule that Amazon Kendra will update the data source.

                                                        + *

                                                        The current processing status of your Amazon Kendra experience. When the status + * is ACTIVE, your Amazon Kendra experience is ready to use. When the + * status is FAILED, the ErrorMessage field contains + * the reason that this failed.

                                                        */ - Schedule?: string; + Status?: ExperienceStatus | string; /** - *

                                                        The Amazon Resource Name (ARN) of the role that enables the data - * source to access its resources.

                                                        + *

                                                        Shows the Amazon Resource Name (ARN) of a role with permission to access + * Query operations, QuerySuggestions operations, + * SubmitFeedback operations, and Amazon Web Services SSO that stores + * your user and group information.

                                                        */ RoleArn?: string; /** - *

                                                        When the Status field value is FAILED, the - * ErrorMessage field contains a description of the error that - * caused the data source to fail.

                                                        + *

                                                        The reason your Amazon Kendra experience could not properly process.

                                                        */ ErrorMessage?: string; - - /** - *

                                                        The code for a language. This shows a supported language for all - * documents in the data source. English is supported by - * default. For more information on supported languages, including their codes, - * see Adding - * documents in languages other than English.

                                                        - */ - LanguageCode?: string; } -export namespace DescribeDataSourceResponse { +export namespace DescribeExperienceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDataSourceResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeExperienceResponse): any => ({ ...obj, }); } @@ -4577,7 +5356,7 @@ export interface DescribeIndexResponse { /** *

                                                        Shows whether you have enabled the configuration for fetching access - * levels of groups and users from an AWS Single Sign-On identity source.

                                                        + * levels of groups and users from an Amazon Web Services Single Sign On identity source.

                                                        */ UserGroupResolutionConfiguration?: UserGroupResolutionConfiguration; } @@ -5040,7 +5819,7 @@ export interface DescribeThesaurusResponse { UpdatedAt?: Date; /** - *

                                                        An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions + *

                                                        An IAM role that gives Amazon Kendra permissions * to access thesaurus file specified in SourceS3Path. *

                                                        */ @@ -5080,6 +5859,93 @@ export namespace DescribeThesaurusResponse { }); } +export interface DisassociateEntitiesFromExperienceRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        Lists users or groups in your Amazon Web Services SSO identity source.

                                                        + */ + EntityList: EntityConfiguration[] | undefined; +} + +export namespace DisassociateEntitiesFromExperienceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisassociateEntitiesFromExperienceRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateEntitiesFromExperienceResponse { + /** + *

                                                        Lists the users or groups in your Amazon Web Services SSO identity source that + * failed to properly remove access to your Amazon Kendra experience.

                                                        + */ + FailedEntityList?: FailedEntity[]; +} + +export namespace DisassociateEntitiesFromExperienceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisassociateEntitiesFromExperienceResponse): any => ({ + ...obj, + }); +} + +export interface DisassociatePersonasFromEntitiesRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        The identifiers of users or groups in your Amazon Web Services SSO identity + * source. For example, user IDs could be user emails.

                                                        + */ + EntityIds: string[] | undefined; +} + +export namespace DisassociatePersonasFromEntitiesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisassociatePersonasFromEntitiesRequest): any => ({ + ...obj, + }); +} + +export interface DisassociatePersonasFromEntitiesResponse { + /** + *

                                                        Lists the users or groups in your Amazon Web Services SSO identity source that + * failed to properly remove access to your Amazon Kendra experience.

                                                        + */ + FailedEntityList?: FailedEntity[]; +} + +export namespace DisassociatePersonasFromEntitiesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisassociatePersonasFromEntitiesResponse): any => ({ + ...obj, + }); +} + export interface GetQuerySuggestionsRequest { /** *

                                                        The identifier of the index you want to get query suggestions from.

                                                        @@ -5229,6 +6095,178 @@ export namespace GetQuerySuggestionsResponse { }); } +export enum Interval { + ONE_MONTH_AGO = "ONE_MONTH_AGO", + ONE_WEEK_AGO = "ONE_WEEK_AGO", + THIS_MONTH = "THIS_MONTH", + THIS_WEEK = "THIS_WEEK", + TWO_MONTHS_AGO = "TWO_MONTHS_AGO", + TWO_WEEKS_AGO = "TWO_WEEKS_AGO", +} + +export enum MetricType { + AGG_QUERY_DOC_METRICS = "AGG_QUERY_DOC_METRICS", + DOCS_BY_CLICK_COUNT = "DOCS_BY_CLICK_COUNT", + QUERIES_BY_COUNT = "QUERIES_BY_COUNT", + QUERIES_BY_ZERO_CLICK_RATE = "QUERIES_BY_ZERO_CLICK_RATE", + QUERIES_BY_ZERO_RESULT_RATE = "QUERIES_BY_ZERO_RESULT_RATE", + TREND_QUERY_DOC_METRICS = "TREND_QUERY_DOC_METRICS", +} + +export interface GetSnapshotsRequest { + /** + *

                                                        The identifier of the index to get search metrics data.

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

                                                        The time interval or time window to get search metrics data. + * The time interval uses the time zone of your index. + * You can view data in the following time windows:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * THIS_WEEK: The current week, starting on + * the Sunday and ending on the day before the current date.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * ONE_WEEK_AGO: The previous week, starting on + * the Sunday and ending on the following Saturday.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * TWO_WEEKS_AGO: The week before the previous week, + * starting on the Sunday and ending on the following Saturday.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * THIS_MONTH: The current month, starting on the + * first day of the month and ending on the day before the current date.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * ONE_MONTH_AGO: The previous month, starting on the + * first day of the month and ending on the last day of the month.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * TWO_MONTHS_AGO: The month before the previous month, + * starting on the first day of the month and ending on last day of the month.

                                                          + *
                                                        • + *
                                                        + */ + Interval: Interval | string | undefined; + + /** + *

                                                        The metric you want to retrieve. You + * can specify only one metric per call.

                                                        + *

                                                        For more information about the metrics you can view, see + * Gaining + * insights with search analytics.

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

                                                        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 search metrics data.

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

                                                        The maximum number of returned data for the metric.

                                                        + */ + MaxResults?: number; +} + +export namespace GetSnapshotsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetSnapshotsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Provides a range of time.

                                                        + */ +export interface TimeRange { + /** + *

                                                        The UNIX datetime of the beginning of the time range.

                                                        + */ + StartTime?: Date; + + /** + *

                                                        The UNIX datetime of the end of the time range.

                                                        + */ + EndTime?: Date; +} + +export namespace TimeRange { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TimeRange): any => ({ + ...obj, + }); +} + +export interface GetSnapshotsResponse { + /** + *

                                                        The date-time for the beginning and end of the time window + * for the search metrics data.

                                                        + */ + SnapShotTimeFilter?: TimeRange; + + /** + *

                                                        The column headers for the search metrics data.

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

                                                        The search metrics data. The data returned depends on the + * metric type you requested.

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

                                                        If the response is truncated, Amazon Kendra returns this + * token, which you can use in a later request to retrieve the + * next set of search metrics data.

                                                        + */ + NextToken?: string; +} + +export namespace GetSnapshotsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetSnapshotsResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                        The input to the request is not valid.

                                                        + */ +export interface InvalidRequestException extends __SmithyException, $MetadataBearer { + name: "InvalidRequestException"; + $fault: "client"; + Message?: string; +} + +export namespace InvalidRequestException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidRequestException): any => ({ + ...obj, + }); +} + export interface ListDataSourcesRequest { /** *

                                                        The identifier of the index that contains the data source.

                                                        @@ -5317,45 +6355,21 @@ export interface ListDataSourcesResponse { /** *

                                                        An array of summary information for one or more data sources.

                                                        */ - SummaryItems?: DataSourceSummary[]; - - /** - *

                                                        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.

                                                        - */ - NextToken?: string; -} - -export namespace ListDataSourcesResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDataSourcesResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                        Provides a range of time.

                                                        - */ -export interface TimeRange { - /** - *

                                                        The UNIX datetime of the beginning of the time range.

                                                        - */ - StartTime?: Date; + SummaryItems?: DataSourceSummary[]; /** - *

                                                        The UNIX datetime of the end of the time range.

                                                        + *

                                                        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.

                                                        */ - EndTime?: Date; + NextToken?: string; } -export namespace TimeRange { +export namespace ListDataSourcesResponse { /** * @internal */ - export const filterSensitiveLog = (obj: TimeRange): any => ({ + export const filterSensitiveLog = (obj: ListDataSourcesResponse): any => ({ ...obj, }); } @@ -5553,6 +6567,330 @@ export namespace ListDataSourceSyncJobsResponse { }); } +export interface ListEntityPersonasRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        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 users or groups.

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

                                                        The maximum number of returned users or groups.

                                                        + */ + MaxResults?: number; +} + +export namespace ListEntityPersonasRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListEntityPersonasRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Summary information for users or groups in your Amazon Web Services SSO identity + * source. This applies to users and groups with specific permissions that define + * their level of access to your Amazon Kendra experience. You can create an Amazon Kendra experience + * such as a search application. For more information on creating a search application + * experience, see Building a + * search experience with no code.

                                                        + */ +export interface PersonasSummary { + /** + *

                                                        The identifier of a user or group in your Amazon Web Services SSO identity source. + * For example, a user ID could be an email.

                                                        + */ + EntityId?: string; + + /** + *

                                                        The persona that defines the specific permissions of the user or group in + * your Amazon Web Services SSO identity source. The available personas or access + * roles are Owner and Viewer. For more information on + * these personas, see Providing + * access to your search page.

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

                                                        The date-time the summary information was created.

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

                                                        The date-time the summary information was last updated.

                                                        + */ + UpdatedAt?: Date; +} + +export namespace PersonasSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PersonasSummary): any => ({ + ...obj, + }); +} + +export interface ListEntityPersonasResponse { + /** + *

                                                        An array of summary information for one or more users or groups.

                                                        + */ + SummaryItems?: PersonasSummary[]; + + /** + *

                                                        If the response is truncated, Amazon Kendra returns this token, which you can use in + * a later request to retrieve the next set of users or groups.

                                                        + */ + NextToken?: string; +} + +export namespace ListEntityPersonasResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListEntityPersonasResponse): any => ({ + ...obj, + }); +} + +export interface ListExperienceEntitiesRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience.

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

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        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 users or groups.

                                                        + */ + NextToken?: string; +} + +export namespace ListExperienceEntitiesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListExperienceEntitiesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Information about the user entity.

                                                        + */ +export interface EntityDisplayData { + /** + *

                                                        The name of the user.

                                                        + */ + UserName?: string; + + /** + *

                                                        The name of the group.

                                                        + */ + GroupName?: string; + + /** + *

                                                        The user name of the user.

                                                        + */ + IdentifiedUserName?: string; + + /** + *

                                                        The first name of the user.

                                                        + */ + FirstName?: string; + + /** + *

                                                        The last name of the user.

                                                        + */ + LastName?: string; +} + +export namespace EntityDisplayData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EntityDisplayData): any => ({ + ...obj, + ...(obj.UserName && { UserName: SENSITIVE_STRING }), + ...(obj.GroupName && { GroupName: SENSITIVE_STRING }), + ...(obj.IdentifiedUserName && { IdentifiedUserName: SENSITIVE_STRING }), + ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), + ...(obj.LastName && { LastName: SENSITIVE_STRING }), + }); +} + +/** + *

                                                        Summary information for users or groups in your Amazon Web Services SSO identity + * source with granted access to your Amazon Kendra experience. You can create an Amazon Kendra + * experience such as a search application. For more information on creating a + * search application experience, see Building + * a search experience with no code.

                                                        + */ +export interface ExperienceEntitiesSummary { + /** + *

                                                        The identifier of a user or group in your Amazon Web Services SSO identity source. + * For example, a user ID could be an email.

                                                        + */ + EntityId?: string; + + /** + *

                                                        Shows the type as User or Group.

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

                                                        Information about the user entity.

                                                        + */ + DisplayData?: EntityDisplayData; +} + +export namespace ExperienceEntitiesSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExperienceEntitiesSummary): any => ({ + ...obj, + ...(obj.DisplayData && { DisplayData: EntityDisplayData.filterSensitiveLog(obj.DisplayData) }), + }); +} + +export interface ListExperienceEntitiesResponse { + /** + *

                                                        An array of summary information for one or more users or groups.

                                                        + */ + SummaryItems?: ExperienceEntitiesSummary[]; + + /** + *

                                                        If the response is truncated, Amazon Kendra returns this token, which you can use in + * a later request to retrieve the next set of users or groups.

                                                        + */ + NextToken?: string; +} + +export namespace ListExperienceEntitiesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListExperienceEntitiesResponse): any => ({ + ...obj, + ...(obj.SummaryItems && { + SummaryItems: obj.SummaryItems.map((item) => ExperienceEntitiesSummary.filterSensitiveLog(item)), + }), + }); +} + +export interface ListExperiencesRequest { + /** + *

                                                        The identifier of the index for your Amazon Kendra experience.

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

                                                        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 Amazon Kendra experiences.

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

                                                        The maximum number of returned Amazon Kendra experiences.

                                                        + */ + MaxResults?: number; +} + +export namespace ListExperiencesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListExperiencesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Summary information for your Amazon Kendra experience. You can create an Amazon Kendra + * experience such as a search application. For more information on creating + * a search application experience, see Building + * a search experience with no code.

                                                        + */ +export interface ExperiencesSummary { + /** + *

                                                        The name of your Amazon Kendra experience.

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

                                                        The identifier of your Amazon Kendra experience.

                                                        + */ + Id?: string; + + /** + *

                                                        The date-time your Amazon Kendra experience was created.

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

                                                        The processing status of your Amazon Kendra experience.

                                                        + */ + Status?: ExperienceStatus | string; + + /** + *

                                                        The endpoint URLs for your Amazon Kendra experiences. The URLs are unique + * and fully hosted by Amazon Web Services.

                                                        + */ + Endpoints?: ExperienceEndpoint[]; +} + +export namespace ExperiencesSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExperiencesSummary): any => ({ + ...obj, + }); +} + +export interface ListExperiencesResponse { + /** + *

                                                        An array of summary information for one or more Amazon Kendra experiences.

                                                        + */ + SummaryItems?: ExperiencesSummary[]; + + /** + *

                                                        If the response is truncated, Amazon Kendra returns this token, which you can use + * in a later request to retrieve the next set of Amazon Kendra experiences.

                                                        + */ + NextToken?: string; +} + +export namespace ListExperiencesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListExperiencesResponse): any => ({ + ...obj, + }); +} + export interface ListFaqsRequest { /** *

                                                        The index that contains the FAQ lists.

                                                        @@ -6953,7 +8291,7 @@ export interface UpdateDataSourceRequest { IndexId: string | undefined; /** - *

                                                        Configuration information for a Amazon Kendra data source.

                                                        + *

                                                        Configuration information for an Amazon Kendra data source.

                                                        */ Configuration?: DataSourceConfiguration; @@ -6981,6 +8319,16 @@ export interface UpdateDataSourceRequest { * documents in languages other than English.

                                                        */ LanguageCode?: string; + + /** + *

                                                        Configuration information for altering document metadata and content during the + * document ingestion process when you update a data source.

                                                        + *

                                                        For more information on how to create, modify and delete document metadata, or make + * other content alterations when you ingest documents into Amazon Kendra, see + * Customizing + * document metadata during the ingestion process.

                                                        + */ + CustomDocumentEnrichmentConfiguration?: CustomDocumentEnrichmentConfiguration; } export namespace UpdateDataSourceRequest { @@ -6992,6 +8340,51 @@ export namespace UpdateDataSourceRequest { }); } +export interface UpdateExperienceRequest { + /** + *

                                                        The identifier of your Amazon Kendra experience you want to update.

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

                                                        The name of your Amazon Kendra experience you want to update.

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

                                                        The identifier of the index for your Amazon Kendra experience you want to update.

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

                                                        The Amazon Resource Name (ARN) of a role with permission to access Query + * operations, QuerySuggestions operations, SubmitFeedback + * operations, and Amazon Web Services SSO that stores your user and group information. + * For more information, see IAM roles for Amazon Kendra.

                                                        + */ + RoleArn?: string; + + /** + *

                                                        Provides the user configuration information. This includes the Amazon Web Services SSO + * field name that contains the identifiers of your users, such as their emails.

                                                        + */ + Configuration?: ExperienceConfiguration; + + /** + *

                                                        The description of your Amazon Kendra experience you want to update.

                                                        + */ + Description?: string; +} + +export namespace UpdateExperienceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateExperienceRequest): any => ({ + ...obj, + }); +} + export interface UpdateIndexRequest { /** *

                                                        The identifier of the index to update.

                                                        @@ -7040,7 +8433,7 @@ export interface UpdateIndexRequest { UserContextPolicy?: UserContextPolicy | string; /** - *

                                                        Enables fetching access levels of groups and users from an AWS Single Sign-On + *

                                                        Enables fetching access levels of groups and users from an Amazon Web Services Single Sign On * identity source. To configure this, see * UserGroupResolutionConfiguration.

                                                        */ @@ -7234,7 +8627,7 @@ export namespace UpdateThesaurusRequest { * *
                                                      • *

                                                        - * + * *

                                                        *
                                                      • * diff --git a/clients/client-kendra/src/pagination/ListEntityPersonasPaginator.ts b/clients/client-kendra/src/pagination/ListEntityPersonasPaginator.ts new file mode 100644 index 000000000000..55b5846234a5 --- /dev/null +++ b/clients/client-kendra/src/pagination/ListEntityPersonasPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListEntityPersonasCommand, + ListEntityPersonasCommandInput, + ListEntityPersonasCommandOutput, +} from "../commands/ListEntityPersonasCommand"; +import { Kendra } from "../Kendra"; +import { KendraClient } from "../KendraClient"; +import { KendraPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: KendraClient, + input: ListEntityPersonasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListEntityPersonasCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Kendra, + input: ListEntityPersonasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listEntityPersonas(input, ...args); +}; +export async function* paginateListEntityPersonas( + config: KendraPaginationConfiguration, + input: ListEntityPersonasCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListEntityPersonasCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kendra) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KendraClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kendra | KendraClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kendra/src/pagination/ListExperienceEntitiesPaginator.ts b/clients/client-kendra/src/pagination/ListExperienceEntitiesPaginator.ts new file mode 100644 index 000000000000..6991b6501743 --- /dev/null +++ b/clients/client-kendra/src/pagination/ListExperienceEntitiesPaginator.ts @@ -0,0 +1,58 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListExperienceEntitiesCommand, + ListExperienceEntitiesCommandInput, + ListExperienceEntitiesCommandOutput, +} from "../commands/ListExperienceEntitiesCommand"; +import { Kendra } from "../Kendra"; +import { KendraClient } from "../KendraClient"; +import { KendraPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: KendraClient, + input: ListExperienceEntitiesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListExperienceEntitiesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Kendra, + input: ListExperienceEntitiesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listExperienceEntities(input, ...args); +}; +export async function* paginateListExperienceEntities( + config: KendraPaginationConfiguration, + input: ListExperienceEntitiesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListExperienceEntitiesCommandOutput; + while (hasNext) { + input.NextToken = token; + if (config.client instanceof Kendra) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KendraClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kendra | KendraClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kendra/src/pagination/ListExperiencesPaginator.ts b/clients/client-kendra/src/pagination/ListExperiencesPaginator.ts new file mode 100644 index 000000000000..6f38c86131ed --- /dev/null +++ b/clients/client-kendra/src/pagination/ListExperiencesPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListExperiencesCommand, + ListExperiencesCommandInput, + ListExperiencesCommandOutput, +} from "../commands/ListExperiencesCommand"; +import { Kendra } from "../Kendra"; +import { KendraClient } from "../KendraClient"; +import { KendraPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: KendraClient, + input: ListExperiencesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListExperiencesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Kendra, + input: ListExperiencesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listExperiences(input, ...args); +}; +export async function* paginateListExperiences( + config: KendraPaginationConfiguration, + input: ListExperiencesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListExperiencesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kendra) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KendraClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kendra | KendraClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kendra/src/pagination/index.ts b/clients/client-kendra/src/pagination/index.ts index c4813211a804..2e74f043d4b7 100644 --- a/clients/client-kendra/src/pagination/index.ts +++ b/clients/client-kendra/src/pagination/index.ts @@ -1,4 +1,7 @@ export * from "./Interfaces"; export * from "./ListDataSourceSyncJobsPaginator"; export * from "./ListDataSourcesPaginator"; +export * from "./ListEntityPersonasPaginator"; +export * from "./ListExperienceEntitiesPaginator"; +export * from "./ListExperiencesPaginator"; export * from "./ListIndicesPaginator"; diff --git a/clients/client-kendra/src/protocols/Aws_json1_1.ts b/clients/client-kendra/src/protocols/Aws_json1_1.ts index 0425c18554e5..cdcc80e9430c 100644 --- a/clients/client-kendra/src/protocols/Aws_json1_1.ts +++ b/clients/client-kendra/src/protocols/Aws_json1_1.ts @@ -20,6 +20,14 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +import { + AssociateEntitiesToExperienceCommandInput, + AssociateEntitiesToExperienceCommandOutput, +} from "../commands/AssociateEntitiesToExperienceCommand"; +import { + AssociatePersonasToEntitiesCommandInput, + AssociatePersonasToEntitiesCommandOutput, +} from "../commands/AssociatePersonasToEntitiesCommand"; import { BatchDeleteDocumentCommandInput, BatchDeleteDocumentCommandOutput, @@ -34,6 +42,7 @@ import { ClearQuerySuggestionsCommandOutput, } from "../commands/ClearQuerySuggestionsCommand"; import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "../commands/CreateDataSourceCommand"; +import { CreateExperienceCommandInput, CreateExperienceCommandOutput } from "../commands/CreateExperienceCommand"; import { CreateFaqCommandInput, CreateFaqCommandOutput } from "../commands/CreateFaqCommand"; import { CreateIndexCommandInput, CreateIndexCommandOutput } from "../commands/CreateIndexCommand"; import { @@ -42,6 +51,7 @@ import { } from "../commands/CreateQuerySuggestionsBlockListCommand"; import { CreateThesaurusCommandInput, CreateThesaurusCommandOutput } from "../commands/CreateThesaurusCommand"; import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "../commands/DeleteDataSourceCommand"; +import { DeleteExperienceCommandInput, DeleteExperienceCommandOutput } from "../commands/DeleteExperienceCommand"; import { DeleteFaqCommandInput, DeleteFaqCommandOutput } from "../commands/DeleteFaqCommand"; import { DeleteIndexCommandInput, DeleteIndexCommandOutput } from "../commands/DeleteIndexCommand"; import { @@ -54,6 +64,7 @@ import { } from "../commands/DeleteQuerySuggestionsBlockListCommand"; import { DeleteThesaurusCommandInput, DeleteThesaurusCommandOutput } from "../commands/DeleteThesaurusCommand"; import { DescribeDataSourceCommandInput, DescribeDataSourceCommandOutput } from "../commands/DescribeDataSourceCommand"; +import { DescribeExperienceCommandInput, DescribeExperienceCommandOutput } from "../commands/DescribeExperienceCommand"; import { DescribeFaqCommandInput, DescribeFaqCommandOutput } from "../commands/DescribeFaqCommand"; import { DescribeIndexCommandInput, DescribeIndexCommandOutput } from "../commands/DescribeIndexCommand"; import { @@ -69,15 +80,30 @@ import { DescribeQuerySuggestionsConfigCommandOutput, } from "../commands/DescribeQuerySuggestionsConfigCommand"; import { DescribeThesaurusCommandInput, DescribeThesaurusCommandOutput } from "../commands/DescribeThesaurusCommand"; +import { + DisassociateEntitiesFromExperienceCommandInput, + DisassociateEntitiesFromExperienceCommandOutput, +} from "../commands/DisassociateEntitiesFromExperienceCommand"; +import { + DisassociatePersonasFromEntitiesCommandInput, + DisassociatePersonasFromEntitiesCommandOutput, +} from "../commands/DisassociatePersonasFromEntitiesCommand"; import { GetQuerySuggestionsCommandInput, GetQuerySuggestionsCommandOutput, } from "../commands/GetQuerySuggestionsCommand"; +import { GetSnapshotsCommandInput, GetSnapshotsCommandOutput } from "../commands/GetSnapshotsCommand"; import { ListDataSourcesCommandInput, ListDataSourcesCommandOutput } from "../commands/ListDataSourcesCommand"; import { ListDataSourceSyncJobsCommandInput, ListDataSourceSyncJobsCommandOutput, } from "../commands/ListDataSourceSyncJobsCommand"; +import { ListEntityPersonasCommandInput, ListEntityPersonasCommandOutput } from "../commands/ListEntityPersonasCommand"; +import { + ListExperienceEntitiesCommandInput, + ListExperienceEntitiesCommandOutput, +} from "../commands/ListExperienceEntitiesCommand"; +import { ListExperiencesCommandInput, ListExperiencesCommandOutput } from "../commands/ListExperiencesCommand"; import { ListFaqsCommandInput, ListFaqsCommandOutput } from "../commands/ListFaqsCommand"; import { ListGroupsOlderThanOrderingIdCommandInput, @@ -110,6 +136,7 @@ import { SubmitFeedbackCommandInput, SubmitFeedbackCommandOutput } from "../comm import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput } from "../commands/UpdateDataSourceCommand"; +import { UpdateExperienceCommandInput, UpdateExperienceCommandOutput } from "../commands/UpdateExperienceCommand"; import { UpdateIndexCommandInput, UpdateIndexCommandOutput } from "../commands/UpdateIndexCommand"; import { UpdateQuerySuggestionsBlockListCommandInput, @@ -126,6 +153,10 @@ import { AclConfiguration, AdditionalResultAttribute, AdditionalResultAttributeValue, + AssociateEntitiesToExperienceRequest, + AssociateEntitiesToExperienceResponse, + AssociatePersonasToEntitiesRequest, + AssociatePersonasToEntitiesResponse, AttributeFilter, AuthenticationConfiguration, BasicAuthenticationConfiguration, @@ -153,8 +184,11 @@ import { ConfluenceSpaceConfiguration, ConfluenceSpaceToIndexFieldMapping, ConnectionConfiguration, + ContentSourceConfiguration, CreateDataSourceRequest, CreateDataSourceResponse, + CreateExperienceRequest, + CreateExperienceResponse, CreateFaqRequest, CreateFaqResponse, CreateIndexRequest, @@ -163,6 +197,7 @@ import { CreateQuerySuggestionsBlockListResponse, CreateThesaurusRequest, CreateThesaurusResponse, + CustomDocumentEnrichmentConfiguration, DatabaseConfiguration, DataSourceConfiguration, DataSourceGroup, @@ -173,6 +208,8 @@ import { DataSourceToIndexFieldMapping, DataSourceVpcConfiguration, DeleteDataSourceRequest, + DeleteExperienceRequest, + DeleteExperienceResponse, DeleteFaqRequest, DeleteIndexRequest, DeletePrincipalMappingRequest, @@ -180,6 +217,8 @@ import { DeleteThesaurusRequest, DescribeDataSourceRequest, DescribeDataSourceResponse, + DescribeExperienceRequest, + DescribeExperienceResponse, DescribeFaqRequest, DescribeFaqResponse, DescribeIndexRequest, @@ -192,35 +231,60 @@ import { DescribeQuerySuggestionsConfigResponse, DescribeThesaurusRequest, DescribeThesaurusResponse, + DisassociateEntitiesFromExperienceRequest, + DisassociateEntitiesFromExperienceResponse, + DisassociatePersonasFromEntitiesRequest, + DisassociatePersonasFromEntitiesResponse, Document, DocumentAttribute, + DocumentAttributeCondition, + DocumentAttributeTarget, DocumentAttributeValue, DocumentAttributeValueCountPair, DocumentInfo, DocumentMetadataConfiguration, DocumentRelevanceConfiguration, DocumentsMetadataConfiguration, + EntityConfiguration, + EntityDisplayData, + EntityPersonaConfiguration, + ExperienceConfiguration, + ExperienceEndpoint, + ExperienceEntitiesSummary, + ExperiencesSummary, Facet, FacetResult, + FailedEntity, FaqStatistics, FaqSummary, GetQuerySuggestionsRequest, GetQuerySuggestionsResponse, + GetSnapshotsRequest, + GetSnapshotsResponse, GoogleDriveConfiguration, GroupMembers, GroupOrderingIdSummary, GroupSummary, HierarchicalPrincipal, Highlight, + HookConfiguration, IndexConfigurationSummary, IndexStatistics, + InlineCustomDocumentEnrichmentConfiguration, InternalServerException, + InvalidRequestException, JsonTokenTypeConfiguration, JwtTokenTypeConfiguration, ListDataSourcesRequest, ListDataSourcesResponse, ListDataSourceSyncJobsRequest, ListDataSourceSyncJobsResponse, + ListEntityPersonasRequest, + ListEntityPersonasResponse, + ListExperienceEntitiesRequest, + ListExperienceEntitiesResponse, + ListExperiencesRequest, + ListExperiencesResponse, ListFaqsRequest, ListFaqsResponse, ListGroupsOlderThanOrderingIdRequest, @@ -237,6 +301,7 @@ import { MemberUser, OneDriveConfiguration, OneDriveUsers, + PersonasSummary, Principal, ProxyConfiguration, PutPrincipalMappingRequest, @@ -293,6 +358,7 @@ import { UntagResourceRequest, UntagResourceResponse, UpdateDataSourceRequest, + UpdateExperienceRequest, UpdateIndexRequest, UpdateQuerySuggestionsBlockListRequest, UpdateQuerySuggestionsConfigRequest, @@ -300,12 +366,39 @@ import { Urls, UserContext, UserGroupResolutionConfiguration, + UserIdentityConfiguration, UserTokenConfiguration, ValidationException, WebCrawlerConfiguration, WorkDocsConfiguration, } from "../models/models_0"; +export const serializeAws_json1_1AssociateEntitiesToExperienceCommand = async ( + input: AssociateEntitiesToExperienceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.AssociateEntitiesToExperience", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1AssociateEntitiesToExperienceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1AssociatePersonasToEntitiesCommand = async ( + input: AssociatePersonasToEntitiesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.AssociatePersonasToEntities", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1AssociatePersonasToEntitiesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1BatchDeleteDocumentCommand = async ( input: BatchDeleteDocumentCommandInput, context: __SerdeContext @@ -371,6 +464,19 @@ export const serializeAws_json1_1CreateDataSourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateExperienceCommand = async ( + input: CreateExperienceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.CreateExperience", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateExperienceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateFaqCommand = async ( input: CreateFaqCommandInput, context: __SerdeContext @@ -436,6 +542,19 @@ export const serializeAws_json1_1DeleteDataSourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteExperienceCommand = async ( + input: DeleteExperienceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.DeleteExperience", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteExperienceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteFaqCommand = async ( input: DeleteFaqCommandInput, context: __SerdeContext @@ -514,6 +633,19 @@ export const serializeAws_json1_1DescribeDataSourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeExperienceCommand = async ( + input: DescribeExperienceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.DescribeExperience", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeExperienceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeFaqCommand = async ( input: DescribeFaqCommandInput, context: __SerdeContext @@ -592,6 +724,32 @@ export const serializeAws_json1_1DescribeThesaurusCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DisassociateEntitiesFromExperienceCommand = async ( + input: DisassociateEntitiesFromExperienceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.DisassociateEntitiesFromExperience", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DisassociateEntitiesFromExperienceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DisassociatePersonasFromEntitiesCommand = async ( + input: DisassociatePersonasFromEntitiesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.DisassociatePersonasFromEntities", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DisassociatePersonasFromEntitiesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetQuerySuggestionsCommand = async ( input: GetQuerySuggestionsCommandInput, context: __SerdeContext @@ -605,6 +763,19 @@ export const serializeAws_json1_1GetQuerySuggestionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetSnapshotsCommand = async ( + input: GetSnapshotsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.GetSnapshots", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetSnapshotsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListDataSourcesCommand = async ( input: ListDataSourcesCommandInput, context: __SerdeContext @@ -631,6 +802,45 @@ export const serializeAws_json1_1ListDataSourceSyncJobsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListEntityPersonasCommand = async ( + input: ListEntityPersonasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.ListEntityPersonas", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListEntityPersonasRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListExperienceEntitiesCommand = async ( + input: ListExperienceEntitiesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.ListExperienceEntities", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListExperienceEntitiesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListExperiencesCommand = async ( + input: ListExperiencesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.ListExperiences", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListExperiencesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListFaqsCommand = async ( input: ListFaqsCommandInput, context: __SerdeContext @@ -813,6 +1023,19 @@ export const serializeAws_json1_1UpdateDataSourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateExperienceCommand = async ( + input: UpdateExperienceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSKendraFrontendService.UpdateExperience", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateExperienceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateIndexCommand = async ( input: UpdateIndexCommandInput, context: __SerdeContext @@ -865,27 +1088,27 @@ export const serializeAws_json1_1UpdateThesaurusCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; -export const deserializeAws_json1_1BatchDeleteDocumentCommand = async ( +export const deserializeAws_json1_1AssociateEntitiesToExperienceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1BatchDeleteDocumentCommandError(output, context); + return deserializeAws_json1_1AssociateEntitiesToExperienceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1BatchDeleteDocumentResponse(data, context); - const response: BatchDeleteDocumentCommandOutput = { + contents = deserializeAws_json1_1AssociateEntitiesToExperienceResponse(data, context); + const response: AssociateEntitiesToExperienceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1BatchDeleteDocumentCommandError = async ( +const deserializeAws_json1_1AssociateEntitiesToExperienceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -902,18 +1125,18 @@ const deserializeAws_json1_1BatchDeleteDocumentCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.kendra#ConflictException": + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": response = { - ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InternalServerException": - case "com.amazonaws.kendra#InternalServerException": + case "ResourceAlreadyExistException": + case "com.amazonaws.kendra#ResourceAlreadyExistException": response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceAlreadyExistExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -959,27 +1182,27 @@ const deserializeAws_json1_1BatchDeleteDocumentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1BatchGetDocumentStatusCommand = async ( +export const deserializeAws_json1_1AssociatePersonasToEntitiesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1BatchGetDocumentStatusCommandError(output, context); + return deserializeAws_json1_1AssociatePersonasToEntitiesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1BatchGetDocumentStatusResponse(data, context); - const response: BatchGetDocumentStatusCommandOutput = { + contents = deserializeAws_json1_1AssociatePersonasToEntitiesResponse(data, context); + const response: AssociatePersonasToEntitiesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1BatchGetDocumentStatusCommandError = async ( +const deserializeAws_json1_1AssociatePersonasToEntitiesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -996,18 +1219,18 @@ const deserializeAws_json1_1BatchGetDocumentStatusCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.kendra#ConflictException": + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": response = { - ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InternalServerException": - case "com.amazonaws.kendra#InternalServerException": + case "ResourceAlreadyExistException": + case "com.amazonaws.kendra#ResourceAlreadyExistException": response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceAlreadyExistExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1053,27 +1276,27 @@ const deserializeAws_json1_1BatchGetDocumentStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1BatchPutDocumentCommand = async ( +export const deserializeAws_json1_1BatchDeleteDocumentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1BatchPutDocumentCommandError(output, context); + return deserializeAws_json1_1BatchDeleteDocumentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1BatchPutDocumentResponse(data, context); - const response: BatchPutDocumentCommandOutput = { + contents = deserializeAws_json1_1BatchDeleteDocumentResponse(data, context); + const response: BatchDeleteDocumentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1BatchPutDocumentCommandError = async ( +const deserializeAws_json1_1BatchDeleteDocumentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1114,14 +1337,6 @@ const deserializeAws_json1_1BatchPutDocumentCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.kendra#ServiceQuotaExceededException": - response = { - ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.kendra#ThrottlingException": response = { @@ -1155,24 +1370,27 @@ const deserializeAws_json1_1BatchPutDocumentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ClearQuerySuggestionsCommand = async ( +export const deserializeAws_json1_1BatchGetDocumentStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ClearQuerySuggestionsCommandError(output, context); + return deserializeAws_json1_1BatchGetDocumentStatusCommandError(output, context); } - await collectBody(output.body, context); - const response: ClearQuerySuggestionsCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1BatchGetDocumentStatusResponse(data, context); + const response: BatchGetDocumentStatusCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ClearQuerySuggestionsCommandError = async ( +const deserializeAws_json1_1BatchGetDocumentStatusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1246,27 +1464,27 @@ const deserializeAws_json1_1ClearQuerySuggestionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateDataSourceCommand = async ( +export const deserializeAws_json1_1BatchPutDocumentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateDataSourceCommandError(output, context); + return deserializeAws_json1_1BatchPutDocumentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateDataSourceResponse(data, context); - const response: CreateDataSourceCommandOutput = { + contents = deserializeAws_json1_1BatchPutDocumentResponse(data, context); + const response: BatchPutDocumentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateDataSourceCommandError = async ( +const deserializeAws_json1_1BatchPutDocumentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1299,14 +1517,6 @@ const deserializeAws_json1_1CreateDataSourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceAlreadyExistException": - case "com.amazonaws.kendra#ResourceAlreadyExistException": - response = { - ...(await deserializeAws_json1_1ResourceAlreadyExistExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.kendra#ResourceNotFoundException": response = { @@ -1356,27 +1566,24 @@ const deserializeAws_json1_1CreateDataSourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateFaqCommand = async ( +export const deserializeAws_json1_1ClearQuerySuggestionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateFaqCommandError(output, context); + return deserializeAws_json1_1ClearQuerySuggestionsCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1CreateFaqResponse(data, context); - const response: CreateFaqCommandOutput = { + await collectBody(output.body, context); + const response: ClearQuerySuggestionsCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateFaqCommandError = async ( +const deserializeAws_json1_1ClearQuerySuggestionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1417,14 +1624,6 @@ const deserializeAws_json1_1CreateFaqCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.kendra#ServiceQuotaExceededException": - response = { - ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.kendra#ThrottlingException": response = { @@ -1458,27 +1657,27 @@ const deserializeAws_json1_1CreateFaqCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateIndexCommand = async ( +export const deserializeAws_json1_1CreateDataSourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateIndexCommandError(output, context); + return deserializeAws_json1_1CreateDataSourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateIndexResponse(data, context); - const response: CreateIndexCommandOutput = { + contents = deserializeAws_json1_1CreateDataSourceResponse(data, context); + const response: CreateDataSourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateIndexCommandError = async ( +const deserializeAws_json1_1CreateDataSourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1519,10 +1718,18 @@ const deserializeAws_json1_1CreateIndexCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.kendra#ServiceQuotaExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": response = { - ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.kendra#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1560,27 +1767,27 @@ const deserializeAws_json1_1CreateIndexCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateQuerySuggestionsBlockListCommand = async ( +export const deserializeAws_json1_1CreateExperienceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateQuerySuggestionsBlockListCommandError(output, context); + return deserializeAws_json1_1CreateExperienceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateQuerySuggestionsBlockListResponse(data, context); - const response: CreateQuerySuggestionsBlockListCommandOutput = { + contents = deserializeAws_json1_1CreateExperienceResponse(data, context); + const response: CreateExperienceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateQuerySuggestionsBlockListCommandError = async ( +const deserializeAws_json1_1CreateExperienceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1662,27 +1869,27 @@ const deserializeAws_json1_1CreateQuerySuggestionsBlockListCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateThesaurusCommand = async ( +export const deserializeAws_json1_1CreateFaqCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateThesaurusCommandError(output, context); + return deserializeAws_json1_1CreateFaqCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateThesaurusResponse(data, context); - const response: CreateThesaurusCommandOutput = { + contents = deserializeAws_json1_1CreateFaqResponse(data, context); + const response: CreateFaqCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateThesaurusCommandError = async ( +const deserializeAws_json1_1CreateFaqCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1764,24 +1971,27 @@ const deserializeAws_json1_1CreateThesaurusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteDataSourceCommand = async ( +export const deserializeAws_json1_1CreateIndexCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteDataSourceCommandError(output, context); + return deserializeAws_json1_1CreateIndexCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteDataSourceCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateIndexResponse(data, context); + const response: CreateIndexCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteDataSourceCommandError = async ( +const deserializeAws_json1_1CreateIndexCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1814,10 +2024,18 @@ const deserializeAws_json1_1DeleteDataSourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.kendra#ResourceNotFoundException": + case "ResourceAlreadyExistException": + case "com.amazonaws.kendra#ResourceAlreadyExistException": response = { - ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceAlreadyExistExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.kendra#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1855,24 +2073,27 @@ const deserializeAws_json1_1DeleteDataSourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteFaqCommand = async ( +export const deserializeAws_json1_1CreateQuerySuggestionsBlockListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteFaqCommandError(output, context); + return deserializeAws_json1_1CreateQuerySuggestionsBlockListCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteFaqCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateQuerySuggestionsBlockListResponse(data, context); + const response: CreateQuerySuggestionsBlockListCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteFaqCommandError = async ( +const deserializeAws_json1_1CreateQuerySuggestionsBlockListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1913,6 +2134,14 @@ const deserializeAws_json1_1DeleteFaqCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ServiceQuotaExceededException": + case "com.amazonaws.kendra#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.kendra#ThrottlingException": response = { @@ -1946,24 +2175,27 @@ const deserializeAws_json1_1DeleteFaqCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteIndexCommand = async ( +export const deserializeAws_json1_1CreateThesaurusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteIndexCommandError(output, context); + return deserializeAws_json1_1CreateThesaurusCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteIndexCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateThesaurusResponse(data, context); + const response: CreateThesaurusCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteIndexCommandError = async ( +const deserializeAws_json1_1CreateThesaurusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2004,6 +2236,14 @@ const deserializeAws_json1_1DeleteIndexCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ServiceQuotaExceededException": + case "com.amazonaws.kendra#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.kendra#ThrottlingException": response = { @@ -2037,24 +2277,24 @@ const deserializeAws_json1_1DeleteIndexCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeletePrincipalMappingCommand = async ( +export const deserializeAws_json1_1DeleteDataSourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeletePrincipalMappingCommandError(output, context); + return deserializeAws_json1_1DeleteDataSourceCommandError(output, context); } await collectBody(output.body, context); - const response: DeletePrincipalMappingCommandOutput = { + const response: DeleteDataSourceCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeletePrincipalMappingCommandError = async ( +const deserializeAws_json1_1DeleteDataSourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2128,24 +2368,27 @@ const deserializeAws_json1_1DeletePrincipalMappingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommand = async ( +export const deserializeAws_json1_1DeleteExperienceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommandError(output, context); + return deserializeAws_json1_1DeleteExperienceCommandError(output, context); } - await collectBody(output.body, context); - const response: DeleteQuerySuggestionsBlockListCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteExperienceResponse(data, context); + const response: DeleteExperienceCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommandError = async ( +const deserializeAws_json1_1DeleteExperienceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2219,24 +2462,24 @@ const deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteThesaurusCommand = async ( +export const deserializeAws_json1_1DeleteFaqCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteThesaurusCommandError(output, context); + return deserializeAws_json1_1DeleteFaqCommandError(output, context); } await collectBody(output.body, context); - const response: DeleteThesaurusCommandOutput = { + const response: DeleteFaqCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteThesaurusCommandError = async ( +const deserializeAws_json1_1DeleteFaqCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2310,27 +2553,24 @@ const deserializeAws_json1_1DeleteThesaurusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeDataSourceCommand = async ( +export const deserializeAws_json1_1DeleteIndexCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeDataSourceCommandError(output, context); + return deserializeAws_json1_1DeleteIndexCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeDataSourceResponse(data, context); - const response: DescribeDataSourceCommandOutput = { + await collectBody(output.body, context); + const response: DeleteIndexCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeDataSourceCommandError = async ( +const deserializeAws_json1_1DeleteIndexCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2347,6 +2587,14 @@ const deserializeAws_json1_1DescribeDataSourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -2396,27 +2644,24 @@ const deserializeAws_json1_1DescribeDataSourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeFaqCommand = async ( +export const deserializeAws_json1_1DeletePrincipalMappingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeFaqCommandError(output, context); + return deserializeAws_json1_1DeletePrincipalMappingCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeFaqResponse(data, context); - const response: DescribeFaqCommandOutput = { + await collectBody(output.body, context); + const response: DeletePrincipalMappingCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeFaqCommandError = async ( +const deserializeAws_json1_1DeletePrincipalMappingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2433,6 +2678,14 @@ const deserializeAws_json1_1DescribeFaqCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -2482,27 +2735,24 @@ const deserializeAws_json1_1DescribeFaqCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeIndexCommand = async ( +export const deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeIndexCommandError(output, context); + return deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeIndexResponse(data, context); - const response: DescribeIndexCommandOutput = { + await collectBody(output.body, context); + const response: DeleteQuerySuggestionsBlockListCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeIndexCommandError = async ( +const deserializeAws_json1_1DeleteQuerySuggestionsBlockListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2519,6 +2769,14 @@ const deserializeAws_json1_1DescribeIndexCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -2568,27 +2826,24 @@ const deserializeAws_json1_1DescribeIndexCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribePrincipalMappingCommand = async ( +export const deserializeAws_json1_1DeleteThesaurusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribePrincipalMappingCommandError(output, context); + return deserializeAws_json1_1DeleteThesaurusCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribePrincipalMappingResponse(data, context); - const response: DescribePrincipalMappingCommandOutput = { + await collectBody(output.body, context); + const response: DeleteThesaurusCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribePrincipalMappingCommandError = async ( +const deserializeAws_json1_1DeleteThesaurusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2605,6 +2860,14 @@ const deserializeAws_json1_1DescribePrincipalMappingCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -2654,27 +2917,801 @@ const deserializeAws_json1_1DescribePrincipalMappingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeQuerySuggestionsBlockListCommand = async ( +export const deserializeAws_json1_1DescribeDataSourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeQuerySuggestionsBlockListCommandError(output, context); + return deserializeAws_json1_1DescribeDataSourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeQuerySuggestionsBlockListResponse(data, context); - const response: DescribeQuerySuggestionsBlockListCommandOutput = { + contents = deserializeAws_json1_1DescribeDataSourceResponse(data, context); + const response: DescribeDataSourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeQuerySuggestionsBlockListCommandError = async ( +const deserializeAws_json1_1DescribeDataSourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribeExperienceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeExperienceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeExperienceResponse(data, context); + const response: DescribeExperienceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeExperienceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribeFaqCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeFaqCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeFaqResponse(data, context); + const response: DescribeFaqCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeFaqCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribeIndexCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeIndexCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeIndexResponse(data, context); + const response: DescribeIndexCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeIndexCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribePrincipalMappingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribePrincipalMappingCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribePrincipalMappingResponse(data, context); + const response: DescribePrincipalMappingCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribePrincipalMappingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribeQuerySuggestionsBlockListCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeQuerySuggestionsBlockListCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeQuerySuggestionsBlockListResponse(data, context); + const response: DescribeQuerySuggestionsBlockListCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeQuerySuggestionsBlockListCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribeQuerySuggestionsConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeQuerySuggestionsConfigResponse(data, context); + const response: DescribeQuerySuggestionsConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DescribeThesaurusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeThesaurusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeThesaurusResponse(data, context); + const response: DescribeThesaurusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeThesaurusCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DisassociateEntitiesFromExperienceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DisassociateEntitiesFromExperienceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DisassociateEntitiesFromExperienceResponse(data, context); + const response: DisassociateEntitiesFromExperienceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DisassociateEntitiesFromExperienceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1DisassociatePersonasFromEntitiesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DisassociatePersonasFromEntitiesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DisassociatePersonasFromEntitiesResponse(data, context); + const response: DisassociatePersonasFromEntitiesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DisassociatePersonasFromEntitiesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2740,27 +3777,27 @@ const deserializeAws_json1_1DescribeQuerySuggestionsBlockListCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeQuerySuggestionsConfigCommand = async ( +export const deserializeAws_json1_1GetQuerySuggestionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError(output, context); + return deserializeAws_json1_1GetQuerySuggestionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeQuerySuggestionsConfigResponse(data, context); - const response: DescribeQuerySuggestionsConfigCommandOutput = { + contents = deserializeAws_json1_1GetQuerySuggestionsResponse(data, context); + const response: GetQuerySuggestionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError = async ( +const deserializeAws_json1_1GetQuerySuggestionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2777,6 +3814,14 @@ const deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -2793,6 +3838,14 @@ const deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ServiceQuotaExceededException": + case "com.amazonaws.kendra#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.kendra#ThrottlingException": response = { @@ -2826,27 +3879,191 @@ const deserializeAws_json1_1DescribeQuerySuggestionsConfigCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeThesaurusCommand = async ( +export const deserializeAws_json1_1GetSnapshotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeThesaurusCommandError(output, context); + return deserializeAws_json1_1GetSnapshotsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeThesaurusResponse(data, context); - const response: DescribeThesaurusCommandOutput = { + contents = deserializeAws_json1_1GetSnapshotsResponse(data, context); + const response: GetSnapshotsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeThesaurusCommandError = async ( +const deserializeAws_json1_1GetSnapshotsCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.kendra#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#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_1ListDataSourcesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListDataSourcesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListDataSourcesResponse(data, context); + const response: ListDataSourcesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListDataSourcesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1ListDataSourceSyncJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListDataSourceSyncJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListDataSourceSyncJobsResponse(data, context); + const response: ListDataSourceSyncJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListDataSourceSyncJobsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2858,7 +4075,15 @@ const deserializeAws_json1_1DescribeThesaurusCommandError = async ( case "AccessDeniedException": case "com.amazonaws.kendra#AccessDeniedException": response = { - ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2912,27 +4137,27 @@ const deserializeAws_json1_1DescribeThesaurusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetQuerySuggestionsCommand = async ( +export const deserializeAws_json1_1ListEntityPersonasCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetQuerySuggestionsCommandError(output, context); + return deserializeAws_json1_1ListEntityPersonasCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetQuerySuggestionsResponse(data, context); - const response: GetQuerySuggestionsCommandOutput = { + contents = deserializeAws_json1_1ListEntityPersonasResponse(data, context); + const response: ListEntityPersonasCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetQuerySuggestionsCommandError = async ( +const deserializeAws_json1_1ListEntityPersonasCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2949,14 +4174,6 @@ const deserializeAws_json1_1GetQuerySuggestionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.kendra#ConflictException": - response = { - ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -2973,14 +4190,6 @@ const deserializeAws_json1_1GetQuerySuggestionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.kendra#ServiceQuotaExceededException": - response = { - ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.kendra#ThrottlingException": response = { @@ -3014,27 +4223,27 @@ const deserializeAws_json1_1GetQuerySuggestionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListDataSourcesCommand = async ( +export const deserializeAws_json1_1ListExperienceEntitiesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListDataSourcesCommandError(output, context); + return deserializeAws_json1_1ListExperienceEntitiesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListDataSourcesResponse(data, context); - const response: ListDataSourcesCommandOutput = { + contents = deserializeAws_json1_1ListExperienceEntitiesResponse(data, context); + const response: ListExperienceEntitiesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListDataSourcesCommandError = async ( +const deserializeAws_json1_1ListExperienceEntitiesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3100,27 +4309,27 @@ const deserializeAws_json1_1ListDataSourcesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListDataSourceSyncJobsCommand = async ( +export const deserializeAws_json1_1ListExperiencesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListDataSourceSyncJobsCommandError(output, context); + return deserializeAws_json1_1ListExperiencesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListDataSourceSyncJobsResponse(data, context); - const response: ListDataSourceSyncJobsCommandOutput = { + contents = deserializeAws_json1_1ListExperiencesResponse(data, context); + const response: ListExperiencesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListDataSourceSyncJobsCommandError = async ( +const deserializeAws_json1_1ListExperiencesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3137,14 +4346,6 @@ const deserializeAws_json1_1ListDataSourceSyncJobsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.kendra#ConflictException": - response = { - ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.kendra#InternalServerException": response = { @@ -4450,6 +5651,97 @@ const deserializeAws_json1_1UpdateDataSourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateExperienceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateExperienceCommandError(output, context); + } + await collectBody(output.body, context); + const response: UpdateExperienceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateExperienceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.kendra#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.kendra#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.kendra#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kendra#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.kendra#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.kendra#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_1UpdateIndexCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4867,6 +6159,21 @@ const deserializeAws_json1_1InternalServerExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1InvalidRequestExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidRequestException(body, context); + const contents: InvalidRequestException = { + name: "InvalidRequestException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1ResourceAlreadyExistExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -4988,6 +6295,43 @@ const serializeAws_json1_1AclConfiguration = (input: AclConfiguration, context: }; }; +const serializeAws_json1_1AssociateEntitiesToExperienceRequest = ( + input: AssociateEntitiesToExperienceRequest, + context: __SerdeContext +): any => { + return { + ...(input.EntityList !== undefined && + input.EntityList !== null && { EntityList: serializeAws_json1_1AssociateEntityList(input.EntityList, context) }), + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + }; +}; + +const serializeAws_json1_1AssociateEntityList = (input: EntityConfiguration[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1EntityConfiguration(entry, context); + }); +}; + +const serializeAws_json1_1AssociatePersonasToEntitiesRequest = ( + input: AssociatePersonasToEntitiesRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.Personas !== undefined && + input.Personas !== null && { + Personas: serializeAws_json1_1EntityPersonaConfigurationList(input.Personas, context), + }), + }; +}; + const serializeAws_json1_1AttributeFilter = (input: AttributeFilter, context: __SerdeContext): any => { return { ...(input.AndAllFilters !== undefined && @@ -5107,6 +6451,13 @@ const serializeAws_json1_1BatchGetDocumentStatusRequest = ( const serializeAws_json1_1BatchPutDocumentRequest = (input: BatchPutDocumentRequest, context: __SerdeContext): any => { return { + ...(input.CustomDocumentEnrichmentConfiguration !== undefined && + input.CustomDocumentEnrichmentConfiguration !== null && { + CustomDocumentEnrichmentConfiguration: serializeAws_json1_1CustomDocumentEnrichmentConfiguration( + input.CustomDocumentEnrichmentConfiguration, + context + ), + }), ...(input.Documents !== undefined && input.Documents !== null && { Documents: serializeAws_json1_1DocumentList(input.Documents, context) }), ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), @@ -5421,6 +6772,22 @@ const serializeAws_json1_1ConnectionConfiguration = (input: ConnectionConfigurat }; }; +const serializeAws_json1_1ContentSourceConfiguration = ( + input: ContentSourceConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.DataSourceIds !== undefined && + input.DataSourceIds !== null && { + DataSourceIds: serializeAws_json1_1DataSourceIdList(input.DataSourceIds, context), + }), + ...(input.DirectPutContent !== undefined && + input.DirectPutContent !== null && { DirectPutContent: input.DirectPutContent }), + ...(input.FaqIds !== undefined && + input.FaqIds !== null && { FaqIds: serializeAws_json1_1FaqIdsList(input.FaqIds, context) }), + }; +}; + const serializeAws_json1_1CreateDataSourceRequest = (input: CreateDataSourceRequest, context: __SerdeContext): any => { return { ClientToken: input.ClientToken ?? generateIdempotencyToken(), @@ -5428,6 +6795,13 @@ const serializeAws_json1_1CreateDataSourceRequest = (input: CreateDataSourceRequ input.Configuration !== null && { Configuration: serializeAws_json1_1DataSourceConfiguration(input.Configuration, context), }), + ...(input.CustomDocumentEnrichmentConfiguration !== undefined && + input.CustomDocumentEnrichmentConfiguration !== null && { + CustomDocumentEnrichmentConfiguration: serializeAws_json1_1CustomDocumentEnrichmentConfiguration( + input.CustomDocumentEnrichmentConfiguration, + context + ), + }), ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), ...(input.LanguageCode !== undefined && input.LanguageCode !== null && { LanguageCode: input.LanguageCode }), @@ -5439,6 +6813,20 @@ const serializeAws_json1_1CreateDataSourceRequest = (input: CreateDataSourceRequ }; }; +const serializeAws_json1_1CreateExperienceRequest = (input: CreateExperienceRequest, context: __SerdeContext): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.Configuration !== undefined && + input.Configuration !== null && { + Configuration: serializeAws_json1_1ExperienceConfiguration(input.Configuration, context), + }), + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), + }; +}; + const serializeAws_json1_1CreateFaqRequest = (input: CreateFaqRequest, context: __SerdeContext): any => { return { ClientToken: input.ClientToken ?? generateIdempotencyToken(), @@ -5514,6 +6902,36 @@ const serializeAws_json1_1CreateThesaurusRequest = (input: CreateThesaurusReques }; }; +const serializeAws_json1_1CustomDocumentEnrichmentConfiguration = ( + input: CustomDocumentEnrichmentConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.InlineConfigurations !== undefined && + input.InlineConfigurations !== null && { + InlineConfigurations: serializeAws_json1_1InlineCustomDocumentEnrichmentConfigurationList( + input.InlineConfigurations, + context + ), + }), + ...(input.PostExtractionHookConfiguration !== undefined && + input.PostExtractionHookConfiguration !== null && { + PostExtractionHookConfiguration: serializeAws_json1_1HookConfiguration( + input.PostExtractionHookConfiguration, + context + ), + }), + ...(input.PreExtractionHookConfiguration !== undefined && + input.PreExtractionHookConfiguration !== null && { + PreExtractionHookConfiguration: serializeAws_json1_1HookConfiguration( + input.PreExtractionHookConfiguration, + context + ), + }), + ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), + }; +}; + const serializeAws_json1_1DatabaseConfiguration = (input: DatabaseConfiguration, context: __SerdeContext): any => { return { ...(input.AclConfiguration !== undefined && @@ -5604,6 +7022,17 @@ const serializeAws_json1_1DataSourceGroups = (input: DataSourceGroup[], context: }); }; +const serializeAws_json1_1DataSourceIdList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1DataSourceInclusionsExclusionsStrings = (input: string[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -5675,6 +7104,13 @@ const serializeAws_json1_1DeleteDataSourceRequest = (input: DeleteDataSourceRequ }; }; +const serializeAws_json1_1DeleteExperienceRequest = (input: DeleteExperienceRequest, context: __SerdeContext): any => { + return { + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + }; +}; + const serializeAws_json1_1DeleteFaqRequest = (input: DeleteFaqRequest, context: __SerdeContext): any => { return { ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), @@ -5727,6 +7163,16 @@ const serializeAws_json1_1DescribeDataSourceRequest = ( }; }; +const serializeAws_json1_1DescribeExperienceRequest = ( + input: DescribeExperienceRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + }; +}; + const serializeAws_json1_1DescribeFaqRequest = (input: DescribeFaqRequest, context: __SerdeContext): any => { return { ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), @@ -5761,20 +7207,57 @@ const serializeAws_json1_1DescribeQuerySuggestionsBlockListRequest = ( }; }; -const serializeAws_json1_1DescribeQuerySuggestionsConfigRequest = ( - input: DescribeQuerySuggestionsConfigRequest, +const serializeAws_json1_1DescribeQuerySuggestionsConfigRequest = ( + input: DescribeQuerySuggestionsConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + }; +}; + +const serializeAws_json1_1DescribeThesaurusRequest = ( + input: DescribeThesaurusRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + }; +}; + +const serializeAws_json1_1DisassociateEntitiesFromExperienceRequest = ( + input: DisassociateEntitiesFromExperienceRequest, context: __SerdeContext ): any => { return { + ...(input.EntityList !== undefined && + input.EntityList !== null && { + EntityList: serializeAws_json1_1DisassociateEntityList(input.EntityList, context), + }), + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), }; }; -const serializeAws_json1_1DescribeThesaurusRequest = ( - input: DescribeThesaurusRequest, +const serializeAws_json1_1DisassociateEntityList = (input: EntityConfiguration[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1EntityConfiguration(entry, context); + }); +}; + +const serializeAws_json1_1DisassociatePersonasFromEntitiesRequest = ( + input: DisassociatePersonasFromEntitiesRequest, context: __SerdeContext ): any => { return { + ...(input.EntityIds !== undefined && + input.EntityIds !== null && { EntityIds: serializeAws_json1_1EntityIdsList(input.EntityIds, context) }), ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), }; @@ -5814,6 +7297,23 @@ const serializeAws_json1_1DocumentAttribute = (input: DocumentAttribute, context }; }; +const serializeAws_json1_1DocumentAttributeCondition = ( + input: DocumentAttributeCondition, + context: __SerdeContext +): any => { + return { + ...(input.ConditionDocumentAttributeKey !== undefined && + input.ConditionDocumentAttributeKey !== null && { + ConditionDocumentAttributeKey: input.ConditionDocumentAttributeKey, + }), + ...(input.ConditionOnValue !== undefined && + input.ConditionOnValue !== null && { + ConditionOnValue: serializeAws_json1_1DocumentAttributeValue(input.ConditionOnValue, context), + }), + ...(input.Operator !== undefined && input.Operator !== null && { Operator: input.Operator }), + }; +}; + const serializeAws_json1_1DocumentAttributeKeyList = (input: string[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -5847,6 +7347,24 @@ const serializeAws_json1_1DocumentAttributeStringListValue = (input: string[], c }); }; +const serializeAws_json1_1DocumentAttributeTarget = (input: DocumentAttributeTarget, context: __SerdeContext): any => { + return { + ...(input.TargetDocumentAttributeKey !== undefined && + input.TargetDocumentAttributeKey !== null && { TargetDocumentAttributeKey: input.TargetDocumentAttributeKey }), + ...(input.TargetDocumentAttributeValue !== undefined && + input.TargetDocumentAttributeValue !== null && { + TargetDocumentAttributeValue: serializeAws_json1_1DocumentAttributeValue( + input.TargetDocumentAttributeValue, + context + ), + }), + ...(input.TargetDocumentAttributeValueDeletion !== undefined && + input.TargetDocumentAttributeValueDeletion !== null && { + TargetDocumentAttributeValueDeletion: input.TargetDocumentAttributeValueDeletion, + }), + }; +}; + const serializeAws_json1_1DocumentAttributeValue = (input: DocumentAttributeValue, context: __SerdeContext): any => { return { ...(input.DateValue !== undefined && @@ -5965,6 +7483,48 @@ const serializeAws_json1_1DocumentsMetadataConfiguration = ( }; }; +const serializeAws_json1_1EntityConfiguration = (input: EntityConfiguration, context: __SerdeContext): any => { + return { + ...(input.EntityId !== undefined && input.EntityId !== null && { EntityId: input.EntityId }), + ...(input.EntityType !== undefined && input.EntityType !== null && { EntityType: input.EntityType }), + }; +}; + +const serializeAws_json1_1EntityIdsList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1EntityPersonaConfiguration = ( + input: EntityPersonaConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.EntityId !== undefined && input.EntityId !== null && { EntityId: input.EntityId }), + ...(input.Persona !== undefined && input.Persona !== null && { Persona: input.Persona }), + }; +}; + +const serializeAws_json1_1EntityPersonaConfigurationList = ( + input: EntityPersonaConfiguration[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1EntityPersonaConfiguration(entry, context); + }); +}; + const serializeAws_json1_1ExcludeMimeTypesList = (input: string[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -5998,6 +7558,25 @@ const serializeAws_json1_1ExcludeUserAccountsList = (input: string[], context: _ }); }; +const serializeAws_json1_1ExperienceConfiguration = (input: ExperienceConfiguration, context: __SerdeContext): any => { + return { + ...(input.ContentSourceConfiguration !== undefined && + input.ContentSourceConfiguration !== null && { + ContentSourceConfiguration: serializeAws_json1_1ContentSourceConfiguration( + input.ContentSourceConfiguration, + context + ), + }), + ...(input.UserIdentityConfiguration !== undefined && + input.UserIdentityConfiguration !== null && { + UserIdentityConfiguration: serializeAws_json1_1UserIdentityConfiguration( + input.UserIdentityConfiguration, + context + ), + }), + }; +}; + const serializeAws_json1_1Facet = (input: Facet, context: __SerdeContext): any => { return { ...(input.DocumentAttributeKey !== undefined && @@ -6016,6 +7595,17 @@ const serializeAws_json1_1FacetList = (input: Facet[], context: __SerdeContext): }); }; +const serializeAws_json1_1FaqIdsList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1GetQuerySuggestionsRequest = ( input: GetQuerySuggestionsRequest, context: __SerdeContext @@ -6028,6 +7618,16 @@ const serializeAws_json1_1GetQuerySuggestionsRequest = ( }; }; +const serializeAws_json1_1GetSnapshotsRequest = (input: GetSnapshotsRequest, context: __SerdeContext): any => { + return { + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.Interval !== undefined && input.Interval !== null && { Interval: input.Interval }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.MetricType !== undefined && input.MetricType !== null && { MetricType: input.MetricType }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1GoogleDriveConfiguration = ( input: GoogleDriveConfiguration, context: __SerdeContext @@ -6108,6 +7708,47 @@ const serializeAws_json1_1HierarchicalPrincipalList = ( }); }; +const serializeAws_json1_1HookConfiguration = (input: HookConfiguration, context: __SerdeContext): any => { + return { + ...(input.InvocationCondition !== undefined && + input.InvocationCondition !== null && { + InvocationCondition: serializeAws_json1_1DocumentAttributeCondition(input.InvocationCondition, context), + }), + ...(input.LambdaArn !== undefined && input.LambdaArn !== null && { LambdaArn: input.LambdaArn }), + ...(input.S3Bucket !== undefined && input.S3Bucket !== null && { S3Bucket: input.S3Bucket }), + }; +}; + +const serializeAws_json1_1InlineCustomDocumentEnrichmentConfiguration = ( + input: InlineCustomDocumentEnrichmentConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.Condition !== undefined && + input.Condition !== null && { + Condition: serializeAws_json1_1DocumentAttributeCondition(input.Condition, context), + }), + ...(input.DocumentContentDeletion !== undefined && + input.DocumentContentDeletion !== null && { DocumentContentDeletion: input.DocumentContentDeletion }), + ...(input.Target !== undefined && + input.Target !== null && { Target: serializeAws_json1_1DocumentAttributeTarget(input.Target, context) }), + }; +}; + +const serializeAws_json1_1InlineCustomDocumentEnrichmentConfigurationList = ( + input: InlineCustomDocumentEnrichmentConfiguration[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1InlineCustomDocumentEnrichmentConfiguration(entry, context); + }); +}; + const serializeAws_json1_1JsonTokenTypeConfiguration = ( input: JsonTokenTypeConfiguration, context: __SerdeContext @@ -6163,6 +7804,37 @@ const serializeAws_json1_1ListDataSourceSyncJobsRequest = ( }; }; +const serializeAws_json1_1ListEntityPersonasRequest = ( + input: ListEntityPersonasRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListExperienceEntitiesRequest = ( + input: ListExperienceEntitiesRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListExperiencesRequest = (input: ListExperiencesRequest, context: __SerdeContext): any => { + return { + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListFaqsRequest = (input: ListFaqsRequest, context: __SerdeContext): any => { return { ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), @@ -7007,6 +8679,13 @@ const serializeAws_json1_1UpdateDataSourceRequest = (input: UpdateDataSourceRequ input.Configuration !== null && { Configuration: serializeAws_json1_1DataSourceConfiguration(input.Configuration, context), }), + ...(input.CustomDocumentEnrichmentConfiguration !== undefined && + input.CustomDocumentEnrichmentConfiguration !== null && { + CustomDocumentEnrichmentConfiguration: serializeAws_json1_1CustomDocumentEnrichmentConfiguration( + input.CustomDocumentEnrichmentConfiguration, + context + ), + }), ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), @@ -7017,6 +8696,20 @@ const serializeAws_json1_1UpdateDataSourceRequest = (input: UpdateDataSourceRequ }; }; +const serializeAws_json1_1UpdateExperienceRequest = (input: UpdateExperienceRequest, context: __SerdeContext): any => { + return { + ...(input.Configuration !== undefined && + input.Configuration !== null && { + Configuration: serializeAws_json1_1ExperienceConfiguration(input.Configuration, context), + }), + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.Id !== undefined && input.Id !== null && { Id: input.Id }), + ...(input.IndexId !== undefined && input.IndexId !== null && { IndexId: input.IndexId }), + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), + }; +}; + const serializeAws_json1_1UpdateIndexRequest = (input: UpdateIndexRequest, context: __SerdeContext): any => { return { ...(input.CapacityUnits !== undefined && @@ -7137,6 +8830,16 @@ const serializeAws_json1_1UserGroupResolutionConfiguration = ( }; }; +const serializeAws_json1_1UserIdentityConfiguration = ( + input: UserIdentityConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.IdentityAttributeName !== undefined && + input.IdentityAttributeName !== null && { IdentityAttributeName: input.IdentityAttributeName }), + }; +}; + const serializeAws_json1_1UserTokenConfiguration = (input: UserTokenConfiguration, context: __SerdeContext): any => { return { ...(input.JsonTokenTypeConfiguration !== undefined && @@ -7304,6 +9007,44 @@ const deserializeAws_json1_1AdditionalResultAttributeValue = ( } as any; }; +const deserializeAws_json1_1AssociateEntitiesToExperienceFailedEntityList = ( + output: any, + context: __SerdeContext +): FailedEntity[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1FailedEntity(entry, context); + }); +}; + +const deserializeAws_json1_1AssociateEntitiesToExperienceResponse = ( + output: any, + context: __SerdeContext +): AssociateEntitiesToExperienceResponse => { + return { + FailedEntityList: + output.FailedEntityList !== undefined && output.FailedEntityList !== null + ? deserializeAws_json1_1AssociateEntitiesToExperienceFailedEntityList(output.FailedEntityList, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AssociatePersonasToEntitiesResponse = ( + output: any, + context: __SerdeContext +): AssociatePersonasToEntitiesResponse => { + return { + FailedEntityList: + output.FailedEntityList !== undefined && output.FailedEntityList !== null + ? deserializeAws_json1_1FailedEntityList(output.FailedEntityList, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1AuthenticationConfiguration = ( output: any, context: __SerdeContext @@ -7721,6 +9462,23 @@ const deserializeAws_json1_1ConnectionConfiguration = ( } as any; }; +const deserializeAws_json1_1ContentSourceConfiguration = ( + output: any, + context: __SerdeContext +): ContentSourceConfiguration => { + return { + DataSourceIds: + output.DataSourceIds !== undefined && output.DataSourceIds !== null + ? deserializeAws_json1_1DataSourceIdList(output.DataSourceIds, context) + : undefined, + DirectPutContent: __expectBoolean(output.DirectPutContent), + FaqIds: + output.FaqIds !== undefined && output.FaqIds !== null + ? deserializeAws_json1_1FaqIdsList(output.FaqIds, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1CreateDataSourceResponse = ( output: any, context: __SerdeContext @@ -7730,6 +9488,15 @@ const deserializeAws_json1_1CreateDataSourceResponse = ( } as any; }; +const deserializeAws_json1_1CreateExperienceResponse = ( + output: any, + context: __SerdeContext +): CreateExperienceResponse => { + return { + Id: __expectString(output.Id), + } as any; +}; + const deserializeAws_json1_1CreateFaqResponse = (output: any, context: __SerdeContext): CreateFaqResponse => { return { Id: __expectString(output.Id), @@ -7760,6 +9527,27 @@ const deserializeAws_json1_1CreateThesaurusResponse = ( } as any; }; +const deserializeAws_json1_1CustomDocumentEnrichmentConfiguration = ( + output: any, + context: __SerdeContext +): CustomDocumentEnrichmentConfiguration => { + return { + InlineConfigurations: + output.InlineConfigurations !== undefined && output.InlineConfigurations !== null + ? deserializeAws_json1_1InlineCustomDocumentEnrichmentConfigurationList(output.InlineConfigurations, context) + : undefined, + PostExtractionHookConfiguration: + output.PostExtractionHookConfiguration !== undefined && output.PostExtractionHookConfiguration !== null + ? deserializeAws_json1_1HookConfiguration(output.PostExtractionHookConfiguration, context) + : undefined, + PreExtractionHookConfiguration: + output.PreExtractionHookConfiguration !== undefined && output.PreExtractionHookConfiguration !== null + ? deserializeAws_json1_1HookConfiguration(output.PreExtractionHookConfiguration, context) + : undefined, + RoleArn: __expectString(output.RoleArn), + } as any; +}; + const deserializeAws_json1_1DatabaseConfiguration = (output: any, context: __SerdeContext): DatabaseConfiguration => { return { AclConfiguration: @@ -7834,6 +9622,17 @@ const deserializeAws_json1_1DataSourceConfiguration = ( } as any; }; +const deserializeAws_json1_1DataSourceIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_json1_1DataSourceInclusionsExclusionsStrings = ( output: any, context: __SerdeContext @@ -7967,6 +9766,13 @@ const deserializeAws_json1_1DataSourceVpcConfiguration = ( } as any; }; +const deserializeAws_json1_1DeleteExperienceResponse = ( + output: any, + context: __SerdeContext +): DeleteExperienceResponse => { + return {} as any; +}; + const deserializeAws_json1_1DescribeDataSourceResponse = ( output: any, context: __SerdeContext @@ -7980,16 +9786,55 @@ const deserializeAws_json1_1DescribeDataSourceResponse = ( output.CreatedAt !== undefined && output.CreatedAt !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedAt))) : undefined, + CustomDocumentEnrichmentConfiguration: + output.CustomDocumentEnrichmentConfiguration !== undefined && + output.CustomDocumentEnrichmentConfiguration !== null + ? deserializeAws_json1_1CustomDocumentEnrichmentConfiguration( + output.CustomDocumentEnrichmentConfiguration, + context + ) + : undefined, + Description: __expectString(output.Description), + ErrorMessage: __expectString(output.ErrorMessage), + Id: __expectString(output.Id), + IndexId: __expectString(output.IndexId), + LanguageCode: __expectString(output.LanguageCode), + Name: __expectString(output.Name), + RoleArn: __expectString(output.RoleArn), + Schedule: __expectString(output.Schedule), + Status: __expectString(output.Status), + Type: __expectString(output.Type), + UpdatedAt: + output.UpdatedAt !== undefined && output.UpdatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.UpdatedAt))) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeExperienceResponse = ( + output: any, + context: __SerdeContext +): DescribeExperienceResponse => { + return { + Configuration: + output.Configuration !== undefined && output.Configuration !== null + ? deserializeAws_json1_1ExperienceConfiguration(output.Configuration, context) + : undefined, + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedAt))) + : undefined, Description: __expectString(output.Description), + Endpoints: + output.Endpoints !== undefined && output.Endpoints !== null + ? deserializeAws_json1_1ExperienceEndpoints(output.Endpoints, context) + : undefined, ErrorMessage: __expectString(output.ErrorMessage), Id: __expectString(output.Id), IndexId: __expectString(output.IndexId), - LanguageCode: __expectString(output.LanguageCode), Name: __expectString(output.Name), RoleArn: __expectString(output.RoleArn), - Schedule: __expectString(output.Schedule), Status: __expectString(output.Status), - Type: __expectString(output.Type), UpdatedAt: output.UpdatedAt !== undefined && output.UpdatedAt !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.UpdatedAt))) @@ -8165,6 +10010,30 @@ const deserializeAws_json1_1DescribeThesaurusResponse = ( } as any; }; +const deserializeAws_json1_1DisassociateEntitiesFromExperienceResponse = ( + output: any, + context: __SerdeContext +): DisassociateEntitiesFromExperienceResponse => { + return { + FailedEntityList: + output.FailedEntityList !== undefined && output.FailedEntityList !== null + ? deserializeAws_json1_1FailedEntityList(output.FailedEntityList, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DisassociatePersonasFromEntitiesResponse = ( + output: any, + context: __SerdeContext +): DisassociatePersonasFromEntitiesResponse => { + return { + FailedEntityList: + output.FailedEntityList !== undefined && output.FailedEntityList !== null + ? deserializeAws_json1_1FailedEntityList(output.FailedEntityList, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DocumentAttribute = (output: any, context: __SerdeContext): DocumentAttribute => { return { Key: __expectString(output.Key), @@ -8175,6 +10044,20 @@ const deserializeAws_json1_1DocumentAttribute = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_json1_1DocumentAttributeCondition = ( + output: any, + context: __SerdeContext +): DocumentAttributeCondition => { + return { + ConditionDocumentAttributeKey: __expectString(output.ConditionDocumentAttributeKey), + ConditionOnValue: + output.ConditionOnValue !== undefined && output.ConditionOnValue !== null + ? deserializeAws_json1_1DocumentAttributeValue(output.ConditionOnValue, context) + : undefined, + Operator: __expectString(output.Operator), + } as any; +}; + const deserializeAws_json1_1DocumentAttributeList = (output: any, context: __SerdeContext): DocumentAttribute[] => { return (output || []) .filter((e: any) => e != null) @@ -8197,6 +10080,20 @@ const deserializeAws_json1_1DocumentAttributeStringListValue = (output: any, con }); }; +const deserializeAws_json1_1DocumentAttributeTarget = ( + output: any, + context: __SerdeContext +): DocumentAttributeTarget => { + return { + TargetDocumentAttributeKey: __expectString(output.TargetDocumentAttributeKey), + TargetDocumentAttributeValue: + output.TargetDocumentAttributeValue !== undefined && output.TargetDocumentAttributeValue !== null + ? deserializeAws_json1_1DocumentAttributeValue(output.TargetDocumentAttributeValue, context) + : undefined, + TargetDocumentAttributeValueDeletion: __expectBoolean(output.TargetDocumentAttributeValueDeletion), + } as any; +}; + const deserializeAws_json1_1DocumentAttributeValue = (output: any, context: __SerdeContext): DocumentAttributeValue => { return { DateValue: @@ -8291,6 +10188,16 @@ const deserializeAws_json1_1DocumentStatusList = (output: any, context: __SerdeC }); }; +const deserializeAws_json1_1EntityDisplayData = (output: any, context: __SerdeContext): EntityDisplayData => { + return { + FirstName: __expectString(output.FirstName), + GroupName: __expectString(output.GroupName), + IdentifiedUserName: __expectString(output.IdentifiedUserName), + LastName: __expectString(output.LastName), + UserName: __expectString(output.UserName), + } as any; +}; + const deserializeAws_json1_1ExcludeMimeTypesList = (output: any, context: __SerdeContext): string[] => { return (output || []) .filter((e: any) => e != null) @@ -8324,6 +10231,95 @@ const deserializeAws_json1_1ExcludeUserAccountsList = (output: any, context: __S }); }; +const deserializeAws_json1_1ExperienceConfiguration = ( + output: any, + context: __SerdeContext +): ExperienceConfiguration => { + return { + ContentSourceConfiguration: + output.ContentSourceConfiguration !== undefined && output.ContentSourceConfiguration !== null + ? deserializeAws_json1_1ContentSourceConfiguration(output.ContentSourceConfiguration, context) + : undefined, + UserIdentityConfiguration: + output.UserIdentityConfiguration !== undefined && output.UserIdentityConfiguration !== null + ? deserializeAws_json1_1UserIdentityConfiguration(output.UserIdentityConfiguration, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ExperienceEndpoint = (output: any, context: __SerdeContext): ExperienceEndpoint => { + return { + Endpoint: __expectString(output.Endpoint), + EndpointType: __expectString(output.EndpointType), + } as any; +}; + +const deserializeAws_json1_1ExperienceEndpoints = (output: any, context: __SerdeContext): ExperienceEndpoint[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ExperienceEndpoint(entry, context); + }); +}; + +const deserializeAws_json1_1ExperienceEntitiesSummary = ( + output: any, + context: __SerdeContext +): ExperienceEntitiesSummary => { + return { + DisplayData: + output.DisplayData !== undefined && output.DisplayData !== null + ? deserializeAws_json1_1EntityDisplayData(output.DisplayData, context) + : undefined, + EntityId: __expectString(output.EntityId), + EntityType: __expectString(output.EntityType), + } as any; +}; + +const deserializeAws_json1_1ExperienceEntitiesSummaryList = ( + output: any, + context: __SerdeContext +): ExperienceEntitiesSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ExperienceEntitiesSummary(entry, context); + }); +}; + +const deserializeAws_json1_1ExperiencesSummary = (output: any, context: __SerdeContext): ExperiencesSummary => { + return { + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedAt))) + : undefined, + Endpoints: + output.Endpoints !== undefined && output.Endpoints !== null + ? deserializeAws_json1_1ExperienceEndpoints(output.Endpoints, context) + : undefined, + Id: __expectString(output.Id), + Name: __expectString(output.Name), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1ExperiencesSummaryList = (output: any, context: __SerdeContext): ExperiencesSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ExperiencesSummary(entry, context); + }); +}; + const deserializeAws_json1_1FacetResult = (output: any, context: __SerdeContext): FacetResult => { return { DocumentAttributeKey: __expectString(output.DocumentAttributeKey), @@ -8346,6 +10342,35 @@ const deserializeAws_json1_1FacetResultList = (output: any, context: __SerdeCont }); }; +const deserializeAws_json1_1FailedEntity = (output: any, context: __SerdeContext): FailedEntity => { + return { + EntityId: __expectString(output.EntityId), + ErrorMessage: __expectString(output.ErrorMessage), + } as any; +}; + +const deserializeAws_json1_1FailedEntityList = (output: any, context: __SerdeContext): FailedEntity[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1FailedEntity(entry, context); + }); +}; + +const deserializeAws_json1_1FaqIdsList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_json1_1FaqStatistics = (output: any, context: __SerdeContext): FaqStatistics => { return { IndexedQuestionAnswersCount: __expectInt32(output.IndexedQuestionAnswersCount), @@ -8394,6 +10419,24 @@ const deserializeAws_json1_1GetQuerySuggestionsResponse = ( } as any; }; +const deserializeAws_json1_1GetSnapshotsResponse = (output: any, context: __SerdeContext): GetSnapshotsResponse => { + return { + NextToken: __expectString(output.NextToken), + SnapShotTimeFilter: + output.SnapShotTimeFilter !== undefined && output.SnapShotTimeFilter !== null + ? deserializeAws_json1_1TimeRange(output.SnapShotTimeFilter, context) + : undefined, + SnapshotsData: + output.SnapshotsData !== undefined && output.SnapshotsData !== null + ? deserializeAws_json1_1SnapshotsDataRecords(output.SnapshotsData, context) + : undefined, + SnapshotsDataHeader: + output.SnapshotsDataHeader !== undefined && output.SnapshotsDataHeader !== null + ? deserializeAws_json1_1SnapshotsDataHeaderFields(output.SnapshotsDataHeader, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GoogleDriveConfiguration = ( output: any, context: __SerdeContext @@ -8484,6 +10527,17 @@ const deserializeAws_json1_1HighlightList = (output: any, context: __SerdeContex }); }; +const deserializeAws_json1_1HookConfiguration = (output: any, context: __SerdeContext): HookConfiguration => { + return { + InvocationCondition: + output.InvocationCondition !== undefined && output.InvocationCondition !== null + ? deserializeAws_json1_1DocumentAttributeCondition(output.InvocationCondition, context) + : undefined, + LambdaArn: __expectString(output.LambdaArn), + S3Bucket: __expectString(output.S3Bucket), + } as any; +}; + const deserializeAws_json1_1IndexConfigurationSummary = ( output: any, context: __SerdeContext @@ -8531,6 +10585,37 @@ const deserializeAws_json1_1IndexStatistics = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1InlineCustomDocumentEnrichmentConfiguration = ( + output: any, + context: __SerdeContext +): InlineCustomDocumentEnrichmentConfiguration => { + return { + Condition: + output.Condition !== undefined && output.Condition !== null + ? deserializeAws_json1_1DocumentAttributeCondition(output.Condition, context) + : undefined, + DocumentContentDeletion: __expectBoolean(output.DocumentContentDeletion), + Target: + output.Target !== undefined && output.Target !== null + ? deserializeAws_json1_1DocumentAttributeTarget(output.Target, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1InlineCustomDocumentEnrichmentConfigurationList = ( + output: any, + context: __SerdeContext +): InlineCustomDocumentEnrichmentConfiguration[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1InlineCustomDocumentEnrichmentConfiguration(entry, context); + }); +}; + const deserializeAws_json1_1InternalServerException = ( output: any, context: __SerdeContext @@ -8540,6 +10625,15 @@ const deserializeAws_json1_1InternalServerException = ( } as any; }; +const deserializeAws_json1_1InvalidRequestException = ( + output: any, + context: __SerdeContext +): InvalidRequestException => { + return { + Message: __expectString(output.Message), + } as any; +}; + const deserializeAws_json1_1JsonTokenTypeConfiguration = ( output: any, context: __SerdeContext @@ -8591,6 +10685,45 @@ const deserializeAws_json1_1ListDataSourceSyncJobsResponse = ( } as any; }; +const deserializeAws_json1_1ListEntityPersonasResponse = ( + output: any, + context: __SerdeContext +): ListEntityPersonasResponse => { + return { + NextToken: __expectString(output.NextToken), + SummaryItems: + output.SummaryItems !== undefined && output.SummaryItems !== null + ? deserializeAws_json1_1PersonasSummaryList(output.SummaryItems, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListExperienceEntitiesResponse = ( + output: any, + context: __SerdeContext +): ListExperienceEntitiesResponse => { + return { + NextToken: __expectString(output.NextToken), + SummaryItems: + output.SummaryItems !== undefined && output.SummaryItems !== null + ? deserializeAws_json1_1ExperienceEntitiesSummaryList(output.SummaryItems, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListExperiencesResponse = ( + output: any, + context: __SerdeContext +): ListExperiencesResponse => { + return { + NextToken: __expectString(output.NextToken), + SummaryItems: + output.SummaryItems !== undefined && output.SummaryItems !== null + ? deserializeAws_json1_1ExperiencesSummaryList(output.SummaryItems, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListFaqsResponse = (output: any, context: __SerdeContext): ListFaqsResponse => { return { FaqSummaryItems: @@ -8718,6 +10851,32 @@ const deserializeAws_json1_1OneDriveUsers = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1PersonasSummary = (output: any, context: __SerdeContext): PersonasSummary => { + return { + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedAt))) + : undefined, + EntityId: __expectString(output.EntityId), + Persona: __expectString(output.Persona), + UpdatedAt: + output.UpdatedAt !== undefined && output.UpdatedAt !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.UpdatedAt))) + : undefined, + } as any; +}; + +const deserializeAws_json1_1PersonasSummaryList = (output: any, context: __SerdeContext): PersonasSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1PersonasSummary(entry, context); + }); +}; + const deserializeAws_json1_1ProxyConfiguration = (output: any, context: __SerdeContext): ProxyConfiguration => { return { Credentials: __expectString(output.Credentials), @@ -9297,6 +11456,39 @@ const deserializeAws_json1_1SiteMapsList = (output: any, context: __SerdeContext }); }; +const deserializeAws_json1_1SnapshotsDataHeaderFields = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1SnapshotsDataRecord = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1SnapshotsDataRecords = (output: any, context: __SerdeContext): string[][] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1SnapshotsDataRecord(entry, context); + }); +}; + const deserializeAws_json1_1SqlConfiguration = (output: any, context: __SerdeContext): SqlConfiguration => { return { QueryIdentifiersEnclosingOption: __expectString(output.QueryIdentifiersEnclosingOption), @@ -9465,6 +11657,19 @@ const deserializeAws_json1_1ThrottlingException = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1TimeRange = (output: any, context: __SerdeContext): TimeRange => { + return { + EndTime: + output.EndTime !== undefined && output.EndTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.EndTime))) + : undefined, + StartTime: + output.StartTime !== undefined && output.StartTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.StartTime))) + : undefined, + } as any; +}; + const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => { return {} as any; }; @@ -9491,6 +11696,15 @@ const deserializeAws_json1_1UserGroupResolutionConfiguration = ( } as any; }; +const deserializeAws_json1_1UserIdentityConfiguration = ( + output: any, + context: __SerdeContext +): UserIdentityConfiguration => { + return { + IdentityAttributeName: __expectString(output.IdentityAttributeName), + } as any; +}; + const deserializeAws_json1_1UserTokenConfiguration = (output: any, context: __SerdeContext): UserTokenConfiguration => { return { JsonTokenTypeConfiguration: diff --git a/clients/client-lex-models-v2/src/LexModelsV2.ts b/clients/client-lex-models-v2/src/LexModelsV2.ts index d41bd05891e6..5146b72cdb01 100644 --- a/clients/client-lex-models-v2/src/LexModelsV2.ts +++ b/clients/client-lex-models-v2/src/LexModelsV2.ts @@ -115,6 +115,11 @@ import { DescribeBotLocaleCommandInput, DescribeBotLocaleCommandOutput, } from "./commands/DescribeBotLocaleCommand"; +import { + DescribeBotRecommendationCommand, + DescribeBotRecommendationCommandInput, + DescribeBotRecommendationCommandOutput, +} from "./commands/DescribeBotRecommendationCommand"; import { DescribeBotVersionCommand, DescribeBotVersionCommandInput, @@ -165,6 +170,11 @@ import { ListBotLocalesCommandInput, ListBotLocalesCommandOutput, } from "./commands/ListBotLocalesCommand"; +import { + ListBotRecommendationsCommand, + ListBotRecommendationsCommandInput, + ListBotRecommendationsCommandOutput, +} from "./commands/ListBotRecommendationsCommand"; import { ListBotsCommand, ListBotsCommandInput, ListBotsCommandOutput } from "./commands/ListBotsCommand"; import { ListBotVersionsCommand, @@ -184,6 +194,11 @@ import { import { ListExportsCommand, ListExportsCommandInput, ListExportsCommandOutput } from "./commands/ListExportsCommand"; import { ListImportsCommand, ListImportsCommandInput, ListImportsCommandOutput } from "./commands/ListImportsCommand"; import { ListIntentsCommand, ListIntentsCommandInput, ListIntentsCommandOutput } from "./commands/ListIntentsCommand"; +import { + ListRecommendedIntentsCommand, + ListRecommendedIntentsCommandInput, + ListRecommendedIntentsCommandOutput, +} from "./commands/ListRecommendedIntentsCommand"; import { ListSlotsCommand, ListSlotsCommandInput, ListSlotsCommandOutput } from "./commands/ListSlotsCommand"; import { ListSlotTypesCommand, @@ -195,6 +210,16 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + SearchAssociatedTranscriptsCommand, + SearchAssociatedTranscriptsCommandInput, + SearchAssociatedTranscriptsCommandOutput, +} from "./commands/SearchAssociatedTranscriptsCommand"; +import { + StartBotRecommendationCommand, + StartBotRecommendationCommandInput, + StartBotRecommendationCommandOutput, +} from "./commands/StartBotRecommendationCommand"; import { StartImportCommand, StartImportCommandInput, StartImportCommandOutput } from "./commands/StartImportCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { @@ -213,6 +238,11 @@ import { UpdateBotLocaleCommandInput, UpdateBotLocaleCommandOutput, } from "./commands/UpdateBotLocaleCommand"; +import { + UpdateBotRecommendationCommand, + UpdateBotRecommendationCommandInput, + UpdateBotRecommendationCommandOutput, +} from "./commands/UpdateBotRecommendationCommand"; import { UpdateExportCommand, UpdateExportCommandInput, @@ -1168,6 +1198,42 @@ export class LexModelsV2 extends LexModelsV2Client { } } + /** + *

                                                        Provides metadata information about a bot recommendation. This + * information will enable you to get a description on the request inputs, + * to download associated transcripts after processing is complete, and to + * download intents and slot-types generated by the bot + * recommendation.

                                                        + */ + public describeBotRecommendation( + args: DescribeBotRecommendationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeBotRecommendation( + args: DescribeBotRecommendationCommandInput, + cb: (err: any, data?: DescribeBotRecommendationCommandOutput) => void + ): void; + public describeBotRecommendation( + args: DescribeBotRecommendationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeBotRecommendationCommandOutput) => void + ): void; + public describeBotRecommendation( + args: DescribeBotRecommendationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeBotRecommendationCommandOutput) => void), + cb?: (err: any, data?: DescribeBotRecommendationCommandOutput) => void + ): Promise | void { + const command = new DescribeBotRecommendationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 metadata about a version of a bot.

                                                        */ @@ -1510,6 +1576,39 @@ export class LexModelsV2 extends LexModelsV2Client { } } + /** + *

                                                        Get a list of bot recommendations that meet the specified + * criteria.

                                                        + */ + public listBotRecommendations( + args: ListBotRecommendationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listBotRecommendations( + args: ListBotRecommendationsCommandInput, + cb: (err: any, data?: ListBotRecommendationsCommandOutput) => void + ): void; + public listBotRecommendations( + args: ListBotRecommendationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListBotRecommendationsCommandOutput) => void + ): void; + public listBotRecommendations( + args: ListBotRecommendationsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListBotRecommendationsCommandOutput) => void), + cb?: (err: any, data?: ListBotRecommendationsCommandOutput) => void + ): Promise | void { + const command = new ListBotRecommendationsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 available bots.

                                                        */ @@ -1725,6 +1824,39 @@ export class LexModelsV2 extends LexModelsV2Client { } } + /** + *

                                                        Gets a list of recommended intents provided by the bot + * recommendation that you can use in your bot.

                                                        + */ + public listRecommendedIntents( + args: ListRecommendedIntentsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listRecommendedIntents( + args: ListRecommendedIntentsCommandInput, + cb: (err: any, data?: ListRecommendedIntentsCommandOutput) => void + ): void; + public listRecommendedIntents( + args: ListRecommendedIntentsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListRecommendedIntentsCommandOutput) => void + ): void; + public listRecommendedIntents( + args: ListRecommendedIntentsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListRecommendedIntentsCommandOutput) => void), + cb?: (err: any, data?: ListRecommendedIntentsCommandOutput) => void + ): Promise | void { + const command = new ListRecommendedIntentsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 slots that match the specified criteria.

                                                        */ @@ -1816,6 +1948,72 @@ export class LexModelsV2 extends LexModelsV2Client { } } + /** + *

                                                        Search for associated transcripts that meet the specified + * criteria.

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

                                                        Use this to provide your transcript data, and to start the bot + * recommendation process.

                                                        + */ + public startBotRecommendation( + args: StartBotRecommendationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startBotRecommendation( + args: StartBotRecommendationCommandInput, + cb: (err: any, data?: StartBotRecommendationCommandOutput) => void + ): void; + public startBotRecommendation( + args: StartBotRecommendationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartBotRecommendationCommandOutput) => void + ): void; + public startBotRecommendation( + args: StartBotRecommendationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartBotRecommendationCommandOutput) => void), + cb?: (err: any, data?: StartBotRecommendationCommandOutput) => void + ): Promise | void { + const command = new StartBotRecommendationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 importing a bot or bot locale from a zip archive that you * uploaded to an S3 bucket.

                                                        @@ -1993,6 +2191,38 @@ export class LexModelsV2 extends LexModelsV2Client { } } + /** + *

                                                        Updates an existing bot recommendation request.

                                                        + */ + public updateBotRecommendation( + args: UpdateBotRecommendationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateBotRecommendation( + args: UpdateBotRecommendationCommandInput, + cb: (err: any, data?: UpdateBotRecommendationCommandOutput) => void + ): void; + public updateBotRecommendation( + args: UpdateBotRecommendationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateBotRecommendationCommandOutput) => void + ): void; + public updateBotRecommendation( + args: UpdateBotRecommendationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateBotRecommendationCommandOutput) => void), + cb?: (err: any, data?: UpdateBotRecommendationCommandOutput) => void + ): Promise | void { + const command = new UpdateBotRecommendationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 password used to protect an export zip archive.

                                                        *

                                                        The password is not required. If you don't supply a password, Amazon Lex diff --git a/clients/client-lex-models-v2/src/LexModelsV2Client.ts b/clients/client-lex-models-v2/src/LexModelsV2Client.ts index b0907bb77abf..e715f13073d6 100644 --- a/clients/client-lex-models-v2/src/LexModelsV2Client.ts +++ b/clients/client-lex-models-v2/src/LexModelsV2Client.ts @@ -88,6 +88,10 @@ import { DeleteUtterancesCommandInput, DeleteUtterancesCommandOutput } from "./c import { DescribeBotAliasCommandInput, DescribeBotAliasCommandOutput } from "./commands/DescribeBotAliasCommand"; import { DescribeBotCommandInput, DescribeBotCommandOutput } from "./commands/DescribeBotCommand"; import { DescribeBotLocaleCommandInput, DescribeBotLocaleCommandOutput } from "./commands/DescribeBotLocaleCommand"; +import { + DescribeBotRecommendationCommandInput, + DescribeBotRecommendationCommandOutput, +} from "./commands/DescribeBotRecommendationCommand"; import { DescribeBotVersionCommandInput, DescribeBotVersionCommandOutput } from "./commands/DescribeBotVersionCommand"; import { DescribeExportCommandInput, DescribeExportCommandOutput } from "./commands/DescribeExportCommand"; import { DescribeImportCommandInput, DescribeImportCommandOutput } from "./commands/DescribeImportCommand"; @@ -104,6 +108,10 @@ import { } from "./commands/ListAggregatedUtterancesCommand"; import { ListBotAliasesCommandInput, ListBotAliasesCommandOutput } from "./commands/ListBotAliasesCommand"; import { ListBotLocalesCommandInput, ListBotLocalesCommandOutput } from "./commands/ListBotLocalesCommand"; +import { + ListBotRecommendationsCommandInput, + ListBotRecommendationsCommandOutput, +} from "./commands/ListBotRecommendationsCommand"; import { ListBotsCommandInput, ListBotsCommandOutput } from "./commands/ListBotsCommand"; import { ListBotVersionsCommandInput, ListBotVersionsCommandOutput } from "./commands/ListBotVersionsCommand"; import { ListBuiltInIntentsCommandInput, ListBuiltInIntentsCommandOutput } from "./commands/ListBuiltInIntentsCommand"; @@ -114,18 +122,34 @@ import { import { ListExportsCommandInput, ListExportsCommandOutput } from "./commands/ListExportsCommand"; import { ListImportsCommandInput, ListImportsCommandOutput } from "./commands/ListImportsCommand"; import { ListIntentsCommandInput, ListIntentsCommandOutput } from "./commands/ListIntentsCommand"; +import { + ListRecommendedIntentsCommandInput, + ListRecommendedIntentsCommandOutput, +} from "./commands/ListRecommendedIntentsCommand"; import { ListSlotsCommandInput, ListSlotsCommandOutput } from "./commands/ListSlotsCommand"; import { ListSlotTypesCommandInput, ListSlotTypesCommandOutput } from "./commands/ListSlotTypesCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + SearchAssociatedTranscriptsCommandInput, + SearchAssociatedTranscriptsCommandOutput, +} from "./commands/SearchAssociatedTranscriptsCommand"; +import { + StartBotRecommendationCommandInput, + StartBotRecommendationCommandOutput, +} from "./commands/StartBotRecommendationCommand"; import { StartImportCommandInput, StartImportCommandOutput } from "./commands/StartImportCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateBotAliasCommandInput, UpdateBotAliasCommandOutput } from "./commands/UpdateBotAliasCommand"; import { UpdateBotCommandInput, UpdateBotCommandOutput } from "./commands/UpdateBotCommand"; import { UpdateBotLocaleCommandInput, UpdateBotLocaleCommandOutput } from "./commands/UpdateBotLocaleCommand"; +import { + UpdateBotRecommendationCommandInput, + UpdateBotRecommendationCommandOutput, +} from "./commands/UpdateBotRecommendationCommand"; import { UpdateExportCommandInput, UpdateExportCommandOutput } from "./commands/UpdateExportCommand"; import { UpdateIntentCommandInput, UpdateIntentCommandOutput } from "./commands/UpdateIntentCommand"; import { @@ -164,6 +188,7 @@ export type ServiceInputTypes = | DescribeBotAliasCommandInput | DescribeBotCommandInput | DescribeBotLocaleCommandInput + | DescribeBotRecommendationCommandInput | DescribeBotVersionCommandInput | DescribeExportCommandInput | DescribeImportCommandInput @@ -174,6 +199,7 @@ export type ServiceInputTypes = | ListAggregatedUtterancesCommandInput | ListBotAliasesCommandInput | ListBotLocalesCommandInput + | ListBotRecommendationsCommandInput | ListBotVersionsCommandInput | ListBotsCommandInput | ListBuiltInIntentsCommandInput @@ -181,15 +207,19 @@ export type ServiceInputTypes = | ListExportsCommandInput | ListImportsCommandInput | ListIntentsCommandInput + | ListRecommendedIntentsCommandInput | ListSlotTypesCommandInput | ListSlotsCommandInput | ListTagsForResourceCommandInput + | SearchAssociatedTranscriptsCommandInput + | StartBotRecommendationCommandInput | StartImportCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateBotAliasCommandInput | UpdateBotCommandInput | UpdateBotLocaleCommandInput + | UpdateBotRecommendationCommandInput | UpdateExportCommandInput | UpdateIntentCommandInput | UpdateResourcePolicyCommandInput @@ -224,6 +254,7 @@ export type ServiceOutputTypes = | DescribeBotAliasCommandOutput | DescribeBotCommandOutput | DescribeBotLocaleCommandOutput + | DescribeBotRecommendationCommandOutput | DescribeBotVersionCommandOutput | DescribeExportCommandOutput | DescribeImportCommandOutput @@ -234,6 +265,7 @@ export type ServiceOutputTypes = | ListAggregatedUtterancesCommandOutput | ListBotAliasesCommandOutput | ListBotLocalesCommandOutput + | ListBotRecommendationsCommandOutput | ListBotVersionsCommandOutput | ListBotsCommandOutput | ListBuiltInIntentsCommandOutput @@ -241,15 +273,19 @@ export type ServiceOutputTypes = | ListExportsCommandOutput | ListImportsCommandOutput | ListIntentsCommandOutput + | ListRecommendedIntentsCommandOutput | ListSlotTypesCommandOutput | ListSlotsCommandOutput | ListTagsForResourceCommandOutput + | SearchAssociatedTranscriptsCommandOutput + | StartBotRecommendationCommandOutput | StartImportCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateBotAliasCommandOutput | UpdateBotCommandOutput | UpdateBotLocaleCommandOutput + | UpdateBotRecommendationCommandOutput | UpdateExportCommandOutput | UpdateIntentCommandOutput | UpdateResourcePolicyCommandOutput diff --git a/clients/client-lex-models-v2/src/commands/DescribeBotRecommendationCommand.ts b/clients/client-lex-models-v2/src/commands/DescribeBotRecommendationCommand.ts new file mode 100644 index 000000000000..6e262275a8aa --- /dev/null +++ b/clients/client-lex-models-v2/src/commands/DescribeBotRecommendationCommand.ts @@ -0,0 +1,102 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LexModelsV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LexModelsV2Client"; +import { DescribeBotRecommendationRequest, DescribeBotRecommendationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeBotRecommendationCommand, + serializeAws_restJson1DescribeBotRecommendationCommand, +} from "../protocols/Aws_restJson1"; + +export interface DescribeBotRecommendationCommandInput extends DescribeBotRecommendationRequest {} +export interface DescribeBotRecommendationCommandOutput extends DescribeBotRecommendationResponse, __MetadataBearer {} + +/** + *

                                                        Provides metadata information about a bot recommendation. This + * information will enable you to get a description on the request inputs, + * to download associated transcripts after processing is complete, and to + * download intents and slot-types generated by the bot + * recommendation.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LexModelsV2Client, DescribeBotRecommendationCommand } from "@aws-sdk/client-lex-models-v2"; // ES Modules import + * // const { LexModelsV2Client, DescribeBotRecommendationCommand } = require("@aws-sdk/client-lex-models-v2"); // CommonJS import + * const client = new LexModelsV2Client(config); + * const command = new DescribeBotRecommendationCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeBotRecommendationCommandInput} for command's `input` shape. + * @see {@link DescribeBotRecommendationCommandOutput} for command's `response` shape. + * @see {@link LexModelsV2ClientResolvedConfig | config} for LexModelsV2Client's `config` shape. + * + */ +export class DescribeBotRecommendationCommand extends $Command< + DescribeBotRecommendationCommandInput, + DescribeBotRecommendationCommandOutput, + LexModelsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeBotRecommendationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LexModelsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LexModelsV2Client"; + const commandName = "DescribeBotRecommendationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeBotRecommendationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeBotRecommendationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeBotRecommendationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeBotRecommendationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeBotRecommendationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lex-models-v2/src/commands/ListBotRecommendationsCommand.ts b/clients/client-lex-models-v2/src/commands/ListBotRecommendationsCommand.ts new file mode 100644 index 000000000000..421b7f2ed506 --- /dev/null +++ b/clients/client-lex-models-v2/src/commands/ListBotRecommendationsCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LexModelsV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LexModelsV2Client"; +import { ListBotRecommendationsRequest, ListBotRecommendationsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListBotRecommendationsCommand, + serializeAws_restJson1ListBotRecommendationsCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListBotRecommendationsCommandInput extends ListBotRecommendationsRequest {} +export interface ListBotRecommendationsCommandOutput extends ListBotRecommendationsResponse, __MetadataBearer {} + +/** + *

                                                        Get a list of bot recommendations that meet the specified + * criteria.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LexModelsV2Client, ListBotRecommendationsCommand } from "@aws-sdk/client-lex-models-v2"; // ES Modules import + * // const { LexModelsV2Client, ListBotRecommendationsCommand } = require("@aws-sdk/client-lex-models-v2"); // CommonJS import + * const client = new LexModelsV2Client(config); + * const command = new ListBotRecommendationsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListBotRecommendationsCommandInput} for command's `input` shape. + * @see {@link ListBotRecommendationsCommandOutput} for command's `response` shape. + * @see {@link LexModelsV2ClientResolvedConfig | config} for LexModelsV2Client's `config` shape. + * + */ +export class ListBotRecommendationsCommand extends $Command< + ListBotRecommendationsCommandInput, + ListBotRecommendationsCommandOutput, + LexModelsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListBotRecommendationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LexModelsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LexModelsV2Client"; + const commandName = "ListBotRecommendationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListBotRecommendationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListBotRecommendationsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListBotRecommendationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListBotRecommendationsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListBotRecommendationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lex-models-v2/src/commands/ListRecommendedIntentsCommand.ts b/clients/client-lex-models-v2/src/commands/ListRecommendedIntentsCommand.ts new file mode 100644 index 000000000000..da829c3cc6e7 --- /dev/null +++ b/clients/client-lex-models-v2/src/commands/ListRecommendedIntentsCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LexModelsV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LexModelsV2Client"; +import { ListRecommendedIntentsRequest, ListRecommendedIntentsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListRecommendedIntentsCommand, + serializeAws_restJson1ListRecommendedIntentsCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListRecommendedIntentsCommandInput extends ListRecommendedIntentsRequest {} +export interface ListRecommendedIntentsCommandOutput extends ListRecommendedIntentsResponse, __MetadataBearer {} + +/** + *

                                                        Gets a list of recommended intents provided by the bot + * recommendation that you can use in your bot.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LexModelsV2Client, ListRecommendedIntentsCommand } from "@aws-sdk/client-lex-models-v2"; // ES Modules import + * // const { LexModelsV2Client, ListRecommendedIntentsCommand } = require("@aws-sdk/client-lex-models-v2"); // CommonJS import + * const client = new LexModelsV2Client(config); + * const command = new ListRecommendedIntentsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListRecommendedIntentsCommandInput} for command's `input` shape. + * @see {@link ListRecommendedIntentsCommandOutput} for command's `response` shape. + * @see {@link LexModelsV2ClientResolvedConfig | config} for LexModelsV2Client's `config` shape. + * + */ +export class ListRecommendedIntentsCommand extends $Command< + ListRecommendedIntentsCommandInput, + ListRecommendedIntentsCommandOutput, + LexModelsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListRecommendedIntentsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LexModelsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LexModelsV2Client"; + const commandName = "ListRecommendedIntentsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListRecommendedIntentsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListRecommendedIntentsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListRecommendedIntentsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListRecommendedIntentsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListRecommendedIntentsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lex-models-v2/src/commands/SearchAssociatedTranscriptsCommand.ts b/clients/client-lex-models-v2/src/commands/SearchAssociatedTranscriptsCommand.ts new file mode 100644 index 000000000000..fd318d1708e8 --- /dev/null +++ b/clients/client-lex-models-v2/src/commands/SearchAssociatedTranscriptsCommand.ts @@ -0,0 +1,101 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LexModelsV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LexModelsV2Client"; +import { SearchAssociatedTranscriptsRequest, SearchAssociatedTranscriptsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1SearchAssociatedTranscriptsCommand, + serializeAws_restJson1SearchAssociatedTranscriptsCommand, +} from "../protocols/Aws_restJson1"; + +export interface SearchAssociatedTranscriptsCommandInput extends SearchAssociatedTranscriptsRequest {} +export interface SearchAssociatedTranscriptsCommandOutput + extends SearchAssociatedTranscriptsResponse, + __MetadataBearer {} + +/** + *

                                                        Search for associated transcripts that meet the specified + * criteria.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LexModelsV2Client, SearchAssociatedTranscriptsCommand } from "@aws-sdk/client-lex-models-v2"; // ES Modules import + * // const { LexModelsV2Client, SearchAssociatedTranscriptsCommand } = require("@aws-sdk/client-lex-models-v2"); // CommonJS import + * const client = new LexModelsV2Client(config); + * const command = new SearchAssociatedTranscriptsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link SearchAssociatedTranscriptsCommandInput} for command's `input` shape. + * @see {@link SearchAssociatedTranscriptsCommandOutput} for command's `response` shape. + * @see {@link LexModelsV2ClientResolvedConfig | config} for LexModelsV2Client's `config` shape. + * + */ +export class SearchAssociatedTranscriptsCommand extends $Command< + SearchAssociatedTranscriptsCommandInput, + SearchAssociatedTranscriptsCommandOutput, + LexModelsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: SearchAssociatedTranscriptsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LexModelsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LexModelsV2Client"; + const commandName = "SearchAssociatedTranscriptsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: SearchAssociatedTranscriptsRequest.filterSensitiveLog, + outputFilterSensitiveLog: SearchAssociatedTranscriptsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: SearchAssociatedTranscriptsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1SearchAssociatedTranscriptsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1SearchAssociatedTranscriptsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lex-models-v2/src/commands/StartBotRecommendationCommand.ts b/clients/client-lex-models-v2/src/commands/StartBotRecommendationCommand.ts new file mode 100644 index 000000000000..d36515132657 --- /dev/null +++ b/clients/client-lex-models-v2/src/commands/StartBotRecommendationCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LexModelsV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LexModelsV2Client"; +import { StartBotRecommendationRequest, StartBotRecommendationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StartBotRecommendationCommand, + serializeAws_restJson1StartBotRecommendationCommand, +} from "../protocols/Aws_restJson1"; + +export interface StartBotRecommendationCommandInput extends StartBotRecommendationRequest {} +export interface StartBotRecommendationCommandOutput extends StartBotRecommendationResponse, __MetadataBearer {} + +/** + *

                                                        Use this to provide your transcript data, and to start the bot + * recommendation process.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LexModelsV2Client, StartBotRecommendationCommand } from "@aws-sdk/client-lex-models-v2"; // ES Modules import + * // const { LexModelsV2Client, StartBotRecommendationCommand } = require("@aws-sdk/client-lex-models-v2"); // CommonJS import + * const client = new LexModelsV2Client(config); + * const command = new StartBotRecommendationCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartBotRecommendationCommandInput} for command's `input` shape. + * @see {@link StartBotRecommendationCommandOutput} for command's `response` shape. + * @see {@link LexModelsV2ClientResolvedConfig | config} for LexModelsV2Client's `config` shape. + * + */ +export class StartBotRecommendationCommand extends $Command< + StartBotRecommendationCommandInput, + StartBotRecommendationCommandOutput, + LexModelsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartBotRecommendationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LexModelsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LexModelsV2Client"; + const commandName = "StartBotRecommendationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartBotRecommendationRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartBotRecommendationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartBotRecommendationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1StartBotRecommendationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1StartBotRecommendationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lex-models-v2/src/commands/UpdateBotRecommendationCommand.ts b/clients/client-lex-models-v2/src/commands/UpdateBotRecommendationCommand.ts new file mode 100644 index 000000000000..ced63f27221d --- /dev/null +++ b/clients/client-lex-models-v2/src/commands/UpdateBotRecommendationCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LexModelsV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LexModelsV2Client"; +import { UpdateBotRecommendationRequest, UpdateBotRecommendationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateBotRecommendationCommand, + serializeAws_restJson1UpdateBotRecommendationCommand, +} from "../protocols/Aws_restJson1"; + +export interface UpdateBotRecommendationCommandInput extends UpdateBotRecommendationRequest {} +export interface UpdateBotRecommendationCommandOutput extends UpdateBotRecommendationResponse, __MetadataBearer {} + +/** + *

                                                        Updates an existing bot recommendation request.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LexModelsV2Client, UpdateBotRecommendationCommand } from "@aws-sdk/client-lex-models-v2"; // ES Modules import + * // const { LexModelsV2Client, UpdateBotRecommendationCommand } = require("@aws-sdk/client-lex-models-v2"); // CommonJS import + * const client = new LexModelsV2Client(config); + * const command = new UpdateBotRecommendationCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateBotRecommendationCommandInput} for command's `input` shape. + * @see {@link UpdateBotRecommendationCommandOutput} for command's `response` shape. + * @see {@link LexModelsV2ClientResolvedConfig | config} for LexModelsV2Client's `config` shape. + * + */ +export class UpdateBotRecommendationCommand extends $Command< + UpdateBotRecommendationCommandInput, + UpdateBotRecommendationCommandOutput, + LexModelsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateBotRecommendationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LexModelsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LexModelsV2Client"; + const commandName = "UpdateBotRecommendationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateBotRecommendationRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateBotRecommendationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateBotRecommendationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateBotRecommendationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateBotRecommendationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lex-models-v2/src/commands/index.ts b/clients/client-lex-models-v2/src/commands/index.ts index 7eb17e0d1925..acb544aca883 100644 --- a/clients/client-lex-models-v2/src/commands/index.ts +++ b/clients/client-lex-models-v2/src/commands/index.ts @@ -25,6 +25,7 @@ export * from "./DeleteUtterancesCommand"; export * from "./DescribeBotAliasCommand"; export * from "./DescribeBotCommand"; export * from "./DescribeBotLocaleCommand"; +export * from "./DescribeBotRecommendationCommand"; export * from "./DescribeBotVersionCommand"; export * from "./DescribeExportCommand"; export * from "./DescribeImportCommand"; @@ -35,6 +36,7 @@ export * from "./DescribeSlotTypeCommand"; export * from "./ListAggregatedUtterancesCommand"; export * from "./ListBotAliasesCommand"; export * from "./ListBotLocalesCommand"; +export * from "./ListBotRecommendationsCommand"; export * from "./ListBotVersionsCommand"; export * from "./ListBotsCommand"; export * from "./ListBuiltInIntentsCommand"; @@ -42,15 +44,19 @@ export * from "./ListBuiltInSlotTypesCommand"; export * from "./ListExportsCommand"; export * from "./ListImportsCommand"; export * from "./ListIntentsCommand"; +export * from "./ListRecommendedIntentsCommand"; export * from "./ListSlotTypesCommand"; export * from "./ListSlotsCommand"; export * from "./ListTagsForResourceCommand"; +export * from "./SearchAssociatedTranscriptsCommand"; +export * from "./StartBotRecommendationCommand"; export * from "./StartImportCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateBotAliasCommand"; export * from "./UpdateBotCommand"; export * from "./UpdateBotLocaleCommand"; +export * from "./UpdateBotRecommendationCommand"; export * from "./UpdateExportCommand"; export * from "./UpdateIntentCommand"; export * from "./UpdateResourcePolicyCommand"; diff --git a/clients/client-lex-models-v2/src/models/models_0.ts b/clients/client-lex-models-v2/src/models/models_0.ts index ee23beda4039..e20b05187d46 100644 --- a/clients/client-lex-models-v2/src/models/models_0.ts +++ b/clients/client-lex-models-v2/src/models/models_0.ts @@ -138,6 +138,58 @@ export namespace AggregatedUtterancesSummary { }); } +/** + *

                                                        The object containing information that associates the recommended + * intent/slot type with a conversation.

                                                        + */ +export interface AssociatedTranscript { + /** + *

                                                        The content of the transcript that meets the search filter criteria. + * For the JSON format of the transcript, see Output transcript + * format.

                                                        + */ + transcript?: string; +} + +export namespace AssociatedTranscript { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociatedTranscript): any => ({ + ...obj, + }); +} + +export enum AssociatedTranscriptFilterName { + IntentId = "IntentId", + SlotTypeId = "SlotTypeId", +} + +/** + *

                                                        Filters to search for the associated transcript.

                                                        + */ +export interface AssociatedTranscriptFilter { + /** + *

                                                        The name of the field to use for filtering. The allowed names are + * IntentId and SlotTypeId.

                                                        + */ + name: AssociatedTranscriptFilterName | string | undefined; + + /** + *

                                                        The values to use to filter the transcript.

                                                        + */ + values: string[] | undefined; +} + +export namespace AssociatedTranscriptFilter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociatedTranscriptFilter): any => ({ + ...obj, + }); +} + /** *

                                                        Specifies an Amazon S3 bucket for logging audio conversations

                                                        */ @@ -803,6 +855,7 @@ export enum BotLocaleStatus { Failed = "Failed", Importing = "Importing", NotBuilt = "NotBuilt", + Processing = "Processing", ReadyExpressTesting = "ReadyExpressTesting", } @@ -853,6 +906,154 @@ export namespace BotLocaleSummary { }); } +/** + *

                                                        The object that contains the statistical summary of recommended + * intents associated with the bot recommendation.

                                                        + */ +export interface IntentStatistics { + /** + *

                                                        The number of recommended intents associated with the bot + * recommendation.

                                                        + */ + discoveredIntentCount?: number; +} + +export namespace IntentStatistics { + /** + * @internal + */ + export const filterSensitiveLog = (obj: IntentStatistics): any => ({ + ...obj, + }); +} + +/** + *

                                                        The object that contains the statistical summary of the recommended + * slot type associated with the bot recommendation.

                                                        + */ +export interface SlotTypeStatistics { + /** + *

                                                        The number of recommended slot types associated with the bot + * recommendation.

                                                        + */ + discoveredSlotTypeCount?: number; +} + +export namespace SlotTypeStatistics { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SlotTypeStatistics): any => ({ + ...obj, + }); +} + +/** + *

                                                        A statistical summary of the bot recommendation results.

                                                        + */ +export interface BotRecommendationResultStatistics { + /** + *

                                                        Statistical information about about the intents associated with the + * bot recommendation results.

                                                        + */ + intents?: IntentStatistics; + + /** + *

                                                        Statistical information about the slot types associated with the bot + * recommendation results.

                                                        + */ + slotTypes?: SlotTypeStatistics; +} + +export namespace BotRecommendationResultStatistics { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BotRecommendationResultStatistics): any => ({ + ...obj, + }); +} + +/** + *

                                                        The object representing the URL of the bot definition, the URL of + * the associated transcript and a statistical summary of the bot + * recommendation results.

                                                        + */ +export interface BotRecommendationResults { + /** + *

                                                        The presigned URL link of the recommended bot definition.

                                                        + */ + botLocaleExportUrl?: string; + + /** + *

                                                        The presigned url link of the associated transcript.

                                                        + */ + associatedTranscriptsUrl?: string; + + /** + *

                                                        The statistical summary of the bot recommendation results.

                                                        + */ + statistics?: BotRecommendationResultStatistics; +} + +export namespace BotRecommendationResults { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BotRecommendationResults): any => ({ + ...obj, + }); +} + +export enum BotRecommendationStatus { + Available = "Available", + Deleted = "Deleted", + Deleting = "Deleting", + Downloading = "Downloading", + Failed = "Failed", + Processing = "Processing", + Updating = "Updating", +} + +/** + *

                                                        A summary of the bot recommendation.

                                                        + */ +export interface BotRecommendationSummary { + /** + *

                                                        The status of the bot recommendation.

                                                        + *

                                                        If the status is Failed, then the reasons for the failure are listed + * in the failureReasons field.

                                                        + */ + botRecommendationStatus: BotRecommendationStatus | string | undefined; + + /** + *

                                                        The unique identifier of the bot recommendation to be + * updated.

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

                                                        A timestamp of the date and time that the bot recommendation was + * created.

                                                        + */ + creationDateTime?: Date; + + /** + *

                                                        A timestamp of the date and time that the bot recommendation was + * last updated.

                                                        + */ + lastUpdatedDateTime?: Date; +} + +export namespace BotRecommendationSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BotRecommendationSummary): any => ({ + ...obj, + }); +} + export enum BotSortAttribute { BotName = "BotName", } @@ -3789,6 +3990,33 @@ export namespace CreateUploadUrlResponse { }); } +/** + *

                                                        The object used for specifying the data range that the customer + * wants Amazon Lex to read through in the input transcripts.

                                                        + */ +export interface DateRangeFilter { + /** + *

                                                        A timestamp indicating the start date for the date range + * filter.

                                                        + */ + startDateTime: Date | undefined; + + /** + *

                                                        A timestamp indicating the end date for the date range + * filter.

                                                        + */ + endDateTime: Date | undefined; +} + +export namespace DateRangeFilter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DateRangeFilter): any => ({ + ...obj, + }); +} + export interface DeleteBotRequest { /** *

                                                        The identifier of the bot to delete.

                                                        @@ -4658,173 +4886,464 @@ export namespace DescribeBotLocaleResponse { }); } -export interface DescribeBotVersionRequest { +export interface DescribeBotRecommendationRequest { /** - *

                                                        The identifier of the bot containing the version to return metadata - * for.

                                                        + *

                                                        The unique identifier of the bot associated with the bot + * recommendation.

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

                                                        The version of the bot to return metadata for.

                                                        + *

                                                        The version of the bot associated with the bot + * recommendation.

                                                        */ botVersion: string | undefined; -} - -export namespace DescribeBotVersionRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeBotVersionRequest): any => ({ - ...obj, - }); -} -export interface DescribeBotVersionResponse { /** - *

                                                        The identifier of the bot that contains the version.

                                                        + *

                                                        The identifier of the language and locale of the bot recommendation + * to describe. The string must match one of the supported locales. For + * more information, see Supported languages.

                                                        */ - botId?: string; + localeId: string | undefined; /** - *

                                                        The name of the bot that contains the version.

                                                        + *

                                                        The identifier of the bot recommendation to describe.

                                                        */ - botName?: string; + botRecommendationId: string | undefined; +} +export namespace DescribeBotRecommendationRequest { /** - *

                                                        The version of the bot to describe.

                                                        + * @internal */ - botVersion?: string; + export const filterSensitiveLog = (obj: DescribeBotRecommendationRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        The object representing the passwords that were used to encrypt the + * data related to the bot recommendation, as well as the KMS key ARN used + * to encrypt the associated metadata.

                                                        + */ +export interface EncryptionSetting { /** - *

                                                        The description specified for the bot.

                                                        + *

                                                        The KMS key ARN used to encrypt the metadata associated with the bot + * recommendation.

                                                        */ - description?: string; + kmsKeyArn?: string; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that has permission to - * access the bot version.

                                                        + *

                                                        The password used to encrypt the recommended bot recommendation + * file.

                                                        */ - roleArn?: string; + botLocaleExportPassword?: string; /** - *

                                                        Data privacy settings for the bot version.

                                                        + *

                                                        The password used to encrypt the associated transcript file.

                                                        */ - dataPrivacy?: DataPrivacy; + associatedTranscriptsPassword?: string; +} +export namespace EncryptionSetting { /** - *

                                                        The number of seconds that a session with the bot remains active - * before it is discarded by Amazon Lex.

                                                        + * @internal */ - idleSessionTTLInSeconds?: number; + export const filterSensitiveLog = (obj: EncryptionSetting): any => ({ + ...obj, + ...(obj.botLocaleExportPassword && { botLocaleExportPassword: SENSITIVE_STRING }), + ...(obj.associatedTranscriptsPassword && { associatedTranscriptsPassword: SENSITIVE_STRING }), + }); +} +/** + *

                                                        The object that contains a path format that will be applied when + * Amazon Lex reads the transcript file in the bucket you provide. Specify this + * object if you only want Lex to read a subset of files in your Amazon S3 + * bucket.

                                                        + */ +export interface PathFormat { /** - *

                                                        The current status of the bot. When the status is - * Available, the bot version is ready for use.

                                                        + *

                                                        A list of Amazon S3 prefixes that points to sub-folders in the Amazon S3 + * bucket. Specify this list if you only want Lex to read the files under + * this set of sub-folders.

                                                        */ - botStatus?: BotStatus | string; + objectPrefixes?: string[]; +} +export namespace PathFormat { /** - *

                                                        If the botStatus is Failed, this contains - * a list of reasons that the version couldn't be built.

                                                        + * @internal */ - failureReasons?: string[]; + export const filterSensitiveLog = (obj: PathFormat): any => ({ + ...obj, + }); +} +/** + *

                                                        The object that contains transcript filter details that are + * associated with a bot recommendation.

                                                        + */ +export interface LexTranscriptFilter { /** - *

                                                        A timestamp of the date and time that the bot version was - * created.

                                                        + *

                                                        The object that contains a date range filter that will be applied to + * the transcript. Specify this object if you want Amazon Lex to only read the + * files that are within the date range.

                                                        */ - creationDateTime?: Date; + dateRangeFilter?: DateRangeFilter; } -export namespace DescribeBotVersionResponse { +export namespace LexTranscriptFilter { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeBotVersionResponse): any => ({ + export const filterSensitiveLog = (obj: LexTranscriptFilter): any => ({ ...obj, }); } -export interface DescribeExportRequest { +/** + *

                                                        The object representing the filter that Amazon Lex will use to select the + * appropriate transcript.

                                                        + */ +export interface TranscriptFilter { /** - *

                                                        The unique identifier of the export to describe.

                                                        + *

                                                        The object representing the filter that Amazon Lex will use to select the + * appropriate transcript when the transcript format is the Amazon Lex + * format.

                                                        */ - exportId: string | undefined; + lexTranscriptFilter?: LexTranscriptFilter; } -export namespace DescribeExportRequest { +export namespace TranscriptFilter { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeExportRequest): any => ({ + export const filterSensitiveLog = (obj: TranscriptFilter): any => ({ ...obj, }); } -export interface DescribeExportResponse { - /** - *

                                                        The unique identifier of the described export.

                                                        - */ - exportId?: string; +export enum TranscriptFormat { + Lex = "Lex", +} +/** + *

                                                        The object representing the Amazon S3 bucket containing the transcript, + * as well as the associated metadata.

                                                        + */ +export interface S3BucketTranscriptSource { /** - *

                                                        The bot, bot ID, and optional locale ID of the exported bot or bot - * locale.

                                                        + *

                                                        The name of the bucket containing the transcript and the associated + * metadata.

                                                        */ - resourceSpecification?: ExportResourceSpecification; + s3BucketName: string | undefined; /** - *

                                                        The file format used in the files that describe the bot or bot - * locale.

                                                        + *

                                                        The object that contains a path format that will be applied when + * Amazon Lex reads the transcript file in the bucket you provide. Specify this + * object if you only want Lex to read a subset of files in your Amazon S3 + * bucket.

                                                        */ - fileFormat?: ImportExportFileFormat | string; + pathFormat?: PathFormat; /** - *

                                                        The status of the export. When the status is Complete - * the export archive file is available for download.

                                                        + *

                                                        The format of the transcript content. Currently, Genie only supports + * the Amazon Lex transcript format.

                                                        */ - exportStatus?: ExportStatus | string; + transcriptFormat: TranscriptFormat | string | undefined; /** - *

                                                        If the exportStatus is failed, contains one or more - * reasons why the export could not be completed.

                                                        + *

                                                        The object that contains the filter which will be applied when Amazon Lex + * reads through the Amazon S3 bucket. Specify this object if you want Amazon Lex to + * read only a subset of the Amazon S3 bucket based on the filter you + * provide.

                                                        */ - failureReasons?: string[]; + transcriptFilter?: TranscriptFilter; /** - *

                                                        A pre-signed S3 URL that points to the bot or bot locale archive. - * The URL is only available for 5 minutes after calling the - * DescribeExport operation.

                                                        + *

                                                        The ARN of the KMS key that customer use to encrypt their Amazon S3 + * bucket. Only use this field if your bucket is encrypted using a + * customer managed KMS key.

                                                        */ - downloadUrl?: string; + kmsKeyArn?: string; +} +export namespace S3BucketTranscriptSource { /** - *

                                                        The date and time that the export was created.

                                                        + * @internal */ - creationDateTime?: Date; + export const filterSensitiveLog = (obj: S3BucketTranscriptSource): any => ({ + ...obj, + }); +} +/** + *

                                                        Indicates the setting of the location where the transcript is + * stored.

                                                        + */ +export interface TranscriptSourceSetting { /** - *

                                                        The last date and time that the export was updated.

                                                        + *

                                                        Indicates the setting of the Amazon S3 bucket where the transcript is + * stored.

                                                        */ - lastUpdatedDateTime?: Date; + s3BucketTranscriptSource?: S3BucketTranscriptSource; } -export namespace DescribeExportResponse { +export namespace TranscriptSourceSetting { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeExportResponse): any => ({ + export const filterSensitiveLog = (obj: TranscriptSourceSetting): any => ({ ...obj, }); } -export interface DescribeImportRequest { +export interface DescribeBotRecommendationResponse { /** - *

                                                        The unique identifier of the import to describe.

                                                        + *

                                                        The identifier of the bot associated with the bot + * recommendation.

                                                        */ - importId: string | undefined; -} + botId?: string; + + /** + *

                                                        The version of the bot associated with the bot + * recommendation.

                                                        + */ + botVersion?: string; + + /** + *

                                                        The identifier of the language and locale of the bot recommendation + * to describe.

                                                        + */ + localeId?: string; + + /** + *

                                                        The status of the bot recommendation. If the status is Failed, then + * the reasons for the failure are listed in the failureReasons field. + *

                                                        + */ + botRecommendationStatus?: BotRecommendationStatus | string; + + /** + *

                                                        The identifier of the bot recommendation being described.

                                                        + */ + botRecommendationId?: string; + + /** + *

                                                        If botRecommendationStatus is Failed, Amazon Lex explains why.

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

                                                        The date and time that the bot recommendation was created.

                                                        + */ + creationDateTime?: Date; + + /** + *

                                                        The date and time that the bot recommendation was last + * updated.

                                                        + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                        The object representing the Amazon S3 bucket containing the transcript, + * as well as the associated metadata.

                                                        + */ + transcriptSourceSetting?: TranscriptSourceSetting; + + /** + *

                                                        The object representing the passwords that were used to encrypt the + * data related to the bot recommendation results, as well as the KMS key + * ARN used to encrypt the associated metadata.

                                                        + */ + encryptionSetting?: EncryptionSetting; + + /** + *

                                                        The object representing the URL of the bot definition, the URL of + * the associated transcript and a statistical summary of the bot + * recommendation results.

                                                        + */ + botRecommendationResults?: BotRecommendationResults; +} + +export namespace DescribeBotRecommendationResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeBotRecommendationResponse): any => ({ + ...obj, + ...(obj.encryptionSetting && { encryptionSetting: EncryptionSetting.filterSensitiveLog(obj.encryptionSetting) }), + }); +} + +export interface DescribeBotVersionRequest { + /** + *

                                                        The identifier of the bot containing the version to return metadata + * for.

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

                                                        The version of the bot to return metadata for.

                                                        + */ + botVersion: string | undefined; +} + +export namespace DescribeBotVersionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeBotVersionRequest): any => ({ + ...obj, + }); +} + +export interface DescribeBotVersionResponse { + /** + *

                                                        The identifier of the bot that contains the version.

                                                        + */ + botId?: string; + + /** + *

                                                        The name of the bot that contains the version.

                                                        + */ + botName?: string; + + /** + *

                                                        The version of the bot to describe.

                                                        + */ + botVersion?: string; + + /** + *

                                                        The description specified for the bot.

                                                        + */ + description?: string; + + /** + *

                                                        The Amazon Resource Name (ARN) of an IAM role that has permission to + * access the bot version.

                                                        + */ + roleArn?: string; + + /** + *

                                                        Data privacy settings for the bot version.

                                                        + */ + dataPrivacy?: DataPrivacy; + + /** + *

                                                        The number of seconds that a session with the bot remains active + * before it is discarded by Amazon Lex.

                                                        + */ + idleSessionTTLInSeconds?: number; + + /** + *

                                                        The current status of the bot. When the status is + * Available, the bot version is ready for use.

                                                        + */ + botStatus?: BotStatus | string; + + /** + *

                                                        If the botStatus is Failed, this contains + * a list of reasons that the version couldn't be built.

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

                                                        A timestamp of the date and time that the bot version was + * created.

                                                        + */ + creationDateTime?: Date; +} + +export namespace DescribeBotVersionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeBotVersionResponse): any => ({ + ...obj, + }); +} + +export interface DescribeExportRequest { + /** + *

                                                        The unique identifier of the export to describe.

                                                        + */ + exportId: string | undefined; +} + +export namespace DescribeExportRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeExportRequest): any => ({ + ...obj, + }); +} + +export interface DescribeExportResponse { + /** + *

                                                        The unique identifier of the described export.

                                                        + */ + exportId?: string; + + /** + *

                                                        The bot, bot ID, and optional locale ID of the exported bot or bot + * locale.

                                                        + */ + resourceSpecification?: ExportResourceSpecification; + + /** + *

                                                        The file format used in the files that describe the bot or bot + * locale.

                                                        + */ + fileFormat?: ImportExportFileFormat | string; + + /** + *

                                                        The status of the export. When the status is Complete + * the export archive file is available for download.

                                                        + */ + exportStatus?: ExportStatus | string; + + /** + *

                                                        If the exportStatus is failed, contains one or more + * reasons why the export could not be completed.

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

                                                        A pre-signed S3 URL that points to the bot or bot locale archive. + * The URL is only available for 5 minutes after calling the + * DescribeExport operation.

                                                        + */ + downloadUrl?: string; + + /** + *

                                                        The date and time that the export was created.

                                                        + */ + creationDateTime?: Date; + + /** + *

                                                        The last date and time that the export was updated.

                                                        + */ + lastUpdatedDateTime?: Date; +} + +export namespace DescribeExportResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeExportResponse): any => ({ + ...obj, + }); +} + +export interface DescribeImportRequest { + /** + *

                                                        The unique identifier of the import to describe.

                                                        + */ + importId: string | undefined; +} export namespace DescribeImportRequest { /** @@ -4836,6 +5355,7 @@ export namespace DescribeImportRequest { } export enum MergeStrategy { + Append = "Append", FailOnConflict = "FailOnConflict", Overwrite = "Overwrite", } @@ -6156,65 +6676,156 @@ export namespace ListBotLocalesResponse { }); } -export interface ListBotsRequest { +export interface ListBotRecommendationsRequest { /** - *

                                                        Specifies sorting parameters for the list of bots. You can specify - * that the list be sorted by bot name in ascending or descending - * order.

                                                        + *

                                                        The unique identifier of the bot that contains the bot + * recommendation list.

                                                        */ - sortBy?: BotSortBy; + botId: string | undefined; /** - *

                                                        Provides the specification of a filter used to limit the bots in the - * response to only those that match the filter specification. You can - * only specify one filter and one string to filter on.

                                                        + *

                                                        The version of the bot that contains the bot recommendation + * list.

                                                        */ - filters?: BotFilter[]; + botVersion: string | undefined; /** - *

                                                        The maximum number of bots to return in each page of results. If - * there are fewer results than the maximum page size, only the actual - * number of results are returned.

                                                        + *

                                                        The identifier of the language and locale of the bot recommendation + * list.

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

                                                        The maximum number of bot recommendations to return in each page of + * results. If there are fewer results than the max page size, only the + * actual number of results are returned.

                                                        */ maxResults?: number; /** - *

                                                        If the response from the ListBots operation contains - * more results than specified in the maxResults parameter, a - * token is returned in the response. Use that token in the - * nextToken parameter to return the next page of - * results.

                                                        + *

                                                        If the response from the ListBotRecommendation operation contains + * more results than specified in the maxResults parameter, a token is + * returned in the response. Use that token in the nextToken parameter to + * return the next page of results.

                                                        */ nextToken?: string; } -export namespace ListBotsRequest { +export namespace ListBotRecommendationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListBotsRequest): any => ({ + export const filterSensitiveLog = (obj: ListBotRecommendationsRequest): any => ({ ...obj, }); } -export interface ListBotsResponse { +export interface ListBotRecommendationsResponse { /** - *

                                                        Summary information for the bots that meet the filter criteria - * specified in the request. The length of the list is specified in the - * maxResults parameter of the request. If there are more - * bots available, the nextToken field contains a token to - * the next page of results.

                                                        + *

                                                        The unique identifier of the bot that contains the bot + * recommendation list.

                                                        */ - botSummaries?: BotSummary[]; + botId?: string; /** - *

                                                        A token that indicates whether there are more results to return in a - * response to the ListBots operation. If the - * nextToken field is present, you send the contents as - * the nextToken parameter of a ListBots - * operation request to get the next page of results.

                                                        + *

                                                        The version of the bot that contains the bot recommendation + * list.

                                                        */ - nextToken?: string; + botVersion?: string; + + /** + *

                                                        The identifier of the language and locale of the bot recommendation + * list.

                                                        + */ + localeId?: string; + + /** + *

                                                        Summary information for the bot recommendations that meet the filter + * specified in this request. The length of the list is specified in the + * maxResults parameter of the request. If there are more bot + * recommendations available, the nextToken field contains a token to get + * the next page of results.

                                                        + */ + botRecommendationSummaries?: BotRecommendationSummary[]; + + /** + *

                                                        A token that indicates whether there are more results to return in a + * response to the ListBotRecommendations operation. If the nextToken + * field is present, you send the contents as the nextToken parameter of a + * ListBotRecommendations operation request to get the next page of + * results.

                                                        + */ + nextToken?: string; +} + +export namespace ListBotRecommendationsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListBotRecommendationsResponse): any => ({ + ...obj, + }); +} + +export interface ListBotsRequest { + /** + *

                                                        Specifies sorting parameters for the list of bots. You can specify + * that the list be sorted by bot name in ascending or descending + * order.

                                                        + */ + sortBy?: BotSortBy; + + /** + *

                                                        Provides the specification of a filter used to limit the bots in the + * response to only those that match the filter specification. You can + * only specify one filter and one string to filter on.

                                                        + */ + filters?: BotFilter[]; + + /** + *

                                                        The maximum number of bots to return in each page of results. If + * there are fewer results than the maximum page size, only the actual + * number of results are returned.

                                                        + */ + maxResults?: number; + + /** + *

                                                        If the response from the ListBots operation contains + * more results than specified in the maxResults parameter, a + * token is returned in the response. Use that token in the + * nextToken parameter to return the next page of + * results.

                                                        + */ + nextToken?: string; +} + +export namespace ListBotsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListBotsRequest): any => ({ + ...obj, + }); +} + +export interface ListBotsResponse { + /** + *

                                                        Summary information for the bots that meet the filter criteria + * specified in the request. The length of the list is specified in the + * maxResults parameter of the request. If there are more + * bots available, the nextToken field contains a token to + * the next page of results.

                                                        + */ + botSummaries?: BotSummary[]; + + /** + *

                                                        A token that indicates whether there are more results to return in a + * response to the ListBots operation. If the + * nextToken field is present, you send the contents as + * the nextToken parameter of a ListBots + * operation request to get the next page of results.

                                                        + */ + nextToken?: string; } export namespace ListBotsResponse { @@ -6735,6 +7346,140 @@ export namespace ListIntentsResponse { }); } +export interface ListRecommendedIntentsRequest { + /** + *

                                                        The unique identifier of the bot associated with the recommended + * intents.

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

                                                        The version of the bot that contains the recommended intents.

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

                                                        The identifier of the language and locale of the recommended + * intents.

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

                                                        The identifier of the bot recommendation that contains the + * recommended intents.

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

                                                        If the response from the ListRecommendedIntents operation contains + * more results than specified in the maxResults parameter, a token is + * returned in the response. Use that token in the nextToken parameter to + * return the next page of results.

                                                        + */ + nextToken?: string; + + /** + *

                                                        The maximum number of bot recommendations to return in each page of + * results. If there are fewer results than the max page size, only the + * actual number of results are returned.

                                                        + */ + maxResults?: number; +} + +export namespace ListRecommendedIntentsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListRecommendedIntentsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        An object that contains a summary of a recommended intent.

                                                        + */ +export interface RecommendedIntentSummary { + /** + *

                                                        The unique identifier of a recommended intent associated with the + * bot recommendation.

                                                        + */ + intentId?: string; + + /** + *

                                                        The name of a recommended intent associated with the bot + * recommendation.

                                                        + */ + intentName?: string; + + /** + *

                                                        The count of sample utterances of a recommended intent that is + * associated with a bot recommendation.

                                                        + */ + sampleUtterancesCount?: number; +} + +export namespace RecommendedIntentSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RecommendedIntentSummary): any => ({ + ...obj, + }); +} + +export interface ListRecommendedIntentsResponse { + /** + *

                                                        The unique identifier of the bot associated with the recommended + * intent.

                                                        + */ + botId?: string; + + /** + *

                                                        The version of the bot that contains the intent.

                                                        + */ + botVersion?: string; + + /** + *

                                                        The identifier of the language and locale of the intents to list. + * The string must match one of the supported locales. For more + * information, see Supported languages.

                                                        + */ + localeId?: string; + + /** + *

                                                        The identifier of the bot recommendation that contains the + * recommended intent.

                                                        + */ + botRecommendationId?: string; + + /** + *

                                                        Summary information for the intents that meet the filter criteria + * specified in the request. The length of the list is specified in the + * maxResults parameter of the request. If there are more intents + * available, the nextToken field contains a token to get the next page of + * results.

                                                        + */ + summaryList?: RecommendedIntentSummary[]; + + /** + *

                                                        A token that indicates whether there are more results to return in a + * response to the ListRecommendedIntents operation. If the nextToken + * field is present, you send the contents as the nextToken parameter of a + * ListRecommendedIntents operation request to get the next page of + * results.

                                                        + */ + nextToken?: string; +} + +export namespace ListRecommendedIntentsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListRecommendedIntentsResponse): any => ({ + ...obj, + }); +} + export enum SlotFilterName { SlotName = "SlotName", } @@ -7226,6 +7971,238 @@ export namespace ListTagsForResourceResponse { }); } +export enum SearchOrder { + Ascending = "Ascending", + Descending = "Descending", +} + +export interface SearchAssociatedTranscriptsRequest { + /** + *

                                                        The unique identifier of the bot associated with the transcripts + * that you are searching.

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

                                                        The version of the bot containing the transcripts that you are + * searching.

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

                                                        The identifier of the language and locale of the transcripts to + * search. The string must match one of the supported locales. For more + * information, see Supported languages + *

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

                                                        The unique identifier of the bot recommendation associated with the + * transcripts to search.

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

                                                        How SearchResults are ordered. Valid values are Ascending or + * Descending. The default is Descending.

                                                        + */ + searchOrder?: SearchOrder | string; + + /** + *

                                                        A list of filter objects.

                                                        + */ + filters: AssociatedTranscriptFilter[] | undefined; + + /** + *

                                                        The maximum number of bot recommendations to return in each page of + * results. If there are fewer results than the max page size, only the + * actual number of results are returned.

                                                        + */ + maxResults?: number; + + /** + *

                                                        If the response from the SearchAssociatedTranscriptsRequest + * operation contains more results than specified in the maxResults + * parameter, an index is returned in the response. Use that index in the + * nextIndex parameter to return the next page of results.

                                                        + */ + nextIndex?: number; +} + +export namespace SearchAssociatedTranscriptsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchAssociatedTranscriptsRequest): any => ({ + ...obj, + }); +} + +export interface SearchAssociatedTranscriptsResponse { + /** + *

                                                        The unique identifier of the bot associated with the transcripts + * that you are searching.

                                                        + */ + botId?: string; + + /** + *

                                                        The version of the bot containing the transcripts that you are + * searching.

                                                        + */ + botVersion?: string; + + /** + *

                                                        The identifier of the language and locale of the transcripts to + * search. The string must match one of the supported locales. For more + * information, see Supported languages + *

                                                        + */ + localeId?: string; + + /** + *

                                                        The unique identifier of the bot recommendation associated with the + * transcripts to search.

                                                        + */ + botRecommendationId?: string; + + /** + *

                                                        A index that indicates whether there are more results to return in a + * response to the SearchAssociatedTranscripts operation. If the nextIndex + * field is present, you send the contents as the nextIndex parameter of a + * SearchAssociatedTranscriptsRequest operation to get the next page of + * results.

                                                        + */ + nextIndex?: number; + + /** + *

                                                        The object that contains the associated transcript that meet the + * criteria you specified.

                                                        + */ + associatedTranscripts?: AssociatedTranscript[]; + + /** + *

                                                        The total number of transcripts returned by the search.

                                                        + */ + totalResults?: number; +} + +export namespace SearchAssociatedTranscriptsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchAssociatedTranscriptsResponse): any => ({ + ...obj, + }); +} + +export interface StartBotRecommendationRequest { + /** + *

                                                        The unique identifier of the bot containing the bot + * recommendation.

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

                                                        The version of the bot containing the bot recommendation.

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

                                                        The identifier of the language and locale of the bot recommendation + * to start. The string must match one of the supported locales. For more + * information, see Supported languages + *

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

                                                        The object representing the Amazon S3 bucket containing the transcript, + * as well as the associated metadata.

                                                        + */ + transcriptSourceSetting: TranscriptSourceSetting | undefined; + + /** + *

                                                        The object representing the passwords that will be used to encrypt + * the data related to the bot recommendation results, as well as the KMS + * key ARN used to encrypt the associated metadata.

                                                        + */ + encryptionSetting?: EncryptionSetting; +} + +export namespace StartBotRecommendationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartBotRecommendationRequest): any => ({ + ...obj, + ...(obj.encryptionSetting && { encryptionSetting: EncryptionSetting.filterSensitiveLog(obj.encryptionSetting) }), + }); +} + +export interface StartBotRecommendationResponse { + /** + *

                                                        The unique identifier of the bot containing the bot + * recommendation.

                                                        + */ + botId?: string; + + /** + *

                                                        The version of the bot containing the bot recommendation.

                                                        + */ + botVersion?: string; + + /** + *

                                                        The identifier of the language and locale of the bot recommendation + * to start. The string must match one of the supported locales. For more + * information, see Supported languages + *

                                                        + */ + localeId?: string; + + /** + *

                                                        The status of the bot recommendation.

                                                        + *

                                                        If the status is Failed, then the reasons for the failure are listed + * in the failureReasons field.

                                                        + */ + botRecommendationStatus?: BotRecommendationStatus | string; + + /** + *

                                                        The identifier of the bot recommendation that you have + * created.

                                                        + */ + botRecommendationId?: string; + + /** + *

                                                        A timestamp of the date and time that the bot recommendation was + * created.

                                                        + */ + creationDateTime?: Date; + + /** + *

                                                        The object representing the Amazon S3 bucket containing the transcript, + * as well as the associated metadata.

                                                        + */ + transcriptSourceSetting?: TranscriptSourceSetting; + + /** + *

                                                        The object representing the passwords that were used to encrypt the + * data related to the bot recommendation results, as well as the KMS key + * ARN used to encrypt the associated metadata.

                                                        + */ + encryptionSetting?: EncryptionSetting; +} + +export namespace StartBotRecommendationResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartBotRecommendationResponse): any => ({ + ...obj, + ...(obj.encryptionSetting && { encryptionSetting: EncryptionSetting.filterSensitiveLog(obj.encryptionSetting) }), + }); +} + export interface StartImportRequest { /** *

                                                        The unique identifier for the import. It is included in the response @@ -7731,6 +8708,121 @@ export namespace UpdateBotLocaleResponse { }); } +export interface UpdateBotRecommendationRequest { + /** + *

                                                        The unique identifier of the bot containing the bot recommendation + * to be updated.

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

                                                        The version of the bot containing the bot recommendation to be + * updated.

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

                                                        The identifier of the language and locale of the bot recommendation + * to update. The string must match one of the supported locales. For more + * information, see Supported languages + *

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

                                                        The unique identifier of the bot recommendation to be + * updated.

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

                                                        The object representing the passwords that will be used to encrypt + * the data related to the bot recommendation results, as well as the KMS + * key ARN used to encrypt the associated metadata.

                                                        + */ + encryptionSetting: EncryptionSetting | undefined; +} + +export namespace UpdateBotRecommendationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateBotRecommendationRequest): any => ({ + ...obj, + ...(obj.encryptionSetting && { encryptionSetting: EncryptionSetting.filterSensitiveLog(obj.encryptionSetting) }), + }); +} + +export interface UpdateBotRecommendationResponse { + /** + *

                                                        The unique identifier of the bot containing the bot recommendation + * that has been updated.

                                                        + */ + botId?: string; + + /** + *

                                                        The version of the bot containing the bot recommendation that has + * been updated.

                                                        + */ + botVersion?: string; + + /** + *

                                                        The identifier of the language and locale of the bot recommendation + * to update. The string must match one of the supported locales. For more + * information, see Supported languages + *

                                                        + */ + localeId?: string; + + /** + *

                                                        The status of the bot recommendation.

                                                        + *

                                                        If the status is Failed, then the reasons for the failure are listed + * in the failureReasons field.

                                                        + */ + botRecommendationStatus?: BotRecommendationStatus | string; + + /** + *

                                                        The unique identifier of the bot recommendation to be + * updated.

                                                        + */ + botRecommendationId?: string; + + /** + *

                                                        A timestamp of the date and time that the bot recommendation was + * created.

                                                        + */ + creationDateTime?: Date; + + /** + *

                                                        A timestamp of the date and time that the bot recommendation was + * last updated.

                                                        + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                        The object representing the Amazon S3 bucket containing the transcript, + * as well as the associated metadata.

                                                        + */ + transcriptSourceSetting?: TranscriptSourceSetting; + + /** + *

                                                        The object representing the passwords that were used to encrypt the + * data related to the bot recommendation results, as well as the KMS key + * ARN used to encrypt the associated metadata.

                                                        + */ + encryptionSetting?: EncryptionSetting; +} + +export namespace UpdateBotRecommendationResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateBotRecommendationResponse): any => ({ + ...obj, + ...(obj.encryptionSetting && { encryptionSetting: EncryptionSetting.filterSensitiveLog(obj.encryptionSetting) }), + }); +} + export interface UpdateExportRequest { /** *

                                                        The unique identifier Amazon Lex assigned to the export.

                                                        diff --git a/clients/client-lex-models-v2/src/pagination/ListBotRecommendationsPaginator.ts b/clients/client-lex-models-v2/src/pagination/ListBotRecommendationsPaginator.ts new file mode 100644 index 000000000000..d35ec907f0e5 --- /dev/null +++ b/clients/client-lex-models-v2/src/pagination/ListBotRecommendationsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListBotRecommendationsCommand, + ListBotRecommendationsCommandInput, + ListBotRecommendationsCommandOutput, +} from "../commands/ListBotRecommendationsCommand"; +import { LexModelsV2 } from "../LexModelsV2"; +import { LexModelsV2Client } from "../LexModelsV2Client"; +import { LexModelsV2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: LexModelsV2Client, + input: ListBotRecommendationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListBotRecommendationsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: LexModelsV2, + input: ListBotRecommendationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listBotRecommendations(input, ...args); +}; +export async function* paginateListBotRecommendations( + config: LexModelsV2PaginationConfiguration, + input: ListBotRecommendationsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.nextToken + let token: typeof input.nextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListBotRecommendationsCommandOutput; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof LexModelsV2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof LexModelsV2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected LexModelsV2 | LexModelsV2Client"); + } + yield page; + token = page.nextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-lex-models-v2/src/pagination/ListRecommendedIntentsPaginator.ts b/clients/client-lex-models-v2/src/pagination/ListRecommendedIntentsPaginator.ts new file mode 100644 index 000000000000..1706e062a00d --- /dev/null +++ b/clients/client-lex-models-v2/src/pagination/ListRecommendedIntentsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListRecommendedIntentsCommand, + ListRecommendedIntentsCommandInput, + ListRecommendedIntentsCommandOutput, +} from "../commands/ListRecommendedIntentsCommand"; +import { LexModelsV2 } from "../LexModelsV2"; +import { LexModelsV2Client } from "../LexModelsV2Client"; +import { LexModelsV2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: LexModelsV2Client, + input: ListRecommendedIntentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListRecommendedIntentsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: LexModelsV2, + input: ListRecommendedIntentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listRecommendedIntents(input, ...args); +}; +export async function* paginateListRecommendedIntents( + config: LexModelsV2PaginationConfiguration, + input: ListRecommendedIntentsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.nextToken + let token: typeof input.nextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListRecommendedIntentsCommandOutput; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof LexModelsV2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof LexModelsV2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected LexModelsV2 | LexModelsV2Client"); + } + yield page; + token = page.nextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-lex-models-v2/src/pagination/index.ts b/clients/client-lex-models-v2/src/pagination/index.ts index 44e93e6a8601..3e9195e00d2d 100644 --- a/clients/client-lex-models-v2/src/pagination/index.ts +++ b/clients/client-lex-models-v2/src/pagination/index.ts @@ -2,6 +2,7 @@ export * from "./Interfaces"; export * from "./ListAggregatedUtterancesPaginator"; export * from "./ListBotAliasesPaginator"; export * from "./ListBotLocalesPaginator"; +export * from "./ListBotRecommendationsPaginator"; export * from "./ListBotVersionsPaginator"; export * from "./ListBotsPaginator"; export * from "./ListBuiltInIntentsPaginator"; @@ -9,5 +10,6 @@ export * from "./ListBuiltInSlotTypesPaginator"; export * from "./ListExportsPaginator"; export * from "./ListImportsPaginator"; export * from "./ListIntentsPaginator"; +export * from "./ListRecommendedIntentsPaginator"; export * from "./ListSlotTypesPaginator"; export * from "./ListSlotsPaginator"; diff --git a/clients/client-lex-models-v2/src/protocols/Aws_restJson1.ts b/clients/client-lex-models-v2/src/protocols/Aws_restJson1.ts index 9a06bf7320e7..33d0bbe9ee0e 100644 --- a/clients/client-lex-models-v2/src/protocols/Aws_restJson1.ts +++ b/clients/client-lex-models-v2/src/protocols/Aws_restJson1.ts @@ -59,6 +59,10 @@ import { DeleteUtterancesCommandInput, DeleteUtterancesCommandOutput } from "../ import { DescribeBotAliasCommandInput, DescribeBotAliasCommandOutput } from "../commands/DescribeBotAliasCommand"; import { DescribeBotCommandInput, DescribeBotCommandOutput } from "../commands/DescribeBotCommand"; import { DescribeBotLocaleCommandInput, DescribeBotLocaleCommandOutput } from "../commands/DescribeBotLocaleCommand"; +import { + DescribeBotRecommendationCommandInput, + DescribeBotRecommendationCommandOutput, +} from "../commands/DescribeBotRecommendationCommand"; import { DescribeBotVersionCommandInput, DescribeBotVersionCommandOutput } from "../commands/DescribeBotVersionCommand"; import { DescribeExportCommandInput, DescribeExportCommandOutput } from "../commands/DescribeExportCommand"; import { DescribeImportCommandInput, DescribeImportCommandOutput } from "../commands/DescribeImportCommand"; @@ -75,6 +79,10 @@ import { } from "../commands/ListAggregatedUtterancesCommand"; import { ListBotAliasesCommandInput, ListBotAliasesCommandOutput } from "../commands/ListBotAliasesCommand"; import { ListBotLocalesCommandInput, ListBotLocalesCommandOutput } from "../commands/ListBotLocalesCommand"; +import { + ListBotRecommendationsCommandInput, + ListBotRecommendationsCommandOutput, +} from "../commands/ListBotRecommendationsCommand"; import { ListBotsCommandInput, ListBotsCommandOutput } from "../commands/ListBotsCommand"; import { ListBotVersionsCommandInput, ListBotVersionsCommandOutput } from "../commands/ListBotVersionsCommand"; import { ListBuiltInIntentsCommandInput, ListBuiltInIntentsCommandOutput } from "../commands/ListBuiltInIntentsCommand"; @@ -85,18 +93,34 @@ import { import { ListExportsCommandInput, ListExportsCommandOutput } from "../commands/ListExportsCommand"; import { ListImportsCommandInput, ListImportsCommandOutput } from "../commands/ListImportsCommand"; import { ListIntentsCommandInput, ListIntentsCommandOutput } from "../commands/ListIntentsCommand"; +import { + ListRecommendedIntentsCommandInput, + ListRecommendedIntentsCommandOutput, +} from "../commands/ListRecommendedIntentsCommand"; import { ListSlotsCommandInput, ListSlotsCommandOutput } from "../commands/ListSlotsCommand"; import { ListSlotTypesCommandInput, ListSlotTypesCommandOutput } from "../commands/ListSlotTypesCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + SearchAssociatedTranscriptsCommandInput, + SearchAssociatedTranscriptsCommandOutput, +} from "../commands/SearchAssociatedTranscriptsCommand"; +import { + StartBotRecommendationCommandInput, + StartBotRecommendationCommandOutput, +} from "../commands/StartBotRecommendationCommand"; import { StartImportCommandInput, StartImportCommandOutput } from "../commands/StartImportCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateBotAliasCommandInput, UpdateBotAliasCommandOutput } from "../commands/UpdateBotAliasCommand"; import { UpdateBotCommandInput, UpdateBotCommandOutput } from "../commands/UpdateBotCommand"; import { UpdateBotLocaleCommandInput, UpdateBotLocaleCommandOutput } from "../commands/UpdateBotLocaleCommand"; +import { + UpdateBotRecommendationCommandInput, + UpdateBotRecommendationCommandOutput, +} from "../commands/UpdateBotRecommendationCommand"; import { UpdateExportCommandInput, UpdateExportCommandOutput } from "../commands/UpdateExportCommand"; import { UpdateIntentCommandInput, UpdateIntentCommandOutput } from "../commands/UpdateIntentCommand"; import { @@ -109,6 +133,8 @@ import { AggregatedUtterancesFilter, AggregatedUtterancesSortBy, AggregatedUtterancesSummary, + AssociatedTranscript, + AssociatedTranscriptFilter, AudioLogDestination, AudioLogSetting, BotAliasHistoryEvent, @@ -123,6 +149,9 @@ import { BotLocaleImportSpecification, BotLocaleSortBy, BotLocaleSummary, + BotRecommendationResults, + BotRecommendationResultStatistics, + BotRecommendationSummary, BotSortBy, BotSummary, BotVersionLocaleDetails, @@ -139,7 +168,9 @@ import { ConversationLogSettings, CustomPayload, DataPrivacy, + DateRangeFilter, DialogCodeHookSettings, + EncryptionSetting, ExportFilter, ExportResourceSpecification, ExportSortBy, @@ -158,24 +189,29 @@ import { IntentConfirmationSetting, IntentFilter, IntentSortBy, + IntentStatistics, IntentSummary, InternalServerException, KendraConfiguration, LambdaCodeHook, + LexTranscriptFilter, Message, MessageGroup, MultipleValuesSetting, ObfuscationSetting, OutputContext, + PathFormat, PlainTextMessage, PostFulfillmentStatusSpecification, PreconditionFailedException, Principal, PromptSpecification, + RecommendedIntentSummary, RelativeAggregationDuration, ResourceNotFoundException, ResponseSpecification, S3BucketLogDestination, + S3BucketTranscriptSource, SampleUtterance, SampleValue, SentimentAnalysisSettings, @@ -188,6 +224,7 @@ import { SlotSummary, SlotTypeFilter, SlotTypeSortBy, + SlotTypeStatistics, SlotTypeSummary, SlotTypeValue, SlotValueElicitationSetting, @@ -198,6 +235,8 @@ import { TextLogDestination, TextLogSetting, ThrottlingException, + TranscriptFilter, + TranscriptSourceSetting, UtteranceAggregationDuration, ValidationException, VoiceSettings, @@ -1430,6 +1469,63 @@ export const serializeAws_restJson1DescribeBotLocaleCommand = async ( }); }; +export const serializeAws_restJson1DescribeBotRecommendationCommand = async ( + input: DescribeBotRecommendationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}"; + 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.botVersion !== undefined) { + const labelValue: string = input.botVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botVersion."); + } + resolvedPath = resolvedPath.replace("{botVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botVersion."); + } + if (input.localeId !== undefined) { + const labelValue: string = input.localeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: localeId."); + } + resolvedPath = resolvedPath.replace("{localeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: localeId."); + } + if (input.botRecommendationId !== undefined) { + const labelValue: string = input.botRecommendationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botRecommendationId."); + } + resolvedPath = resolvedPath.replace("{botRecommendationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botRecommendationId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeBotVersionCommand = async ( input: DescribeBotVersionCommandInput, context: __SerdeContext @@ -1861,6 +1957,60 @@ export const serializeAws_restJson1ListBotLocalesCommand = async ( }); }; +export const serializeAws_restJson1ListBotRecommendationsCommand = async ( + input: ListBotRecommendationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations"; + 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.botVersion !== undefined) { + const labelValue: string = input.botVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botVersion."); + } + resolvedPath = resolvedPath.replace("{botVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botVersion."); + } + if (input.localeId !== undefined) { + const labelValue: string = input.localeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: localeId."); + } + resolvedPath = resolvedPath.replace("{localeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: localeId."); + } + let body: any; + body = JSON.stringify({ + ...(input.maxResults !== undefined && input.maxResults !== null && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && input.nextToken !== null && { nextToken: input.nextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListBotsCommand = async ( input: ListBotsCommandInput, context: __SerdeContext @@ -2121,6 +2271,69 @@ export const serializeAws_restJson1ListIntentsCommand = async ( }); }; +export const serializeAws_restJson1ListRecommendedIntentsCommand = async ( + input: ListRecommendedIntentsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}/intents"; + 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.botVersion !== undefined) { + const labelValue: string = input.botVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botVersion."); + } + resolvedPath = resolvedPath.replace("{botVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botVersion."); + } + if (input.localeId !== undefined) { + const labelValue: string = input.localeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: localeId."); + } + resolvedPath = resolvedPath.replace("{localeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: localeId."); + } + if (input.botRecommendationId !== undefined) { + const labelValue: string = input.botRecommendationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botRecommendationId."); + } + resolvedPath = resolvedPath.replace("{botRecommendationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botRecommendationId."); + } + let body: any; + body = JSON.stringify({ + ...(input.maxResults !== undefined && input.maxResults !== null && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && input.nextToken !== null && { nextToken: input.nextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListSlotsCommand = async ( input: ListSlotsCommandInput, context: __SerdeContext @@ -2274,80 +2487,206 @@ export const serializeAws_restJson1ListTagsForResourceCommand = async ( }); }; -export const serializeAws_restJson1StartImportCommand = async ( - input: StartImportCommandInput, +export const serializeAws_restJson1SearchAssociatedTranscriptsCommand = async ( + input: SearchAssociatedTranscriptsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers: any = { "content-type": "application/json", }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/imports"; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}/associatedtranscripts"; + 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.botVersion !== undefined) { + const labelValue: string = input.botVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botVersion."); + } + resolvedPath = resolvedPath.replace("{botVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botVersion."); + } + if (input.localeId !== undefined) { + const labelValue: string = input.localeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: localeId."); + } + resolvedPath = resolvedPath.replace("{localeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: localeId."); + } + if (input.botRecommendationId !== undefined) { + const labelValue: string = input.botRecommendationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botRecommendationId."); + } + resolvedPath = resolvedPath.replace("{botRecommendationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botRecommendationId."); + } let body: any; body = JSON.stringify({ - ...(input.filePassword !== undefined && input.filePassword !== null && { filePassword: input.filePassword }), - ...(input.importId !== undefined && input.importId !== null && { importId: input.importId }), - ...(input.mergeStrategy !== undefined && input.mergeStrategy !== null && { mergeStrategy: input.mergeStrategy }), - ...(input.resourceSpecification !== undefined && - input.resourceSpecification !== null && { - resourceSpecification: serializeAws_restJson1ImportResourceSpecification(input.resourceSpecification, context), - }), + ...(input.filters !== undefined && + input.filters !== null && { filters: serializeAws_restJson1AssociatedTranscriptFilters(input.filters, context) }), + ...(input.maxResults !== undefined && input.maxResults !== null && { maxResults: input.maxResults }), + ...(input.nextIndex !== undefined && input.nextIndex !== null && { nextIndex: input.nextIndex }), + ...(input.searchOrder !== undefined && input.searchOrder !== null && { searchOrder: input.searchOrder }), }); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "POST", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1TagResourceCommand = async ( - input: TagResourceCommandInput, +export const serializeAws_restJson1StartBotRecommendationCommand = async ( + input: StartBotRecommendationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers: any = { "content-type": "application/json", }; - let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceARN}"; - if (input.resourceARN !== undefined) { - const labelValue: string = input.resourceARN; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations"; + if (input.botId !== undefined) { + const labelValue: string = input.botId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceARN."); + throw new Error("Empty value provided for input HTTP label: botId."); } - resolvedPath = resolvedPath.replace("{resourceARN}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{botId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceARN."); + throw new Error("No value provided for input HTTP label: botId."); + } + if (input.botVersion !== undefined) { + const labelValue: string = input.botVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botVersion."); + } + resolvedPath = resolvedPath.replace("{botVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botVersion."); + } + if (input.localeId !== undefined) { + const labelValue: string = input.localeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: localeId."); + } + resolvedPath = resolvedPath.replace("{localeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: localeId."); } let body: any; body = JSON.stringify({ - ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + ...(input.encryptionSetting !== undefined && + input.encryptionSetting !== null && { + encryptionSetting: serializeAws_restJson1EncryptionSetting(input.encryptionSetting, context), + }), + ...(input.transcriptSourceSetting !== undefined && + input.transcriptSourceSetting !== null && { + transcriptSourceSetting: serializeAws_restJson1TranscriptSourceSetting(input.transcriptSourceSetting, context), + }), }); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "PUT", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1UntagResourceCommand = async ( - input: UntagResourceCommandInput, +export const serializeAws_restJson1StartImportCommand = async ( + input: StartImportCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers: any = {}; - let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/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."); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/imports"; + let body: any; + body = JSON.stringify({ + ...(input.filePassword !== undefined && input.filePassword !== null && { filePassword: input.filePassword }), + ...(input.importId !== undefined && input.importId !== null && { importId: input.importId }), + ...(input.mergeStrategy !== undefined && input.mergeStrategy !== null && { mergeStrategy: input.mergeStrategy }), + ...(input.resourceSpecification !== undefined && + input.resourceSpecification !== null && { + resourceSpecification: serializeAws_restJson1ImportResourceSpecification(input.resourceSpecification, context), + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/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 && input.tags !== null && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/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 { @@ -2529,6 +2868,71 @@ export const serializeAws_restJson1UpdateBotLocaleCommand = async ( }); }; +export const serializeAws_restJson1UpdateBotRecommendationCommand = async ( + input: UpdateBotRecommendationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}"; + 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.botVersion !== undefined) { + const labelValue: string = input.botVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botVersion."); + } + resolvedPath = resolvedPath.replace("{botVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botVersion."); + } + if (input.localeId !== undefined) { + const labelValue: string = input.localeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: localeId."); + } + resolvedPath = resolvedPath.replace("{localeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: localeId."); + } + if (input.botRecommendationId !== undefined) { + const labelValue: string = input.botRecommendationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botRecommendationId."); + } + resolvedPath = resolvedPath.replace("{botRecommendationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botRecommendationId."); + } + let body: any; + body = JSON.stringify({ + ...(input.encryptionSetting !== undefined && + input.encryptionSetting !== null && { + encryptionSetting: serializeAws_restJson1EncryptionSetting(input.encryptionSetting, context), + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1UpdateExportCommand = async ( input: UpdateExportCommandInput, context: __SerdeContext @@ -5855,6 +6259,131 @@ const deserializeAws_restJson1DescribeBotLocaleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DescribeBotRecommendationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeBotRecommendationCommandError(output, context); + } + const contents: DescribeBotRecommendationCommandOutput = { + $metadata: deserializeMetadata(output), + botId: undefined, + botRecommendationId: undefined, + botRecommendationResults: undefined, + botRecommendationStatus: undefined, + botVersion: undefined, + creationDateTime: undefined, + encryptionSetting: undefined, + failureReasons: undefined, + lastUpdatedDateTime: undefined, + localeId: undefined, + transcriptSourceSetting: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.botId !== undefined && data.botId !== null) { + contents.botId = __expectString(data.botId); + } + if (data.botRecommendationId !== undefined && data.botRecommendationId !== null) { + contents.botRecommendationId = __expectString(data.botRecommendationId); + } + if (data.botRecommendationResults !== undefined && data.botRecommendationResults !== null) { + contents.botRecommendationResults = deserializeAws_restJson1BotRecommendationResults( + data.botRecommendationResults, + context + ); + } + if (data.botRecommendationStatus !== undefined && data.botRecommendationStatus !== null) { + contents.botRecommendationStatus = __expectString(data.botRecommendationStatus); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = __expectString(data.botVersion); + } + if (data.creationDateTime !== undefined && data.creationDateTime !== null) { + contents.creationDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.creationDateTime))); + } + if (data.encryptionSetting !== undefined && data.encryptionSetting !== null) { + contents.encryptionSetting = deserializeAws_restJson1EncryptionSetting(data.encryptionSetting, context); + } + if (data.failureReasons !== undefined && data.failureReasons !== null) { + contents.failureReasons = deserializeAws_restJson1FailureReasons(data.failureReasons, context); + } + if (data.lastUpdatedDateTime !== undefined && data.lastUpdatedDateTime !== null) { + contents.lastUpdatedDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.lastUpdatedDateTime))); + } + if (data.localeId !== undefined && data.localeId !== null) { + contents.localeId = __expectString(data.localeId); + } + if (data.transcriptSourceSetting !== undefined && data.transcriptSourceSetting !== null) { + contents.transcriptSourceSetting = deserializeAws_restJson1TranscriptSourceSetting( + data.transcriptSourceSetting, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeBotRecommendationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.lexmodelsv2#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.lexmodelsv2#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lexmodelsv2#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_restJson1DescribeBotVersionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7015,21 +7544,36 @@ const deserializeAws_restJson1ListBotLocalesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListBotsCommand = async ( +export const deserializeAws_restJson1ListBotRecommendationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListBotsCommandError(output, context); + return deserializeAws_restJson1ListBotRecommendationsCommandError(output, context); } - const contents: ListBotsCommandOutput = { + const contents: ListBotRecommendationsCommandOutput = { $metadata: deserializeMetadata(output), - botSummaries: undefined, + botId: undefined, + botRecommendationSummaries: undefined, + botVersion: undefined, + localeId: undefined, nextToken: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.botSummaries !== undefined && data.botSummaries !== null) { - contents.botSummaries = deserializeAws_restJson1BotSummaryList(data.botSummaries, context); + if (data.botId !== undefined && data.botId !== null) { + contents.botId = __expectString(data.botId); + } + if (data.botRecommendationSummaries !== undefined && data.botRecommendationSummaries !== null) { + contents.botRecommendationSummaries = deserializeAws_restJson1BotRecommendationSummaryList( + data.botRecommendationSummaries, + context + ); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = __expectString(data.botVersion); + } + if (data.localeId !== undefined && data.localeId !== null) { + contents.localeId = __expectString(data.localeId); } if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = __expectString(data.nextToken); @@ -7037,10 +7581,10 @@ export const deserializeAws_restJson1ListBotsCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1ListBotsCommandError = async ( +const deserializeAws_restJson1ListBotRecommendationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7057,10 +7601,10 @@ const deserializeAws_restJson1ListBotsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7098,7 +7642,90 @@ const deserializeAws_restJson1ListBotsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListBotVersionsCommand = async ( +export const deserializeAws_restJson1ListBotsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListBotsCommandError(output, context); + } + const contents: ListBotsCommandOutput = { + $metadata: deserializeMetadata(output), + botSummaries: undefined, + nextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.botSummaries !== undefined && data.botSummaries !== null) { + contents.botSummaries = deserializeAws_restJson1BotSummaryList(data.botSummaries, context); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = __expectString(data.nextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListBotsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.lexmodelsv2#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.lexmodelsv2#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lexmodelsv2#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_restJson1ListBotVersionsCommand = async ( output: __HttpResponse, context: __SerdeContext ): Promise => { @@ -7626,48 +8253,48 @@ const deserializeAws_restJson1ListIntentsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSlotsCommand = async ( +export const deserializeAws_restJson1ListRecommendedIntentsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSlotsCommandError(output, context); + return deserializeAws_restJson1ListRecommendedIntentsCommandError(output, context); } - const contents: ListSlotsCommandOutput = { + const contents: ListRecommendedIntentsCommandOutput = { $metadata: deserializeMetadata(output), botId: undefined, + botRecommendationId: undefined, botVersion: undefined, - intentId: undefined, localeId: undefined, nextToken: undefined, - slotSummaries: undefined, + summaryList: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); if (data.botId !== undefined && data.botId !== null) { contents.botId = __expectString(data.botId); } + if (data.botRecommendationId !== undefined && data.botRecommendationId !== null) { + contents.botRecommendationId = __expectString(data.botRecommendationId); + } if (data.botVersion !== undefined && data.botVersion !== null) { contents.botVersion = __expectString(data.botVersion); } - if (data.intentId !== undefined && data.intentId !== null) { - contents.intentId = __expectString(data.intentId); - } if (data.localeId !== undefined && data.localeId !== null) { contents.localeId = __expectString(data.localeId); } if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = __expectString(data.nextToken); } - if (data.slotSummaries !== undefined && data.slotSummaries !== null) { - contents.slotSummaries = deserializeAws_restJson1SlotSummaryList(data.slotSummaries, context); + if (data.summaryList !== undefined && data.summaryList !== null) { + contents.summaryList = deserializeAws_restJson1RecommendedIntentSummaryList(data.summaryList, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSlotsCommandError = async ( +const deserializeAws_restJson1ListRecommendedIntentsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7684,6 +8311,14 @@ const deserializeAws_restJson1ListSlotsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceQuotaExceededException": case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": response = { @@ -7725,20 +8360,21 @@ const deserializeAws_restJson1ListSlotsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSlotTypesCommand = async ( +export const deserializeAws_restJson1ListSlotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSlotTypesCommandError(output, context); + return deserializeAws_restJson1ListSlotsCommandError(output, context); } - const contents: ListSlotTypesCommandOutput = { + const contents: ListSlotsCommandOutput = { $metadata: deserializeMetadata(output), botId: undefined, botVersion: undefined, + intentId: undefined, localeId: undefined, nextToken: undefined, - slotTypeSummaries: undefined, + slotSummaries: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); if (data.botId !== undefined && data.botId !== null) { @@ -7747,22 +8383,25 @@ export const deserializeAws_restJson1ListSlotTypesCommand = async ( if (data.botVersion !== undefined && data.botVersion !== null) { contents.botVersion = __expectString(data.botVersion); } + if (data.intentId !== undefined && data.intentId !== null) { + contents.intentId = __expectString(data.intentId); + } if (data.localeId !== undefined && data.localeId !== null) { contents.localeId = __expectString(data.localeId); } if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = __expectString(data.nextToken); } - if (data.slotTypeSummaries !== undefined && data.slotTypeSummaries !== null) { - contents.slotTypeSummaries = deserializeAws_restJson1SlotTypeSummaryList(data.slotTypeSummaries, context); + if (data.slotSummaries !== undefined && data.slotSummaries !== null) { + contents.slotSummaries = deserializeAws_restJson1SlotSummaryList(data.slotSummaries, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSlotTypesCommandError = async ( +const deserializeAws_restJson1ListSlotsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7820,28 +8459,44 @@ const deserializeAws_restJson1ListSlotTypesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListTagsForResourceCommand = async ( +export const deserializeAws_restJson1ListSlotTypesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + return deserializeAws_restJson1ListSlotTypesCommandError(output, context); } - const contents: ListTagsForResourceCommandOutput = { + const contents: ListSlotTypesCommandOutput = { $metadata: deserializeMetadata(output), - tags: undefined, + botId: undefined, + botVersion: undefined, + localeId: undefined, + nextToken: undefined, + slotTypeSummaries: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + if (data.botId !== undefined && data.botId !== null) { + contents.botId = __expectString(data.botId); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = __expectString(data.botVersion); + } + if (data.localeId !== undefined && data.localeId !== null) { + contents.localeId = __expectString(data.localeId); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = __expectString(data.nextToken); + } + if (data.slotTypeSummaries !== undefined && data.slotTypeSummaries !== null) { + contents.slotTypeSummaries = deserializeAws_restJson1SlotTypeSummaryList(data.slotTypeSummaries, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListTagsForResourceCommandError = async ( +const deserializeAws_restJson1ListSlotTypesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7858,10 +8513,10 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + case "ServiceQuotaExceededException": + case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7899,47 +8554,28 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StartImportCommand = async ( +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 202 && output.statusCode >= 300) { - return deserializeAws_restJson1StartImportCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); } - const contents: StartImportCommandOutput = { + const contents: ListTagsForResourceCommandOutput = { $metadata: deserializeMetadata(output), - creationDateTime: undefined, - importId: undefined, - importStatus: undefined, - mergeStrategy: undefined, - resourceSpecification: undefined, + tags: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.creationDateTime !== undefined && data.creationDateTime !== null) { - contents.creationDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.creationDateTime))); - } - if (data.importId !== undefined && data.importId !== null) { - contents.importId = __expectString(data.importId); - } - if (data.importStatus !== undefined && data.importStatus !== null) { - contents.importStatus = __expectString(data.importStatus); - } - if (data.mergeStrategy !== undefined && data.mergeStrategy !== null) { - contents.mergeStrategy = __expectString(data.mergeStrategy); - } - if (data.resourceSpecification !== undefined && data.resourceSpecification !== null) { - contents.resourceSpecification = deserializeAws_restJson1ImportResourceSpecification( - data.resourceSpecification, - context - ); + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1StartImportCommandError = async ( +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7948,14 +8584,6 @@ const deserializeAws_restJson1StartImportCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ConflictException": - case "com.amazonaws.lexmodelsv2#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.lexmodelsv2#InternalServerException": response = { @@ -7972,14 +8600,6 @@ const deserializeAws_restJson1StartImportCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": - response = { - ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.lexmodelsv2#ThrottlingException": response = { @@ -8013,24 +8633,386 @@ const deserializeAws_restJson1StartImportCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagResourceCommand = async ( +export const deserializeAws_restJson1SearchAssociatedTranscriptsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1TagResourceCommandError(output, context); + return deserializeAws_restJson1SearchAssociatedTranscriptsCommandError(output, context); } - const contents: TagResourceCommandOutput = { + const contents: SearchAssociatedTranscriptsCommandOutput = { $metadata: deserializeMetadata(output), + associatedTranscripts: undefined, + botId: undefined, + botRecommendationId: undefined, + botVersion: undefined, + localeId: undefined, + nextIndex: undefined, + totalResults: undefined, }; - await collectBody(output.body, context); + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.associatedTranscripts !== undefined && data.associatedTranscripts !== null) { + contents.associatedTranscripts = deserializeAws_restJson1AssociatedTranscriptList( + data.associatedTranscripts, + context + ); + } + if (data.botId !== undefined && data.botId !== null) { + contents.botId = __expectString(data.botId); + } + if (data.botRecommendationId !== undefined && data.botRecommendationId !== null) { + contents.botRecommendationId = __expectString(data.botRecommendationId); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = __expectString(data.botVersion); + } + if (data.localeId !== undefined && data.localeId !== null) { + contents.localeId = __expectString(data.localeId); + } + if (data.nextIndex !== undefined && data.nextIndex !== null) { + contents.nextIndex = __expectInt32(data.nextIndex); + } + if (data.totalResults !== undefined && data.totalResults !== null) { + contents.totalResults = __expectInt32(data.totalResults); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1TagResourceCommandError = async ( +const deserializeAws_restJson1SearchAssociatedTranscriptsCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.lexmodelsv2#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.lexmodelsv2#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lexmodelsv2#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_restJson1StartBotRecommendationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1StartBotRecommendationCommandError(output, context); + } + const contents: StartBotRecommendationCommandOutput = { + $metadata: deserializeMetadata(output), + botId: undefined, + botRecommendationId: undefined, + botRecommendationStatus: undefined, + botVersion: undefined, + creationDateTime: undefined, + encryptionSetting: undefined, + localeId: undefined, + transcriptSourceSetting: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.botId !== undefined && data.botId !== null) { + contents.botId = __expectString(data.botId); + } + if (data.botRecommendationId !== undefined && data.botRecommendationId !== null) { + contents.botRecommendationId = __expectString(data.botRecommendationId); + } + if (data.botRecommendationStatus !== undefined && data.botRecommendationStatus !== null) { + contents.botRecommendationStatus = __expectString(data.botRecommendationStatus); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = __expectString(data.botVersion); + } + if (data.creationDateTime !== undefined && data.creationDateTime !== null) { + contents.creationDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.creationDateTime))); + } + if (data.encryptionSetting !== undefined && data.encryptionSetting !== null) { + contents.encryptionSetting = deserializeAws_restJson1EncryptionSetting(data.encryptionSetting, context); + } + if (data.localeId !== undefined && data.localeId !== null) { + contents.localeId = __expectString(data.localeId); + } + if (data.transcriptSourceSetting !== undefined && data.transcriptSourceSetting !== null) { + contents.transcriptSourceSetting = deserializeAws_restJson1TranscriptSourceSetting( + data.transcriptSourceSetting, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StartBotRecommendationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.lexmodelsv2#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.lexmodelsv2#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "PreconditionFailedException": + case "com.amazonaws.lexmodelsv2#PreconditionFailedException": + response = { + ...(await deserializeAws_restJson1PreconditionFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.lexmodelsv2#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lexmodelsv2#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_restJson1StartImportCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1StartImportCommandError(output, context); + } + const contents: StartImportCommandOutput = { + $metadata: deserializeMetadata(output), + creationDateTime: undefined, + importId: undefined, + importStatus: undefined, + mergeStrategy: undefined, + resourceSpecification: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.creationDateTime !== undefined && data.creationDateTime !== null) { + contents.creationDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.creationDateTime))); + } + if (data.importId !== undefined && data.importId !== null) { + contents.importId = __expectString(data.importId); + } + if (data.importStatus !== undefined && data.importStatus !== null) { + contents.importStatus = __expectString(data.importStatus); + } + if (data.mergeStrategy !== undefined && data.mergeStrategy !== null) { + contents.mergeStrategy = __expectString(data.mergeStrategy); + } + if (data.resourceSpecification !== undefined && data.resourceSpecification !== null) { + contents.resourceSpecification = deserializeAws_restJson1ImportResourceSpecification( + data.resourceSpecification, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StartImportCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.lexmodelsv2#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.lexmodelsv2#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.lexmodelsv2#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lexmodelsv2#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_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), @@ -8348,19 +9330,154 @@ export const deserializeAws_restJson1UpdateBotAliasCommand = async ( if (data.lastUpdatedDateTime !== undefined && data.lastUpdatedDateTime !== null) { contents.lastUpdatedDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.lastUpdatedDateTime))); } - if (data.sentimentAnalysisSettings !== undefined && data.sentimentAnalysisSettings !== null) { - contents.sentimentAnalysisSettings = deserializeAws_restJson1SentimentAnalysisSettings( - data.sentimentAnalysisSettings, - context - ); + if (data.sentimentAnalysisSettings !== undefined && data.sentimentAnalysisSettings !== null) { + contents.sentimentAnalysisSettings = deserializeAws_restJson1SentimentAnalysisSettings( + data.sentimentAnalysisSettings, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateBotAliasCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.lexmodelsv2#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.lexmodelsv2#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "PreconditionFailedException": + case "com.amazonaws.lexmodelsv2#PreconditionFailedException": + response = { + ...(await deserializeAws_restJson1PreconditionFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.lexmodelsv2#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lexmodelsv2#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_restJson1UpdateBotLocaleCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateBotLocaleCommandError(output, context); + } + const contents: UpdateBotLocaleCommandOutput = { + $metadata: deserializeMetadata(output), + botId: undefined, + botLocaleStatus: undefined, + botVersion: undefined, + creationDateTime: undefined, + description: undefined, + failureReasons: undefined, + lastUpdatedDateTime: undefined, + localeId: undefined, + localeName: undefined, + nluIntentConfidenceThreshold: undefined, + voiceSettings: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.botId !== undefined && data.botId !== null) { + contents.botId = __expectString(data.botId); + } + if (data.botLocaleStatus !== undefined && data.botLocaleStatus !== null) { + contents.botLocaleStatus = __expectString(data.botLocaleStatus); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = __expectString(data.botVersion); + } + if (data.creationDateTime !== undefined && data.creationDateTime !== null) { + contents.creationDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.creationDateTime))); + } + if (data.description !== undefined && data.description !== null) { + contents.description = __expectString(data.description); + } + if (data.failureReasons !== undefined && data.failureReasons !== null) { + contents.failureReasons = deserializeAws_restJson1FailureReasons(data.failureReasons, context); + } + if (data.lastUpdatedDateTime !== undefined && data.lastUpdatedDateTime !== null) { + contents.lastUpdatedDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.lastUpdatedDateTime))); + } + if (data.localeId !== undefined && data.localeId !== null) { + contents.localeId = __expectString(data.localeId); + } + if (data.localeName !== undefined && data.localeName !== null) { + contents.localeName = __expectString(data.localeName); + } + if (data.nluIntentConfidenceThreshold !== undefined && data.nluIntentConfidenceThreshold !== null) { + contents.nluIntentConfidenceThreshold = __limitedParseDouble(data.nluIntentConfidenceThreshold); + } + if (data.voiceSettings !== undefined && data.voiceSettings !== null) { + contents.voiceSettings = deserializeAws_restJson1VoiceSettings(data.voiceSettings, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateBotAliasCommandError = async ( +const deserializeAws_restJson1UpdateBotLocaleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8434,33 +9551,34 @@ const deserializeAws_restJson1UpdateBotAliasCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateBotLocaleCommand = async ( +export const deserializeAws_restJson1UpdateBotRecommendationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 202 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateBotLocaleCommandError(output, context); + return deserializeAws_restJson1UpdateBotRecommendationCommandError(output, context); } - const contents: UpdateBotLocaleCommandOutput = { + const contents: UpdateBotRecommendationCommandOutput = { $metadata: deserializeMetadata(output), botId: undefined, - botLocaleStatus: undefined, + botRecommendationId: undefined, + botRecommendationStatus: undefined, botVersion: undefined, creationDateTime: undefined, - description: undefined, - failureReasons: undefined, + encryptionSetting: undefined, lastUpdatedDateTime: undefined, localeId: undefined, - localeName: undefined, - nluIntentConfidenceThreshold: undefined, - voiceSettings: undefined, + transcriptSourceSetting: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); if (data.botId !== undefined && data.botId !== null) { contents.botId = __expectString(data.botId); } - if (data.botLocaleStatus !== undefined && data.botLocaleStatus !== null) { - contents.botLocaleStatus = __expectString(data.botLocaleStatus); + if (data.botRecommendationId !== undefined && data.botRecommendationId !== null) { + contents.botRecommendationId = __expectString(data.botRecommendationId); + } + if (data.botRecommendationStatus !== undefined && data.botRecommendationStatus !== null) { + contents.botRecommendationStatus = __expectString(data.botRecommendationStatus); } if (data.botVersion !== undefined && data.botVersion !== null) { contents.botVersion = __expectString(data.botVersion); @@ -8468,11 +9586,8 @@ export const deserializeAws_restJson1UpdateBotLocaleCommand = async ( if (data.creationDateTime !== undefined && data.creationDateTime !== null) { contents.creationDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.creationDateTime))); } - if (data.description !== undefined && data.description !== null) { - contents.description = __expectString(data.description); - } - if (data.failureReasons !== undefined && data.failureReasons !== null) { - contents.failureReasons = deserializeAws_restJson1FailureReasons(data.failureReasons, context); + if (data.encryptionSetting !== undefined && data.encryptionSetting !== null) { + contents.encryptionSetting = deserializeAws_restJson1EncryptionSetting(data.encryptionSetting, context); } if (data.lastUpdatedDateTime !== undefined && data.lastUpdatedDateTime !== null) { contents.lastUpdatedDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.lastUpdatedDateTime))); @@ -8480,22 +9595,19 @@ export const deserializeAws_restJson1UpdateBotLocaleCommand = async ( if (data.localeId !== undefined && data.localeId !== null) { contents.localeId = __expectString(data.localeId); } - if (data.localeName !== undefined && data.localeName !== null) { - contents.localeName = __expectString(data.localeName); - } - if (data.nluIntentConfidenceThreshold !== undefined && data.nluIntentConfidenceThreshold !== null) { - contents.nluIntentConfidenceThreshold = __limitedParseDouble(data.nluIntentConfidenceThreshold); - } - if (data.voiceSettings !== undefined && data.voiceSettings !== null) { - contents.voiceSettings = deserializeAws_restJson1VoiceSettings(data.voiceSettings, context); + if (data.transcriptSourceSetting !== undefined && data.transcriptSourceSetting !== null) { + contents.transcriptSourceSetting = deserializeAws_restJson1TranscriptSourceSetting( + data.transcriptSourceSetting, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateBotLocaleCommandError = async ( +const deserializeAws_restJson1UpdateBotRecommendationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8528,6 +9640,14 @@ const deserializeAws_restJson1UpdateBotLocaleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.lexmodelsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceQuotaExceededException": case "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException": response = { @@ -9398,6 +10518,31 @@ const serializeAws_restJson1AggregatedUtterancesSortBy = ( }; }; +const serializeAws_restJson1AssociatedTranscriptFilter = ( + input: AssociatedTranscriptFilter, + context: __SerdeContext +): any => { + return { + ...(input.name !== undefined && input.name !== null && { name: input.name }), + ...(input.values !== undefined && + input.values !== null && { values: serializeAws_restJson1FilterValues(input.values, context) }), + }; +}; + +const serializeAws_restJson1AssociatedTranscriptFilters = ( + input: AssociatedTranscriptFilter[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1AssociatedTranscriptFilter(entry, context); + }); +}; + const serializeAws_restJson1AudioLogDestination = (input: AudioLogDestination, context: __SerdeContext): any => { return { ...(input.s3Bucket !== undefined && @@ -9698,12 +10843,33 @@ const serializeAws_restJson1DataPrivacy = (input: DataPrivacy, context: __SerdeC }; }; +const serializeAws_restJson1DateRangeFilter = (input: DateRangeFilter, context: __SerdeContext): any => { + return { + ...(input.endDateTime !== undefined && + input.endDateTime !== null && { endDateTime: Math.round(input.endDateTime.getTime() / 1000) }), + ...(input.startDateTime !== undefined && + input.startDateTime !== null && { startDateTime: Math.round(input.startDateTime.getTime() / 1000) }), + }; +}; + const serializeAws_restJson1DialogCodeHookSettings = (input: DialogCodeHookSettings, context: __SerdeContext): any => { return { ...(input.enabled !== undefined && input.enabled !== null && { enabled: input.enabled }), }; }; +const serializeAws_restJson1EncryptionSetting = (input: EncryptionSetting, context: __SerdeContext): any => { + return { + ...(input.associatedTranscriptsPassword !== undefined && + input.associatedTranscriptsPassword !== null && { + associatedTranscriptsPassword: input.associatedTranscriptsPassword, + }), + ...(input.botLocaleExportPassword !== undefined && + input.botLocaleExportPassword !== null && { botLocaleExportPassword: input.botLocaleExportPassword }), + ...(input.kmsKeyArn !== undefined && input.kmsKeyArn !== null && { kmsKeyArn: input.kmsKeyArn }), + }; +}; + const serializeAws_restJson1ExportFilter = (input: ExportFilter, context: __SerdeContext): any => { return { ...(input.name !== undefined && input.name !== null && { name: input.name }), @@ -9980,6 +11146,15 @@ const serializeAws_restJson1LambdaCodeHook = (input: LambdaCodeHook, context: __ }; }; +const serializeAws_restJson1LexTranscriptFilter = (input: LexTranscriptFilter, context: __SerdeContext): any => { + return { + ...(input.dateRangeFilter !== undefined && + input.dateRangeFilter !== null && { + dateRangeFilter: serializeAws_restJson1DateRangeFilter(input.dateRangeFilter, context), + }), + }; +}; + const serializeAws_restJson1Message = (input: Message, context: __SerdeContext): any => { return { ...(input.customPayload !== undefined && @@ -10046,6 +11221,17 @@ const serializeAws_restJson1ObfuscationSetting = (input: ObfuscationSetting, con }; }; +const serializeAws_restJson1ObjectPrefixes = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_restJson1OperationList = (input: string[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -10077,6 +11263,15 @@ const serializeAws_restJson1OutputContextsList = (input: OutputContext[], contex }); }; +const serializeAws_restJson1PathFormat = (input: PathFormat, context: __SerdeContext): any => { + return { + ...(input.objectPrefixes !== undefined && + input.objectPrefixes !== null && { + objectPrefixes: serializeAws_restJson1ObjectPrefixes(input.objectPrefixes, context), + }), + }; +}; + const serializeAws_restJson1PlainTextMessage = (input: PlainTextMessage, context: __SerdeContext): any => { return { ...(input.value !== undefined && input.value !== null && { value: input.value }), @@ -10162,6 +11357,24 @@ const serializeAws_restJson1S3BucketLogDestination = (input: S3BucketLogDestinat }; }; +const serializeAws_restJson1S3BucketTranscriptSource = ( + input: S3BucketTranscriptSource, + context: __SerdeContext +): any => { + return { + ...(input.kmsKeyArn !== undefined && input.kmsKeyArn !== null && { kmsKeyArn: input.kmsKeyArn }), + ...(input.pathFormat !== undefined && + input.pathFormat !== null && { pathFormat: serializeAws_restJson1PathFormat(input.pathFormat, context) }), + ...(input.s3BucketName !== undefined && input.s3BucketName !== null && { s3BucketName: input.s3BucketName }), + ...(input.transcriptFilter !== undefined && + input.transcriptFilter !== null && { + transcriptFilter: serializeAws_restJson1TranscriptFilter(input.transcriptFilter, context), + }), + ...(input.transcriptFormat !== undefined && + input.transcriptFormat !== null && { transcriptFormat: input.transcriptFormat }), + }; +}; + const serializeAws_restJson1SampleUtterance = (input: SampleUtterance, context: __SerdeContext): any => { return { ...(input.utterance !== undefined && input.utterance !== null && { utterance: input.utterance }), @@ -10445,6 +11658,30 @@ const serializeAws_restJson1TextLogSettingsList = (input: TextLogSetting[], cont }); }; +const serializeAws_restJson1TranscriptFilter = (input: TranscriptFilter, context: __SerdeContext): any => { + return { + ...(input.lexTranscriptFilter !== undefined && + input.lexTranscriptFilter !== null && { + lexTranscriptFilter: serializeAws_restJson1LexTranscriptFilter(input.lexTranscriptFilter, context), + }), + }; +}; + +const serializeAws_restJson1TranscriptSourceSetting = ( + input: TranscriptSourceSetting, + context: __SerdeContext +): any => { + return { + ...(input.s3BucketTranscriptSource !== undefined && + input.s3BucketTranscriptSource !== null && { + s3BucketTranscriptSource: serializeAws_restJson1S3BucketTranscriptSource( + input.s3BucketTranscriptSource, + context + ), + }), + }; +}; + const serializeAws_restJson1UtteranceAggregationDuration = ( input: UtteranceAggregationDuration, context: __SerdeContext @@ -10527,6 +11764,26 @@ const deserializeAws_restJson1AggregatedUtterancesSummaryList = ( }); }; +const deserializeAws_restJson1AssociatedTranscript = (output: any, context: __SerdeContext): AssociatedTranscript => { + return { + transcript: __expectString(output.transcript), + } as any; +}; + +const deserializeAws_restJson1AssociatedTranscriptList = ( + output: any, + context: __SerdeContext +): AssociatedTranscript[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AssociatedTranscript(entry, context); + }); +}; + const deserializeAws_restJson1AudioLogDestination = (output: any, context: __SerdeContext): AudioLogDestination => { return { s3Bucket: @@ -10757,6 +12014,68 @@ const deserializeAws_restJson1BotLocaleSummaryList = (output: any, context: __Se }); }; +const deserializeAws_restJson1BotRecommendationResults = ( + output: any, + context: __SerdeContext +): BotRecommendationResults => { + return { + associatedTranscriptsUrl: __expectString(output.associatedTranscriptsUrl), + botLocaleExportUrl: __expectString(output.botLocaleExportUrl), + statistics: + output.statistics !== undefined && output.statistics !== null + ? deserializeAws_restJson1BotRecommendationResultStatistics(output.statistics, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1BotRecommendationResultStatistics = ( + output: any, + context: __SerdeContext +): BotRecommendationResultStatistics => { + return { + intents: + output.intents !== undefined && output.intents !== null + ? deserializeAws_restJson1IntentStatistics(output.intents, context) + : undefined, + slotTypes: + output.slotTypes !== undefined && output.slotTypes !== null + ? deserializeAws_restJson1SlotTypeStatistics(output.slotTypes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1BotRecommendationSummary = ( + output: any, + context: __SerdeContext +): BotRecommendationSummary => { + return { + botRecommendationId: __expectString(output.botRecommendationId), + botRecommendationStatus: __expectString(output.botRecommendationStatus), + creationDateTime: + output.creationDateTime !== undefined && output.creationDateTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.creationDateTime))) + : undefined, + lastUpdatedDateTime: + output.lastUpdatedDateTime !== undefined && output.lastUpdatedDateTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime))) + : undefined, + } as any; +}; + +const deserializeAws_restJson1BotRecommendationSummaryList = ( + output: any, + context: __SerdeContext +): BotRecommendationSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1BotRecommendationSummary(entry, context); + }); +}; + const deserializeAws_restJson1BotSummary = (output: any, context: __SerdeContext): BotSummary => { return { botId: __expectString(output.botId), @@ -10943,6 +12262,19 @@ const deserializeAws_restJson1DataPrivacy = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_restJson1DateRangeFilter = (output: any, context: __SerdeContext): DateRangeFilter => { + return { + endDateTime: + output.endDateTime !== undefined && output.endDateTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.endDateTime))) + : undefined, + startDateTime: + output.startDateTime !== undefined && output.startDateTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.startDateTime))) + : undefined, + } as any; +}; + const deserializeAws_restJson1DialogCodeHookSettings = ( output: any, context: __SerdeContext @@ -10952,6 +12284,14 @@ const deserializeAws_restJson1DialogCodeHookSettings = ( } as any; }; +const deserializeAws_restJson1EncryptionSetting = (output: any, context: __SerdeContext): EncryptionSetting => { + return { + associatedTranscriptsPassword: __expectString(output.associatedTranscriptsPassword), + botLocaleExportPassword: __expectString(output.botLocaleExportPassword), + kmsKeyArn: __expectString(output.kmsKeyArn), + } as any; +}; + const deserializeAws_restJson1ExportResourceSpecification = ( output: any, context: __SerdeContext @@ -11174,6 +12514,12 @@ const deserializeAws_restJson1IntentConfirmationSetting = ( } as any; }; +const deserializeAws_restJson1IntentStatistics = (output: any, context: __SerdeContext): IntentStatistics => { + return { + discoveredIntentCount: __expectInt32(output.discoveredIntentCount), + } as any; +}; + const deserializeAws_restJson1IntentSummary = (output: any, context: __SerdeContext): IntentSummary => { return { description: __expectString(output.description), @@ -11221,6 +12567,15 @@ const deserializeAws_restJson1LambdaCodeHook = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1LexTranscriptFilter = (output: any, context: __SerdeContext): LexTranscriptFilter => { + return { + dateRangeFilter: + output.dateRangeFilter !== undefined && output.dateRangeFilter !== null + ? deserializeAws_restJson1DateRangeFilter(output.dateRangeFilter, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1Message = (output: any, context: __SerdeContext): Message => { return { customPayload: @@ -11289,6 +12644,17 @@ const deserializeAws_restJson1ObfuscationSetting = (output: any, context: __Serd } as any; }; +const deserializeAws_restJson1ObjectPrefixes = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_restJson1OutputContext = (output: any, context: __SerdeContext): OutputContext => { return { name: __expectString(output.name), @@ -11308,6 +12674,15 @@ const deserializeAws_restJson1OutputContextsList = (output: any, context: __Serd }); }; +const deserializeAws_restJson1PathFormat = (output: any, context: __SerdeContext): PathFormat => { + return { + objectPrefixes: + output.objectPrefixes !== undefined && output.objectPrefixes !== null + ? deserializeAws_restJson1ObjectPrefixes(output.objectPrefixes, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1PlainTextMessage = (output: any, context: __SerdeContext): PlainTextMessage => { return { value: __expectString(output.value), @@ -11345,6 +12720,31 @@ const deserializeAws_restJson1PromptSpecification = (output: any, context: __Ser } as any; }; +const deserializeAws_restJson1RecommendedIntentSummary = ( + output: any, + context: __SerdeContext +): RecommendedIntentSummary => { + return { + intentId: __expectString(output.intentId), + intentName: __expectString(output.intentName), + sampleUtterancesCount: __expectInt32(output.sampleUtterancesCount), + } as any; +}; + +const deserializeAws_restJson1RecommendedIntentSummaryList = ( + output: any, + context: __SerdeContext +): RecommendedIntentSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1RecommendedIntentSummary(entry, context); + }); +}; + const deserializeAws_restJson1RelativeAggregationDuration = ( output: any, context: __SerdeContext @@ -11376,6 +12776,25 @@ const deserializeAws_restJson1S3BucketLogDestination = ( } as any; }; +const deserializeAws_restJson1S3BucketTranscriptSource = ( + output: any, + context: __SerdeContext +): S3BucketTranscriptSource => { + return { + kmsKeyArn: __expectString(output.kmsKeyArn), + pathFormat: + output.pathFormat !== undefined && output.pathFormat !== null + ? deserializeAws_restJson1PathFormat(output.pathFormat, context) + : undefined, + s3BucketName: __expectString(output.s3BucketName), + transcriptFilter: + output.transcriptFilter !== undefined && output.transcriptFilter !== null + ? deserializeAws_restJson1TranscriptFilter(output.transcriptFilter, context) + : undefined, + transcriptFormat: __expectString(output.transcriptFormat), + } as any; +}; + const deserializeAws_restJson1SampleUtterance = (output: any, context: __SerdeContext): SampleUtterance => { return { utterance: __expectString(output.utterance), @@ -11484,6 +12903,12 @@ const deserializeAws_restJson1SlotSummaryList = (output: any, context: __SerdeCo }); }; +const deserializeAws_restJson1SlotTypeStatistics = (output: any, context: __SerdeContext): SlotTypeStatistics => { + return { + discoveredSlotTypeCount: __expectInt32(output.discoveredSlotTypeCount), + } as any; +}; + const deserializeAws_restJson1SlotTypeSummary = (output: any, context: __SerdeContext): SlotTypeSummary => { return { description: __expectString(output.description), @@ -11650,6 +13075,27 @@ const deserializeAws_restJson1TextLogSettingsList = (output: any, context: __Ser }); }; +const deserializeAws_restJson1TranscriptFilter = (output: any, context: __SerdeContext): TranscriptFilter => { + return { + lexTranscriptFilter: + output.lexTranscriptFilter !== undefined && output.lexTranscriptFilter !== null + ? deserializeAws_restJson1LexTranscriptFilter(output.lexTranscriptFilter, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1TranscriptSourceSetting = ( + output: any, + context: __SerdeContext +): TranscriptSourceSetting => { + return { + s3BucketTranscriptSource: + output.s3BucketTranscriptSource !== undefined && output.s3BucketTranscriptSource !== null + ? deserializeAws_restJson1S3BucketTranscriptSource(output.s3BucketTranscriptSource, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1UtteranceAggregationDuration = ( output: any, context: __SerdeContext diff --git a/clients/client-sagemaker-runtime/src/SageMakerRuntime.ts b/clients/client-sagemaker-runtime/src/SageMakerRuntime.ts index 8620a92291d8..abfeb2d47942 100644 --- a/clients/client-sagemaker-runtime/src/SageMakerRuntime.ts +++ b/clients/client-sagemaker-runtime/src/SageMakerRuntime.ts @@ -24,9 +24,9 @@ export class SageMakerRuntime extends SageMakerRuntimeClient { *

                                                        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 + *

                                                        Calls to InvokeEndpoint are authenticated by using Amazon Web Services Signature Version * 4. For information, see Authenticating - * Requests (AWS Signature Version 4) in the Amazon S3 API + * Requests (Amazon Web Services 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 @@ -82,8 +82,8 @@ export class SageMakerRuntime extends SageMakerRuntimeClient { * Amazon SageMaker might add additional headers. You should not rely on the behavior * of headers outside those enumerated in the request syntax.

                                                        * - *

                                                        Calls to InvokeEndpointAsync are authenticated by using AWS Signature - * Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API + *

                                                        Calls to InvokeEndpointAsync are authenticated by using Amazon Web Services Signature + * Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API * Reference.

                                                        */ public invokeEndpointAsync( diff --git a/clients/client-sagemaker-runtime/src/commands/InvokeEndpointAsyncCommand.ts b/clients/client-sagemaker-runtime/src/commands/InvokeEndpointAsyncCommand.ts index ba445f0b6a91..c8629b8e8c5a 100644 --- a/clients/client-sagemaker-runtime/src/commands/InvokeEndpointAsyncCommand.ts +++ b/clients/client-sagemaker-runtime/src/commands/InvokeEndpointAsyncCommand.ts @@ -36,8 +36,8 @@ export interface InvokeEndpointAsyncCommandOutput extends InvokeEndpointAsyncOut * Amazon SageMaker might add additional headers. You should not rely on the behavior * of headers outside those enumerated in the request syntax.

                                                        * - *

                                                        Calls to InvokeEndpointAsync are authenticated by using AWS Signature - * Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API + *

                                                        Calls to InvokeEndpointAsync are authenticated by using Amazon Web Services Signature + * Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API * Reference.

                                                        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-sagemaker-runtime/src/commands/InvokeEndpointCommand.ts b/clients/client-sagemaker-runtime/src/commands/InvokeEndpointCommand.ts index 8bc5f22d8a1a..55d804f2f85c 100644 --- a/clients/client-sagemaker-runtime/src/commands/InvokeEndpointCommand.ts +++ b/clients/client-sagemaker-runtime/src/commands/InvokeEndpointCommand.ts @@ -29,9 +29,9 @@ export interface InvokeEndpointCommandOutput extends InvokeEndpointOutput, __Met *

                                                        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 + *

                                                        Calls to InvokeEndpoint are authenticated by using Amazon Web Services Signature Version * 4. For information, see Authenticating - * Requests (AWS Signature Version 4) in the Amazon S3 API + * Requests (Amazon Web Services 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 diff --git a/clients/client-sagemaker-runtime/src/models/models_0.ts b/clients/client-sagemaker-runtime/src/models/models_0.ts index e404f1c416de..57f5b61b9ed2 100644 --- a/clients/client-sagemaker-runtime/src/models/models_0.ts +++ b/clients/client-sagemaker-runtime/src/models/models_0.ts @@ -1,6 +1,24 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; +/** + *

                                                        Your request caused an exception with an internal dependency. Contact customer support.

                                                        + */ +export interface InternalDependencyException extends __SmithyException, $MetadataBearer { + name: "InternalDependencyException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalDependencyException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InternalDependencyException): any => ({ + ...obj, + }); +} + /** *

                                                        An internal failure occurred.

                                                        */ @@ -58,7 +76,7 @@ export interface InvokeEndpointInput { * prepend the custom attribute with Trace ID: in your post-processing * function.

                                                        * - *

                                                        This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python + *

                                                        This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python * SDK.

                                                        */ CustomAttributes?: string; @@ -137,7 +155,7 @@ export interface InvokeEndpointOutput { * returned. For example, if a custom attribute represents the trace ID, your model can * prepend the custom attribute with Trace ID: in your post-processing * function.

                                                        - *

                                                        This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python + *

                                                        This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python * SDK.

                                                        */ CustomAttributes?: string; @@ -187,6 +205,24 @@ export namespace ModelError { }); } +/** + *

                                                        Either a serverless endpoint variant's resources are still being provisioned, or a multi-model endpoint is still downloading or loading the target model. Wait and try your request again.

                                                        + */ +export interface ModelNotReadyException extends __SmithyException, $MetadataBearer { + name: "ModelNotReadyException"; + $fault: "client"; + Message?: string; +} + +export namespace ModelNotReadyException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelNotReadyException): any => ({ + ...obj, + }); +} + /** *

                                                        The service is unavailable. Try your call again.

                                                        */ @@ -257,7 +293,7 @@ export interface InvokeEndpointAsyncInput { * value is returned. For example, if a custom attribute represents the trace ID, * your model can prepend the custom attribute with Trace ID: in your post-processing function.

                                                        * - *

                                                        This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                                                        + *

                                                        This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.

                                                        */ CustomAttributes?: string; diff --git a/clients/client-sagemaker-runtime/src/protocols/Aws_restJson1.ts b/clients/client-sagemaker-runtime/src/protocols/Aws_restJson1.ts index 9a4d0a754008..04e127b15685 100644 --- a/clients/client-sagemaker-runtime/src/protocols/Aws_restJson1.ts +++ b/clients/client-sagemaker-runtime/src/protocols/Aws_restJson1.ts @@ -19,7 +19,14 @@ import { InvokeEndpointAsyncCommandOutput, } from "../commands/InvokeEndpointAsyncCommand"; import { InvokeEndpointCommandInput, InvokeEndpointCommandOutput } from "../commands/InvokeEndpointCommand"; -import { InternalFailure, ModelError, ServiceUnavailable, ValidationError } from "../models/models_0"; +import { + InternalDependencyException, + InternalFailure, + ModelError, + ModelNotReadyException, + ServiceUnavailable, + ValidationError, +} from "../models/models_0"; export const serializeAws_restJson1InvokeEndpointCommand = async ( input: InvokeEndpointCommandInput, @@ -147,6 +154,14 @@ const deserializeAws_restJson1InvokeEndpointCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "InternalDependencyException": + case "com.amazonaws.sagemakerruntime#InternalDependencyException": + response = { + ...(await deserializeAws_restJson1InternalDependencyExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalFailure": case "com.amazonaws.sagemakerruntime#InternalFailure": response = { @@ -163,6 +178,14 @@ const deserializeAws_restJson1InvokeEndpointCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ModelNotReadyException": + case "com.amazonaws.sagemakerruntime#ModelNotReadyException": + response = { + ...(await deserializeAws_restJson1ModelNotReadyExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceUnavailable": case "com.amazonaws.sagemakerruntime#ServiceUnavailable": response = { @@ -271,6 +294,23 @@ const deserializeAws_restJson1InvokeEndpointAsyncCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_restJson1InternalDependencyExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InternalDependencyException = { + name: "InternalDependencyException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = __expectString(data.Message); + } + return contents; +}; + const deserializeAws_restJson1InternalFailureResponse = async ( parsedOutput: any, context: __SerdeContext @@ -317,6 +357,23 @@ const deserializeAws_restJson1ModelErrorResponse = async ( return contents; }; +const deserializeAws_restJson1ModelNotReadyExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ModelNotReadyException = { + name: "ModelNotReadyException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = __expectString(data.Message); + } + return contents; +}; + const deserializeAws_restJson1ServiceUnavailableResponse = async ( parsedOutput: any, context: __SerdeContext diff --git a/clients/client-sagemaker/src/SageMaker.ts b/clients/client-sagemaker/src/SageMaker.ts index 37fb84960d8e..f8012e922f83 100644 --- a/clients/client-sagemaker/src/SageMaker.ts +++ b/clients/client-sagemaker/src/SageMaker.ts @@ -118,6 +118,11 @@ import { CreateImageVersionCommandInput, CreateImageVersionCommandOutput, } from "./commands/CreateImageVersionCommand"; +import { + CreateInferenceRecommendationsJobCommand, + CreateInferenceRecommendationsJobCommandInput, + CreateInferenceRecommendationsJobCommandOutput, +} from "./commands/CreateInferenceRecommendationsJobCommand"; import { CreateLabelingJobCommand, CreateLabelingJobCommandInput, @@ -511,11 +516,21 @@ import { DescribeImageVersionCommandInput, DescribeImageVersionCommandOutput, } from "./commands/DescribeImageVersionCommand"; +import { + DescribeInferenceRecommendationsJobCommand, + DescribeInferenceRecommendationsJobCommandInput, + DescribeInferenceRecommendationsJobCommandOutput, +} from "./commands/DescribeInferenceRecommendationsJobCommand"; import { DescribeLabelingJobCommand, DescribeLabelingJobCommandInput, DescribeLabelingJobCommandOutput, } from "./commands/DescribeLabelingJobCommand"; +import { + DescribeLineageGroupCommand, + DescribeLineageGroupCommandInput, + DescribeLineageGroupCommandOutput, +} from "./commands/DescribeLineageGroupCommand"; import { DescribeModelBiasJobDefinitionCommand, DescribeModelBiasJobDefinitionCommandInput, @@ -651,6 +666,11 @@ import { GetDeviceFleetReportCommandInput, GetDeviceFleetReportCommandOutput, } from "./commands/GetDeviceFleetReportCommand"; +import { + GetLineageGroupPolicyCommand, + GetLineageGroupPolicyCommandInput, + GetLineageGroupPolicyCommandOutput, +} from "./commands/GetLineageGroupPolicyCommand"; import { GetModelPackageGroupPolicyCommand, GetModelPackageGroupPolicyCommandInput, @@ -771,6 +791,11 @@ import { ListImageVersionsCommandInput, ListImageVersionsCommandOutput, } from "./commands/ListImageVersionsCommand"; +import { + ListInferenceRecommendationsJobsCommand, + ListInferenceRecommendationsJobsCommandInput, + ListInferenceRecommendationsJobsCommandOutput, +} from "./commands/ListInferenceRecommendationsJobsCommand"; import { ListLabelingJobsCommand, ListLabelingJobsCommandInput, @@ -781,6 +806,11 @@ import { ListLabelingJobsForWorkteamCommandInput, ListLabelingJobsForWorkteamCommandOutput, } from "./commands/ListLabelingJobsForWorkteamCommand"; +import { + ListLineageGroupsCommand, + ListLineageGroupsCommandInput, + ListLineageGroupsCommandOutput, +} from "./commands/ListLineageGroupsCommand"; import { ListModelBiasJobDefinitionsCommand, ListModelBiasJobDefinitionsCommandInput, @@ -791,6 +821,11 @@ import { ListModelExplainabilityJobDefinitionsCommandInput, ListModelExplainabilityJobDefinitionsCommandOutput, } from "./commands/ListModelExplainabilityJobDefinitionsCommand"; +import { + ListModelMetadataCommand, + ListModelMetadataCommandInput, + ListModelMetadataCommandOutput, +} from "./commands/ListModelMetadataCommand"; import { ListModelPackageGroupsCommand, ListModelPackageGroupsCommandInput, @@ -909,6 +944,11 @@ import { PutModelPackageGroupPolicyCommandInput, PutModelPackageGroupPolicyCommandOutput, } from "./commands/PutModelPackageGroupPolicyCommand"; +import { + QueryLineageCommand, + QueryLineageCommandInput, + QueryLineageCommandOutput, +} from "./commands/QueryLineageCommand"; import { RegisterDevicesCommand, RegisterDevicesCommandInput, @@ -970,6 +1010,11 @@ import { StopHyperParameterTuningJobCommandInput, StopHyperParameterTuningJobCommandOutput, } from "./commands/StopHyperParameterTuningJobCommand"; +import { + StopInferenceRecommendationsJobCommand, + StopInferenceRecommendationsJobCommandInput, + StopInferenceRecommendationsJobCommandOutput, +} from "./commands/StopInferenceRecommendationsJobCommand"; import { StopLabelingJobCommand, StopLabelingJobCommandInput, @@ -2225,6 +2270,39 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Starts a recommendation job. You can create either an instance + * recommendation or load test job.

                                                        + */ + public createInferenceRecommendationsJob( + args: CreateInferenceRecommendationsJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createInferenceRecommendationsJob( + args: CreateInferenceRecommendationsJobCommandInput, + cb: (err: any, data?: CreateInferenceRecommendationsJobCommandOutput) => void + ): void; + public createInferenceRecommendationsJob( + args: CreateInferenceRecommendationsJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateInferenceRecommendationsJobCommandOutput) => void + ): void; + public createInferenceRecommendationsJob( + args: CreateInferenceRecommendationsJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateInferenceRecommendationsJobCommandOutput) => void), + cb?: (err: any, data?: CreateInferenceRecommendationsJobCommandOutput) => void + ): Promise | void { + const command = new CreateInferenceRecommendationsJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 job that uses workers to label the data objects in your input dataset. You * can use the labeled data to train machine learning models.

                                                        @@ -5296,6 +5374,39 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Provides the results of the Inference Recommender job. + * One or more recommendation jobs are returned.

                                                        + */ + public describeInferenceRecommendationsJob( + args: DescribeInferenceRecommendationsJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInferenceRecommendationsJob( + args: DescribeInferenceRecommendationsJobCommandInput, + cb: (err: any, data?: DescribeInferenceRecommendationsJobCommandOutput) => void + ): void; + public describeInferenceRecommendationsJob( + args: DescribeInferenceRecommendationsJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInferenceRecommendationsJobCommandOutput) => void + ): void; + public describeInferenceRecommendationsJob( + args: DescribeInferenceRecommendationsJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeInferenceRecommendationsJobCommandOutput) => void), + cb?: (err: any, data?: DescribeInferenceRecommendationsJobCommandOutput) => void + ): Promise | void { + const command = new DescribeInferenceRecommendationsJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 labeling job.

                                                        */ @@ -5328,6 +5439,40 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Provides a list of properties for the requested lineage group. + * For more information, see + * Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

                                                        + */ + public describeLineageGroup( + args: DescribeLineageGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeLineageGroup( + args: DescribeLineageGroupCommandInput, + cb: (err: any, data?: DescribeLineageGroupCommandOutput) => void + ): void; + public describeLineageGroup( + args: DescribeLineageGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeLineageGroupCommandOutput) => void + ): void; + public describeLineageGroup( + args: DescribeLineageGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeLineageGroupCommandOutput) => void), + cb?: (err: any, data?: DescribeLineageGroupCommandOutput) => void + ): Promise | void { + const command = new DescribeLineageGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 model that you created using the CreateModel * API.

                                                        @@ -6229,6 +6374,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        The resource policy for the lineage group.

                                                        + */ + public getLineageGroupPolicy( + args: GetLineageGroupPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getLineageGroupPolicy( + args: GetLineageGroupPolicyCommandInput, + cb: (err: any, data?: GetLineageGroupPolicyCommandOutput) => void + ): void; + public getLineageGroupPolicy( + args: GetLineageGroupPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetLineageGroupPolicyCommandOutput) => void + ): void; + public getLineageGroupPolicy( + args: GetLineageGroupPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetLineageGroupPolicyCommandOutput) => void), + cb?: (err: any, data?: GetLineageGroupPolicyCommandOutput) => void + ): Promise | void { + const command = new GetLineageGroupPolicyCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 resource policy that manages access for a model group. For information about * resource policies, see Identity-based @@ -7111,6 +7288,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Lists recommendation jobs that satisfy various filters.

                                                        + */ + public listInferenceRecommendationsJobs( + args: ListInferenceRecommendationsJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listInferenceRecommendationsJobs( + args: ListInferenceRecommendationsJobsCommandInput, + cb: (err: any, data?: ListInferenceRecommendationsJobsCommandOutput) => void + ): void; + public listInferenceRecommendationsJobs( + args: ListInferenceRecommendationsJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListInferenceRecommendationsJobsCommandOutput) => void + ): void; + public listInferenceRecommendationsJobs( + args: ListInferenceRecommendationsJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListInferenceRecommendationsJobsCommandOutput) => void), + cb?: (err: any, data?: ListInferenceRecommendationsJobsCommandOutput) => void + ): Promise | void { + const command = new ListInferenceRecommendationsJobsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 labeling jobs.

                                                        */ @@ -7175,6 +7384,40 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        A list of lineage groups shared with your Amazon Web Services account. + * For more information, see + * Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

                                                        + */ + public listLineageGroups( + args: ListLineageGroupsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listLineageGroups( + args: ListLineageGroupsCommandInput, + cb: (err: any, data?: ListLineageGroupsCommandOutput) => void + ): void; + public listLineageGroups( + args: ListLineageGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListLineageGroupsCommandOutput) => void + ): void; + public listLineageGroups( + args: ListLineageGroupsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListLineageGroupsCommandOutput) => void), + cb?: (err: any, data?: ListLineageGroupsCommandOutput) => void + ): Promise | void { + const command = new ListLineageGroupsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 model bias jobs definitions that satisfy various filters.

                                                        */ @@ -7241,6 +7484,39 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Lists the domain, framework, task, and model name of standard + * machine learning models found in common model zoos.

                                                        + */ + public listModelMetadata( + args: ListModelMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listModelMetadata( + args: ListModelMetadataCommandInput, + cb: (err: any, data?: ListModelMetadataCommandOutput) => void + ): void; + public listModelMetadata( + args: ListModelMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListModelMetadataCommandOutput) => void + ): void; + public listModelMetadata( + args: ListModelMetadataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListModelMetadataCommandOutput) => void), + cb?: (err: any, data?: ListModelMetadataCommandOutput) => void + ): Promise | void { + const command = new ListModelMetadataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 the model groups in your Amazon Web Services account.

                                                        */ @@ -8106,6 +8382,37 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Use this action to inspect your lineage and discover relationships between entities. + * For more information, see + * Querying Lineage Entities in the Amazon SageMaker Developer Guide.

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

                                                        Register devices.

                                                        */ @@ -8542,6 +8849,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                        Stops an Inference Recommender job.

                                                        + */ + public stopInferenceRecommendationsJob( + args: StopInferenceRecommendationsJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public stopInferenceRecommendationsJob( + args: StopInferenceRecommendationsJobCommandInput, + cb: (err: any, data?: StopInferenceRecommendationsJobCommandOutput) => void + ): void; + public stopInferenceRecommendationsJob( + args: StopInferenceRecommendationsJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopInferenceRecommendationsJobCommandOutput) => void + ): void; + public stopInferenceRecommendationsJob( + args: StopInferenceRecommendationsJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StopInferenceRecommendationsJobCommandOutput) => void), + cb?: (err: any, data?: StopInferenceRecommendationsJobCommandOutput) => void + ): Promise | void { + const command = new StopInferenceRecommendationsJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 running labeling job. A job that is stopped cannot be restarted. Any results * obtained before the job is stopped are placed in the Amazon S3 output bucket.

                                                        diff --git a/clients/client-sagemaker/src/SageMakerClient.ts b/clients/client-sagemaker/src/SageMakerClient.ts index b5a3f0ce50da..75642dbdedde 100644 --- a/clients/client-sagemaker/src/SageMakerClient.ts +++ b/clients/client-sagemaker/src/SageMakerClient.ts @@ -105,6 +105,10 @@ import { } from "./commands/CreateHyperParameterTuningJobCommand"; import { CreateImageCommandInput, CreateImageCommandOutput } from "./commands/CreateImageCommand"; import { CreateImageVersionCommandInput, CreateImageVersionCommandOutput } from "./commands/CreateImageVersionCommand"; +import { + CreateInferenceRecommendationsJobCommandInput, + CreateInferenceRecommendationsJobCommandOutput, +} from "./commands/CreateInferenceRecommendationsJobCommand"; import { CreateLabelingJobCommandInput, CreateLabelingJobCommandOutput } from "./commands/CreateLabelingJobCommand"; import { CreateModelBiasJobDefinitionCommandInput, @@ -307,10 +311,18 @@ import { DescribeImageVersionCommandInput, DescribeImageVersionCommandOutput, } from "./commands/DescribeImageVersionCommand"; +import { + DescribeInferenceRecommendationsJobCommandInput, + DescribeInferenceRecommendationsJobCommandOutput, +} from "./commands/DescribeInferenceRecommendationsJobCommand"; import { DescribeLabelingJobCommandInput, DescribeLabelingJobCommandOutput, } from "./commands/DescribeLabelingJobCommand"; +import { + DescribeLineageGroupCommandInput, + DescribeLineageGroupCommandOutput, +} from "./commands/DescribeLineageGroupCommand"; import { DescribeModelBiasJobDefinitionCommandInput, DescribeModelBiasJobDefinitionCommandOutput, @@ -401,6 +413,10 @@ import { GetDeviceFleetReportCommandInput, GetDeviceFleetReportCommandOutput, } from "./commands/GetDeviceFleetReportCommand"; +import { + GetLineageGroupPolicyCommandInput, + GetLineageGroupPolicyCommandOutput, +} from "./commands/GetLineageGroupPolicyCommand"; import { GetModelPackageGroupPolicyCommandInput, GetModelPackageGroupPolicyCommandOutput, @@ -465,11 +481,16 @@ import { } from "./commands/ListHyperParameterTuningJobsCommand"; import { ListImagesCommandInput, ListImagesCommandOutput } from "./commands/ListImagesCommand"; import { ListImageVersionsCommandInput, ListImageVersionsCommandOutput } from "./commands/ListImageVersionsCommand"; +import { + ListInferenceRecommendationsJobsCommandInput, + ListInferenceRecommendationsJobsCommandOutput, +} from "./commands/ListInferenceRecommendationsJobsCommand"; import { ListLabelingJobsCommandInput, ListLabelingJobsCommandOutput } from "./commands/ListLabelingJobsCommand"; import { ListLabelingJobsForWorkteamCommandInput, ListLabelingJobsForWorkteamCommandOutput, } from "./commands/ListLabelingJobsForWorkteamCommand"; +import { ListLineageGroupsCommandInput, ListLineageGroupsCommandOutput } from "./commands/ListLineageGroupsCommand"; import { ListModelBiasJobDefinitionsCommandInput, ListModelBiasJobDefinitionsCommandOutput, @@ -478,6 +499,7 @@ import { ListModelExplainabilityJobDefinitionsCommandInput, ListModelExplainabilityJobDefinitionsCommandOutput, } from "./commands/ListModelExplainabilityJobDefinitionsCommand"; +import { ListModelMetadataCommandInput, ListModelMetadataCommandOutput } from "./commands/ListModelMetadataCommand"; import { ListModelPackageGroupsCommandInput, ListModelPackageGroupsCommandOutput, @@ -546,6 +568,7 @@ import { PutModelPackageGroupPolicyCommandInput, PutModelPackageGroupPolicyCommandOutput, } from "./commands/PutModelPackageGroupPolicyCommand"; +import { QueryLineageCommandInput, QueryLineageCommandOutput } from "./commands/QueryLineageCommand"; import { RegisterDevicesCommandInput, RegisterDevicesCommandOutput } from "./commands/RegisterDevicesCommand"; import { RenderUiTemplateCommandInput, RenderUiTemplateCommandOutput } from "./commands/RenderUiTemplateCommand"; import { @@ -583,6 +606,10 @@ import { StopHyperParameterTuningJobCommandInput, StopHyperParameterTuningJobCommandOutput, } from "./commands/StopHyperParameterTuningJobCommand"; +import { + StopInferenceRecommendationsJobCommandInput, + StopInferenceRecommendationsJobCommandOutput, +} from "./commands/StopInferenceRecommendationsJobCommand"; import { StopLabelingJobCommandInput, StopLabelingJobCommandOutput } from "./commands/StopLabelingJobCommand"; import { StopMonitoringScheduleCommandInput, @@ -677,6 +704,7 @@ export type ServiceInputTypes = | CreateHyperParameterTuningJobCommandInput | CreateImageCommandInput | CreateImageVersionCommandInput + | CreateInferenceRecommendationsJobCommandInput | CreateLabelingJobCommandInput | CreateModelBiasJobDefinitionCommandInput | CreateModelCommandInput @@ -762,7 +790,9 @@ export type ServiceInputTypes = | DescribeHyperParameterTuningJobCommandInput | DescribeImageCommandInput | DescribeImageVersionCommandInput + | DescribeInferenceRecommendationsJobCommandInput | DescribeLabelingJobCommandInput + | DescribeLineageGroupCommandInput | DescribeModelBiasJobDefinitionCommandInput | DescribeModelCommandInput | DescribeModelExplainabilityJobDefinitionCommandInput @@ -790,6 +820,7 @@ export type ServiceInputTypes = | DisassociateTrialComponentCommandInput | EnableSagemakerServicecatalogPortfolioCommandInput | GetDeviceFleetReportCommandInput + | GetLineageGroupPolicyCommandInput | GetModelPackageGroupPolicyCommandInput | GetSagemakerServicecatalogPortfolioStatusCommandInput | GetSearchSuggestionsCommandInput @@ -818,10 +849,13 @@ export type ServiceInputTypes = | ListHyperParameterTuningJobsCommandInput | ListImageVersionsCommandInput | ListImagesCommandInput + | ListInferenceRecommendationsJobsCommandInput | ListLabelingJobsCommandInput | ListLabelingJobsForWorkteamCommandInput + | ListLineageGroupsCommandInput | ListModelBiasJobDefinitionsCommandInput | ListModelExplainabilityJobDefinitionsCommandInput + | ListModelMetadataCommandInput | ListModelPackageGroupsCommandInput | ListModelPackagesCommandInput | ListModelQualityJobDefinitionsCommandInput @@ -848,6 +882,7 @@ export type ServiceInputTypes = | ListWorkforcesCommandInput | ListWorkteamsCommandInput | PutModelPackageGroupPolicyCommandInput + | QueryLineageCommandInput | RegisterDevicesCommandInput | RenderUiTemplateCommandInput | RetryPipelineExecutionCommandInput @@ -861,6 +896,7 @@ export type ServiceInputTypes = | StopCompilationJobCommandInput | StopEdgePackagingJobCommandInput | StopHyperParameterTuningJobCommandInput + | StopInferenceRecommendationsJobCommandInput | StopLabelingJobCommandInput | StopMonitoringScheduleCommandInput | StopNotebookInstanceCommandInput @@ -921,6 +957,7 @@ export type ServiceOutputTypes = | CreateHyperParameterTuningJobCommandOutput | CreateImageCommandOutput | CreateImageVersionCommandOutput + | CreateInferenceRecommendationsJobCommandOutput | CreateLabelingJobCommandOutput | CreateModelBiasJobDefinitionCommandOutput | CreateModelCommandOutput @@ -1006,7 +1043,9 @@ export type ServiceOutputTypes = | DescribeHyperParameterTuningJobCommandOutput | DescribeImageCommandOutput | DescribeImageVersionCommandOutput + | DescribeInferenceRecommendationsJobCommandOutput | DescribeLabelingJobCommandOutput + | DescribeLineageGroupCommandOutput | DescribeModelBiasJobDefinitionCommandOutput | DescribeModelCommandOutput | DescribeModelExplainabilityJobDefinitionCommandOutput @@ -1034,6 +1073,7 @@ export type ServiceOutputTypes = | DisassociateTrialComponentCommandOutput | EnableSagemakerServicecatalogPortfolioCommandOutput | GetDeviceFleetReportCommandOutput + | GetLineageGroupPolicyCommandOutput | GetModelPackageGroupPolicyCommandOutput | GetSagemakerServicecatalogPortfolioStatusCommandOutput | GetSearchSuggestionsCommandOutput @@ -1062,10 +1102,13 @@ export type ServiceOutputTypes = | ListHyperParameterTuningJobsCommandOutput | ListImageVersionsCommandOutput | ListImagesCommandOutput + | ListInferenceRecommendationsJobsCommandOutput | ListLabelingJobsCommandOutput | ListLabelingJobsForWorkteamCommandOutput + | ListLineageGroupsCommandOutput | ListModelBiasJobDefinitionsCommandOutput | ListModelExplainabilityJobDefinitionsCommandOutput + | ListModelMetadataCommandOutput | ListModelPackageGroupsCommandOutput | ListModelPackagesCommandOutput | ListModelQualityJobDefinitionsCommandOutput @@ -1092,6 +1135,7 @@ export type ServiceOutputTypes = | ListWorkforcesCommandOutput | ListWorkteamsCommandOutput | PutModelPackageGroupPolicyCommandOutput + | QueryLineageCommandOutput | RegisterDevicesCommandOutput | RenderUiTemplateCommandOutput | RetryPipelineExecutionCommandOutput @@ -1105,6 +1149,7 @@ export type ServiceOutputTypes = | StopCompilationJobCommandOutput | StopEdgePackagingJobCommandOutput | StopHyperParameterTuningJobCommandOutput + | StopInferenceRecommendationsJobCommandOutput | StopLabelingJobCommandOutput | StopMonitoringScheduleCommandOutput | StopNotebookInstanceCommandOutput diff --git a/clients/client-sagemaker/src/commands/CreateInferenceRecommendationsJobCommand.ts b/clients/client-sagemaker/src/commands/CreateInferenceRecommendationsJobCommand.ts new file mode 100644 index 000000000000..ff0f47c9ecd9 --- /dev/null +++ b/clients/client-sagemaker/src/commands/CreateInferenceRecommendationsJobCommand.ts @@ -0,0 +1,107 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + CreateInferenceRecommendationsJobRequest, + CreateInferenceRecommendationsJobResponse, +} from "../models/models_1"; +import { + deserializeAws_json1_1CreateInferenceRecommendationsJobCommand, + serializeAws_json1_1CreateInferenceRecommendationsJobCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface CreateInferenceRecommendationsJobCommandInput extends CreateInferenceRecommendationsJobRequest {} +export interface CreateInferenceRecommendationsJobCommandOutput + extends CreateInferenceRecommendationsJobResponse, + __MetadataBearer {} + +/** + *

                                                        Starts a recommendation job. You can create either an instance + * recommendation or load test job.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, CreateInferenceRecommendationsJobCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, CreateInferenceRecommendationsJobCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new CreateInferenceRecommendationsJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateInferenceRecommendationsJobCommandInput} for command's `input` shape. + * @see {@link CreateInferenceRecommendationsJobCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class CreateInferenceRecommendationsJobCommand extends $Command< + CreateInferenceRecommendationsJobCommandInput, + CreateInferenceRecommendationsJobCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateInferenceRecommendationsJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "CreateInferenceRecommendationsJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateInferenceRecommendationsJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateInferenceRecommendationsJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: CreateInferenceRecommendationsJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1CreateInferenceRecommendationsJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateInferenceRecommendationsJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/DescribeInferenceRecommendationsJobCommand.ts b/clients/client-sagemaker/src/commands/DescribeInferenceRecommendationsJobCommand.ts new file mode 100644 index 000000000000..19dc58894914 --- /dev/null +++ b/clients/client-sagemaker/src/commands/DescribeInferenceRecommendationsJobCommand.ts @@ -0,0 +1,107 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + DescribeInferenceRecommendationsJobRequest, + DescribeInferenceRecommendationsJobResponse, +} from "../models/models_1"; +import { + deserializeAws_json1_1DescribeInferenceRecommendationsJobCommand, + serializeAws_json1_1DescribeInferenceRecommendationsJobCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface DescribeInferenceRecommendationsJobCommandInput extends DescribeInferenceRecommendationsJobRequest {} +export interface DescribeInferenceRecommendationsJobCommandOutput + extends DescribeInferenceRecommendationsJobResponse, + __MetadataBearer {} + +/** + *

                                                        Provides the results of the Inference Recommender job. + * One or more recommendation jobs are returned.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, DescribeInferenceRecommendationsJobCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, DescribeInferenceRecommendationsJobCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new DescribeInferenceRecommendationsJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeInferenceRecommendationsJobCommandInput} for command's `input` shape. + * @see {@link DescribeInferenceRecommendationsJobCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class DescribeInferenceRecommendationsJobCommand extends $Command< + DescribeInferenceRecommendationsJobCommandInput, + DescribeInferenceRecommendationsJobCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInferenceRecommendationsJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "DescribeInferenceRecommendationsJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInferenceRecommendationsJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInferenceRecommendationsJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeInferenceRecommendationsJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeInferenceRecommendationsJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeInferenceRecommendationsJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/DescribeLineageGroupCommand.ts b/clients/client-sagemaker/src/commands/DescribeLineageGroupCommand.ts new file mode 100644 index 000000000000..b42008edf79c --- /dev/null +++ b/clients/client-sagemaker/src/commands/DescribeLineageGroupCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { DescribeLineageGroupRequest, DescribeLineageGroupResponse } from "../models/models_1"; +import { + deserializeAws_json1_1DescribeLineageGroupCommand, + serializeAws_json1_1DescribeLineageGroupCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface DescribeLineageGroupCommandInput extends DescribeLineageGroupRequest {} +export interface DescribeLineageGroupCommandOutput extends DescribeLineageGroupResponse, __MetadataBearer {} + +/** + *

                                                        Provides a list of properties for the requested lineage group. + * For more information, see + * Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, DescribeLineageGroupCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, DescribeLineageGroupCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new DescribeLineageGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeLineageGroupCommandInput} for command's `input` shape. + * @see {@link DescribeLineageGroupCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class DescribeLineageGroupCommand extends $Command< + DescribeLineageGroupCommandInput, + DescribeLineageGroupCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeLineageGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "DescribeLineageGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeLineageGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeLineageGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeLineageGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeLineageGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeLineageGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/DescribeModelBiasJobDefinitionCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelBiasJobDefinitionCommand.ts index eb5dc6fa6f8a..7fb2ae8bbaef 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelBiasJobDefinitionCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelBiasJobDefinitionCommand.ts @@ -11,7 +11,8 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeModelBiasJobDefinitionRequest, DescribeModelBiasJobDefinitionResponse } from "../models/models_1"; +import { DescribeModelBiasJobDefinitionRequest } from "../models/models_1"; +import { DescribeModelBiasJobDefinitionResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeModelBiasJobDefinitionCommand, serializeAws_json1_1DescribeModelBiasJobDefinitionCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeModelExplainabilityJobDefinitionCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelExplainabilityJobDefinitionCommand.ts index b2250294bc7b..8470a16cacf6 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelExplainabilityJobDefinitionCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelExplainabilityJobDefinitionCommand.ts @@ -14,7 +14,7 @@ import { import { DescribeModelExplainabilityJobDefinitionRequest, DescribeModelExplainabilityJobDefinitionResponse, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommand, serializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts index 189f93872bd1..24507a299447 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeModelPackageInput, DescribeModelPackageOutput } from "../models/models_1"; +import { DescribeModelPackageInput, DescribeModelPackageOutput } from "../models/models_2"; import { deserializeAws_json1_1DescribeModelPackageCommand, serializeAws_json1_1DescribeModelPackageCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeModelPackageGroupCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelPackageGroupCommand.ts index d7c595e5e198..5cb3322a3acb 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelPackageGroupCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelPackageGroupCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeModelPackageGroupInput, DescribeModelPackageGroupOutput } from "../models/models_1"; +import { DescribeModelPackageGroupInput, DescribeModelPackageGroupOutput } from "../models/models_2"; import { deserializeAws_json1_1DescribeModelPackageGroupCommand, serializeAws_json1_1DescribeModelPackageGroupCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeModelQualityJobDefinitionCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelQualityJobDefinitionCommand.ts index 60ce5995ccb7..03cb967b703f 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelQualityJobDefinitionCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelQualityJobDefinitionCommand.ts @@ -14,7 +14,7 @@ import { import { DescribeModelQualityJobDefinitionRequest, DescribeModelQualityJobDefinitionResponse, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_json1_1DescribeModelQualityJobDefinitionCommand, serializeAws_json1_1DescribeModelQualityJobDefinitionCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeMonitoringScheduleCommand.ts b/clients/client-sagemaker/src/commands/DescribeMonitoringScheduleCommand.ts index 21f9142afbae..dca04460a399 100644 --- a/clients/client-sagemaker/src/commands/DescribeMonitoringScheduleCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeMonitoringScheduleCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeMonitoringScheduleRequest, DescribeMonitoringScheduleResponse } from "../models/models_1"; +import { DescribeMonitoringScheduleRequest, DescribeMonitoringScheduleResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeMonitoringScheduleCommand, serializeAws_json1_1DescribeMonitoringScheduleCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeNotebookInstanceCommand.ts b/clients/client-sagemaker/src/commands/DescribeNotebookInstanceCommand.ts index 1cacb4a782d2..de134a22a6da 100644 --- a/clients/client-sagemaker/src/commands/DescribeNotebookInstanceCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeNotebookInstanceCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeNotebookInstanceInput, DescribeNotebookInstanceOutput } from "../models/models_1"; +import { DescribeNotebookInstanceInput, DescribeNotebookInstanceOutput } from "../models/models_2"; import { deserializeAws_json1_1DescribeNotebookInstanceCommand, serializeAws_json1_1DescribeNotebookInstanceCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeNotebookInstanceLifecycleConfigCommand.ts b/clients/client-sagemaker/src/commands/DescribeNotebookInstanceLifecycleConfigCommand.ts index 536671e65d5e..bfa1e3c75df3 100644 --- a/clients/client-sagemaker/src/commands/DescribeNotebookInstanceLifecycleConfigCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeNotebookInstanceLifecycleConfigCommand.ts @@ -14,7 +14,7 @@ import { import { DescribeNotebookInstanceLifecycleConfigInput, DescribeNotebookInstanceLifecycleConfigOutput, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommand, serializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommand, diff --git a/clients/client-sagemaker/src/commands/DescribePipelineCommand.ts b/clients/client-sagemaker/src/commands/DescribePipelineCommand.ts index 3b27bead7c5f..c1efad837a85 100644 --- a/clients/client-sagemaker/src/commands/DescribePipelineCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribePipelineCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribePipelineRequest, DescribePipelineResponse } from "../models/models_1"; +import { DescribePipelineRequest, DescribePipelineResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribePipelineCommand, serializeAws_json1_1DescribePipelineCommand, diff --git a/clients/client-sagemaker/src/commands/DescribePipelineDefinitionForExecutionCommand.ts b/clients/client-sagemaker/src/commands/DescribePipelineDefinitionForExecutionCommand.ts index f9f3caa03935..980188c85503 100644 --- a/clients/client-sagemaker/src/commands/DescribePipelineDefinitionForExecutionCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribePipelineDefinitionForExecutionCommand.ts @@ -14,7 +14,7 @@ import { import { DescribePipelineDefinitionForExecutionRequest, DescribePipelineDefinitionForExecutionResponse, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommand, serializeAws_json1_1DescribePipelineDefinitionForExecutionCommand, diff --git a/clients/client-sagemaker/src/commands/DescribePipelineExecutionCommand.ts b/clients/client-sagemaker/src/commands/DescribePipelineExecutionCommand.ts index c736615f5709..0c3f39426b32 100644 --- a/clients/client-sagemaker/src/commands/DescribePipelineExecutionCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribePipelineExecutionCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribePipelineExecutionRequest, DescribePipelineExecutionResponse } from "../models/models_1"; +import { DescribePipelineExecutionRequest, DescribePipelineExecutionResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribePipelineExecutionCommand, serializeAws_json1_1DescribePipelineExecutionCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeProcessingJobCommand.ts b/clients/client-sagemaker/src/commands/DescribeProcessingJobCommand.ts index e0d3ac3c6f65..09004445e2ab 100644 --- a/clients/client-sagemaker/src/commands/DescribeProcessingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeProcessingJobCommand.ts @@ -11,8 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeProcessingJobRequest } from "../models/models_1"; -import { DescribeProcessingJobResponse } from "../models/models_2"; +import { DescribeProcessingJobRequest, DescribeProcessingJobResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeProcessingJobCommand, serializeAws_json1_1DescribeProcessingJobCommand, diff --git a/clients/client-sagemaker/src/commands/GetLineageGroupPolicyCommand.ts b/clients/client-sagemaker/src/commands/GetLineageGroupPolicyCommand.ts new file mode 100644 index 000000000000..6a46e6ae5244 --- /dev/null +++ b/clients/client-sagemaker/src/commands/GetLineageGroupPolicyCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { GetLineageGroupPolicyRequest, GetLineageGroupPolicyResponse } from "../models/models_2"; +import { + deserializeAws_json1_1GetLineageGroupPolicyCommand, + serializeAws_json1_1GetLineageGroupPolicyCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface GetLineageGroupPolicyCommandInput extends GetLineageGroupPolicyRequest {} +export interface GetLineageGroupPolicyCommandOutput extends GetLineageGroupPolicyResponse, __MetadataBearer {} + +/** + *

                                                        The resource policy for the lineage group.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, GetLineageGroupPolicyCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, GetLineageGroupPolicyCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new GetLineageGroupPolicyCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetLineageGroupPolicyCommandInput} for command's `input` shape. + * @see {@link GetLineageGroupPolicyCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class GetLineageGroupPolicyCommand extends $Command< + GetLineageGroupPolicyCommandInput, + GetLineageGroupPolicyCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetLineageGroupPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "GetLineageGroupPolicyCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetLineageGroupPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetLineageGroupPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetLineageGroupPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetLineageGroupPolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetLineageGroupPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/ListInferenceRecommendationsJobsCommand.ts b/clients/client-sagemaker/src/commands/ListInferenceRecommendationsJobsCommand.ts new file mode 100644 index 000000000000..3fe20c37e067 --- /dev/null +++ b/clients/client-sagemaker/src/commands/ListInferenceRecommendationsJobsCommand.ts @@ -0,0 +1,103 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListInferenceRecommendationsJobsRequest, ListInferenceRecommendationsJobsResponse } from "../models/models_2"; +import { + deserializeAws_json1_1ListInferenceRecommendationsJobsCommand, + serializeAws_json1_1ListInferenceRecommendationsJobsCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface ListInferenceRecommendationsJobsCommandInput extends ListInferenceRecommendationsJobsRequest {} +export interface ListInferenceRecommendationsJobsCommandOutput + extends ListInferenceRecommendationsJobsResponse, + __MetadataBearer {} + +/** + *

                                                        Lists recommendation jobs that satisfy various filters.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, ListInferenceRecommendationsJobsCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, ListInferenceRecommendationsJobsCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new ListInferenceRecommendationsJobsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListInferenceRecommendationsJobsCommandInput} for command's `input` shape. + * @see {@link ListInferenceRecommendationsJobsCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class ListInferenceRecommendationsJobsCommand extends $Command< + ListInferenceRecommendationsJobsCommandInput, + ListInferenceRecommendationsJobsCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListInferenceRecommendationsJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "ListInferenceRecommendationsJobsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListInferenceRecommendationsJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInferenceRecommendationsJobsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListInferenceRecommendationsJobsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListInferenceRecommendationsJobsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListInferenceRecommendationsJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/ListLineageGroupsCommand.ts b/clients/client-sagemaker/src/commands/ListLineageGroupsCommand.ts new file mode 100644 index 000000000000..112d2b841441 --- /dev/null +++ b/clients/client-sagemaker/src/commands/ListLineageGroupsCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListLineageGroupsRequest, ListLineageGroupsResponse } from "../models/models_2"; +import { + deserializeAws_json1_1ListLineageGroupsCommand, + serializeAws_json1_1ListLineageGroupsCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface ListLineageGroupsCommandInput extends ListLineageGroupsRequest {} +export interface ListLineageGroupsCommandOutput extends ListLineageGroupsResponse, __MetadataBearer {} + +/** + *

                                                        A list of lineage groups shared with your Amazon Web Services account. + * For more information, see + * Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, ListLineageGroupsCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, ListLineageGroupsCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new ListLineageGroupsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListLineageGroupsCommandInput} for command's `input` shape. + * @see {@link ListLineageGroupsCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class ListLineageGroupsCommand extends $Command< + ListLineageGroupsCommandInput, + ListLineageGroupsCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListLineageGroupsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "ListLineageGroupsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListLineageGroupsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListLineageGroupsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListLineageGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListLineageGroupsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListLineageGroupsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/ListModelMetadataCommand.ts b/clients/client-sagemaker/src/commands/ListModelMetadataCommand.ts new file mode 100644 index 000000000000..3a4b32d15789 --- /dev/null +++ b/clients/client-sagemaker/src/commands/ListModelMetadataCommand.ts @@ -0,0 +1,96 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListModelMetadataRequest, ListModelMetadataResponse } from "../models/models_2"; +import { + deserializeAws_json1_1ListModelMetadataCommand, + serializeAws_json1_1ListModelMetadataCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface ListModelMetadataCommandInput extends ListModelMetadataRequest {} +export interface ListModelMetadataCommandOutput extends ListModelMetadataResponse, __MetadataBearer {} + +/** + *

                                                        Lists the domain, framework, task, and model name of standard + * machine learning models found in common model zoos.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, ListModelMetadataCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, ListModelMetadataCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new ListModelMetadataCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListModelMetadataCommandInput} for command's `input` shape. + * @see {@link ListModelMetadataCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class ListModelMetadataCommand extends $Command< + ListModelMetadataCommandInput, + ListModelMetadataCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListModelMetadataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "ListModelMetadataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListModelMetadataRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListModelMetadataResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListModelMetadataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListModelMetadataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListModelMetadataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/ListTransformJobsCommand.ts b/clients/client-sagemaker/src/commands/ListTransformJobsCommand.ts index 504c50939c1d..4dd115b3ee0a 100644 --- a/clients/client-sagemaker/src/commands/ListTransformJobsCommand.ts +++ b/clients/client-sagemaker/src/commands/ListTransformJobsCommand.ts @@ -11,7 +11,8 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { ListTransformJobsRequest, ListTransformJobsResponse } from "../models/models_2"; +import { ListTransformJobsRequest } from "../models/models_2"; +import { ListTransformJobsResponse } from "../models/models_3"; import { deserializeAws_json1_1ListTransformJobsCommand, serializeAws_json1_1ListTransformJobsCommand, diff --git a/clients/client-sagemaker/src/commands/ListTrialComponentsCommand.ts b/clients/client-sagemaker/src/commands/ListTrialComponentsCommand.ts index 6db98ddada86..e76237f8d7ad 100644 --- a/clients/client-sagemaker/src/commands/ListTrialComponentsCommand.ts +++ b/clients/client-sagemaker/src/commands/ListTrialComponentsCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { ListTrialComponentsRequest, ListTrialComponentsResponse } from "../models/models_2"; +import { ListTrialComponentsRequest, ListTrialComponentsResponse } from "../models/models_3"; import { deserializeAws_json1_1ListTrialComponentsCommand, serializeAws_json1_1ListTrialComponentsCommand, diff --git a/clients/client-sagemaker/src/commands/ListTrialsCommand.ts b/clients/client-sagemaker/src/commands/ListTrialsCommand.ts index e7f641691abf..b1b57c603ff4 100644 --- a/clients/client-sagemaker/src/commands/ListTrialsCommand.ts +++ b/clients/client-sagemaker/src/commands/ListTrialsCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { ListTrialsRequest, ListTrialsResponse } from "../models/models_2"; +import { ListTrialsRequest, ListTrialsResponse } from "../models/models_3"; import { deserializeAws_json1_1ListTrialsCommand, serializeAws_json1_1ListTrialsCommand, diff --git a/clients/client-sagemaker/src/commands/ListUserProfilesCommand.ts b/clients/client-sagemaker/src/commands/ListUserProfilesCommand.ts index b15f0772a16d..f99346ca2438 100644 --- a/clients/client-sagemaker/src/commands/ListUserProfilesCommand.ts +++ b/clients/client-sagemaker/src/commands/ListUserProfilesCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { ListUserProfilesRequest, ListUserProfilesResponse } from "../models/models_2"; +import { ListUserProfilesRequest, ListUserProfilesResponse } from "../models/models_3"; import { deserializeAws_json1_1ListUserProfilesCommand, serializeAws_json1_1ListUserProfilesCommand, diff --git a/clients/client-sagemaker/src/commands/ListWorkforcesCommand.ts b/clients/client-sagemaker/src/commands/ListWorkforcesCommand.ts index 1c09c59cfb9f..706eb24f4496 100644 --- a/clients/client-sagemaker/src/commands/ListWorkforcesCommand.ts +++ b/clients/client-sagemaker/src/commands/ListWorkforcesCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { ListWorkforcesRequest, ListWorkforcesResponse } from "../models/models_2"; +import { ListWorkforcesRequest, ListWorkforcesResponse } from "../models/models_3"; import { deserializeAws_json1_1ListWorkforcesCommand, serializeAws_json1_1ListWorkforcesCommand, diff --git a/clients/client-sagemaker/src/commands/ListWorkteamsCommand.ts b/clients/client-sagemaker/src/commands/ListWorkteamsCommand.ts index dd6cb505d35c..cc5a133aef61 100644 --- a/clients/client-sagemaker/src/commands/ListWorkteamsCommand.ts +++ b/clients/client-sagemaker/src/commands/ListWorkteamsCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { ListWorkteamsRequest, ListWorkteamsResponse } from "../models/models_2"; +import { ListWorkteamsRequest, ListWorkteamsResponse } from "../models/models_3"; import { deserializeAws_json1_1ListWorkteamsCommand, serializeAws_json1_1ListWorkteamsCommand, diff --git a/clients/client-sagemaker/src/commands/PutModelPackageGroupPolicyCommand.ts b/clients/client-sagemaker/src/commands/PutModelPackageGroupPolicyCommand.ts index ca6e58b9727c..3e1fa9708946 100644 --- a/clients/client-sagemaker/src/commands/PutModelPackageGroupPolicyCommand.ts +++ b/clients/client-sagemaker/src/commands/PutModelPackageGroupPolicyCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { PutModelPackageGroupPolicyInput, PutModelPackageGroupPolicyOutput } from "../models/models_2"; +import { PutModelPackageGroupPolicyInput, PutModelPackageGroupPolicyOutput } from "../models/models_3"; import { deserializeAws_json1_1PutModelPackageGroupPolicyCommand, serializeAws_json1_1PutModelPackageGroupPolicyCommand, diff --git a/clients/client-sagemaker/src/commands/QueryLineageCommand.ts b/clients/client-sagemaker/src/commands/QueryLineageCommand.ts new file mode 100644 index 000000000000..166f1b274874 --- /dev/null +++ b/clients/client-sagemaker/src/commands/QueryLineageCommand.ts @@ -0,0 +1,97 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { QueryLineageRequest, QueryLineageResponse } from "../models/models_3"; +import { + deserializeAws_json1_1QueryLineageCommand, + serializeAws_json1_1QueryLineageCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface QueryLineageCommandInput extends QueryLineageRequest {} +export interface QueryLineageCommandOutput extends QueryLineageResponse, __MetadataBearer {} + +/** + *

                                                        Use this action to inspect your lineage and discover relationships between entities. + * For more information, see + * Querying Lineage Entities in the Amazon SageMaker Developer Guide.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, QueryLineageCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, QueryLineageCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new QueryLineageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link QueryLineageCommandInput} for command's `input` shape. + * @see {@link QueryLineageCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class QueryLineageCommand extends $Command< + QueryLineageCommandInput, + QueryLineageCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: QueryLineageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "QueryLineageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: QueryLineageRequest.filterSensitiveLog, + outputFilterSensitiveLog: QueryLineageResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: QueryLineageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1QueryLineageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1QueryLineageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/RegisterDevicesCommand.ts b/clients/client-sagemaker/src/commands/RegisterDevicesCommand.ts index 55d12727cb78..1bfdbb79e932 100644 --- a/clients/client-sagemaker/src/commands/RegisterDevicesCommand.ts +++ b/clients/client-sagemaker/src/commands/RegisterDevicesCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { RegisterDevicesRequest } from "../models/models_2"; +import { RegisterDevicesRequest } from "../models/models_3"; import { deserializeAws_json1_1RegisterDevicesCommand, serializeAws_json1_1RegisterDevicesCommand, diff --git a/clients/client-sagemaker/src/commands/RenderUiTemplateCommand.ts b/clients/client-sagemaker/src/commands/RenderUiTemplateCommand.ts index 1ab7b5b3f863..058e66530a8a 100644 --- a/clients/client-sagemaker/src/commands/RenderUiTemplateCommand.ts +++ b/clients/client-sagemaker/src/commands/RenderUiTemplateCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { RenderUiTemplateRequest, RenderUiTemplateResponse } from "../models/models_2"; +import { RenderUiTemplateRequest, RenderUiTemplateResponse } from "../models/models_3"; import { deserializeAws_json1_1RenderUiTemplateCommand, serializeAws_json1_1RenderUiTemplateCommand, diff --git a/clients/client-sagemaker/src/commands/RetryPipelineExecutionCommand.ts b/clients/client-sagemaker/src/commands/RetryPipelineExecutionCommand.ts index 8e5e0f3ea5a2..dd6382e0bc0a 100644 --- a/clients/client-sagemaker/src/commands/RetryPipelineExecutionCommand.ts +++ b/clients/client-sagemaker/src/commands/RetryPipelineExecutionCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { RetryPipelineExecutionRequest, RetryPipelineExecutionResponse } from "../models/models_2"; +import { RetryPipelineExecutionRequest, RetryPipelineExecutionResponse } from "../models/models_3"; import { deserializeAws_json1_1RetryPipelineExecutionCommand, serializeAws_json1_1RetryPipelineExecutionCommand, diff --git a/clients/client-sagemaker/src/commands/SearchCommand.ts b/clients/client-sagemaker/src/commands/SearchCommand.ts index 8b8b662e15a8..541d8a9f2cd0 100644 --- a/clients/client-sagemaker/src/commands/SearchCommand.ts +++ b/clients/client-sagemaker/src/commands/SearchCommand.ts @@ -11,8 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { SearchResponse } from "../models/models_2"; -import { SearchRequest } from "../models/models_3"; +import { SearchRequest, SearchResponse } from "../models/models_3"; import { deserializeAws_json1_1SearchCommand, serializeAws_json1_1SearchCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/SendPipelineExecutionStepFailureCommand.ts b/clients/client-sagemaker/src/commands/SendPipelineExecutionStepFailureCommand.ts index 11552acac541..ce8e5f41ae60 100644 --- a/clients/client-sagemaker/src/commands/SendPipelineExecutionStepFailureCommand.ts +++ b/clients/client-sagemaker/src/commands/SendPipelineExecutionStepFailureCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { SendPipelineExecutionStepFailureRequest, SendPipelineExecutionStepFailureResponse } from "../models/models_2"; +import { SendPipelineExecutionStepFailureRequest, SendPipelineExecutionStepFailureResponse } from "../models/models_3"; import { deserializeAws_json1_1SendPipelineExecutionStepFailureCommand, serializeAws_json1_1SendPipelineExecutionStepFailureCommand, diff --git a/clients/client-sagemaker/src/commands/SendPipelineExecutionStepSuccessCommand.ts b/clients/client-sagemaker/src/commands/SendPipelineExecutionStepSuccessCommand.ts index 54b5d3ceeff4..93777397bc13 100644 --- a/clients/client-sagemaker/src/commands/SendPipelineExecutionStepSuccessCommand.ts +++ b/clients/client-sagemaker/src/commands/SendPipelineExecutionStepSuccessCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { SendPipelineExecutionStepSuccessRequest, SendPipelineExecutionStepSuccessResponse } from "../models/models_2"; +import { SendPipelineExecutionStepSuccessRequest, SendPipelineExecutionStepSuccessResponse } from "../models/models_3"; import { deserializeAws_json1_1SendPipelineExecutionStepSuccessCommand, serializeAws_json1_1SendPipelineExecutionStepSuccessCommand, diff --git a/clients/client-sagemaker/src/commands/StartMonitoringScheduleCommand.ts b/clients/client-sagemaker/src/commands/StartMonitoringScheduleCommand.ts index 665a30c794b7..f95b963ddb24 100644 --- a/clients/client-sagemaker/src/commands/StartMonitoringScheduleCommand.ts +++ b/clients/client-sagemaker/src/commands/StartMonitoringScheduleCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StartMonitoringScheduleRequest } from "../models/models_2"; +import { StartMonitoringScheduleRequest } from "../models/models_3"; import { deserializeAws_json1_1StartMonitoringScheduleCommand, serializeAws_json1_1StartMonitoringScheduleCommand, diff --git a/clients/client-sagemaker/src/commands/StartNotebookInstanceCommand.ts b/clients/client-sagemaker/src/commands/StartNotebookInstanceCommand.ts index 6bbf5cd2485f..c9bc28b7a976 100644 --- a/clients/client-sagemaker/src/commands/StartNotebookInstanceCommand.ts +++ b/clients/client-sagemaker/src/commands/StartNotebookInstanceCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StartNotebookInstanceInput } from "../models/models_2"; +import { StartNotebookInstanceInput } from "../models/models_3"; import { deserializeAws_json1_1StartNotebookInstanceCommand, serializeAws_json1_1StartNotebookInstanceCommand, diff --git a/clients/client-sagemaker/src/commands/StartPipelineExecutionCommand.ts b/clients/client-sagemaker/src/commands/StartPipelineExecutionCommand.ts index b8fde1e817a9..3f086ad66ac6 100644 --- a/clients/client-sagemaker/src/commands/StartPipelineExecutionCommand.ts +++ b/clients/client-sagemaker/src/commands/StartPipelineExecutionCommand.ts @@ -11,8 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StartPipelineExecutionRequest } from "../models/models_2"; -import { StartPipelineExecutionResponse } from "../models/models_3"; +import { StartPipelineExecutionRequest, StartPipelineExecutionResponse } from "../models/models_3"; import { deserializeAws_json1_1StartPipelineExecutionCommand, serializeAws_json1_1StartPipelineExecutionCommand, diff --git a/clients/client-sagemaker/src/commands/StopInferenceRecommendationsJobCommand.ts b/clients/client-sagemaker/src/commands/StopInferenceRecommendationsJobCommand.ts new file mode 100644 index 000000000000..a6de0a930e55 --- /dev/null +++ b/clients/client-sagemaker/src/commands/StopInferenceRecommendationsJobCommand.ts @@ -0,0 +1,101 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { StopInferenceRecommendationsJobRequest } from "../models/models_3"; +import { + deserializeAws_json1_1StopInferenceRecommendationsJobCommand, + serializeAws_json1_1StopInferenceRecommendationsJobCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface StopInferenceRecommendationsJobCommandInput extends StopInferenceRecommendationsJobRequest {} +export interface StopInferenceRecommendationsJobCommandOutput extends __MetadataBearer {} + +/** + *

                                                        Stops an Inference Recommender job.

                                                        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, StopInferenceRecommendationsJobCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, StopInferenceRecommendationsJobCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new StopInferenceRecommendationsJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StopInferenceRecommendationsJobCommandInput} for command's `input` shape. + * @see {@link StopInferenceRecommendationsJobCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. + * + */ +export class StopInferenceRecommendationsJobCommand extends $Command< + StopInferenceRecommendationsJobCommandInput, + StopInferenceRecommendationsJobCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopInferenceRecommendationsJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "StopInferenceRecommendationsJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StopInferenceRecommendationsJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: StopInferenceRecommendationsJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1StopInferenceRecommendationsJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1StopInferenceRecommendationsJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/index.ts b/clients/client-sagemaker/src/commands/index.ts index 80cffee7c9de..d62174b5939a 100644 --- a/clients/client-sagemaker/src/commands/index.ts +++ b/clients/client-sagemaker/src/commands/index.ts @@ -24,6 +24,7 @@ export * from "./CreateHumanTaskUiCommand"; export * from "./CreateHyperParameterTuningJobCommand"; export * from "./CreateImageCommand"; export * from "./CreateImageVersionCommand"; +export * from "./CreateInferenceRecommendationsJobCommand"; export * from "./CreateLabelingJobCommand"; export * from "./CreateModelBiasJobDefinitionCommand"; export * from "./CreateModelCommand"; @@ -109,7 +110,9 @@ export * from "./DescribeHumanTaskUiCommand"; export * from "./DescribeHyperParameterTuningJobCommand"; export * from "./DescribeImageCommand"; export * from "./DescribeImageVersionCommand"; +export * from "./DescribeInferenceRecommendationsJobCommand"; export * from "./DescribeLabelingJobCommand"; +export * from "./DescribeLineageGroupCommand"; export * from "./DescribeModelBiasJobDefinitionCommand"; export * from "./DescribeModelCommand"; export * from "./DescribeModelExplainabilityJobDefinitionCommand"; @@ -137,6 +140,7 @@ export * from "./DisableSagemakerServicecatalogPortfolioCommand"; export * from "./DisassociateTrialComponentCommand"; export * from "./EnableSagemakerServicecatalogPortfolioCommand"; export * from "./GetDeviceFleetReportCommand"; +export * from "./GetLineageGroupPolicyCommand"; export * from "./GetModelPackageGroupPolicyCommand"; export * from "./GetSagemakerServicecatalogPortfolioStatusCommand"; export * from "./GetSearchSuggestionsCommand"; @@ -165,10 +169,13 @@ export * from "./ListHumanTaskUisCommand"; export * from "./ListHyperParameterTuningJobsCommand"; export * from "./ListImageVersionsCommand"; export * from "./ListImagesCommand"; +export * from "./ListInferenceRecommendationsJobsCommand"; export * from "./ListLabelingJobsCommand"; export * from "./ListLabelingJobsForWorkteamCommand"; +export * from "./ListLineageGroupsCommand"; export * from "./ListModelBiasJobDefinitionsCommand"; export * from "./ListModelExplainabilityJobDefinitionsCommand"; +export * from "./ListModelMetadataCommand"; export * from "./ListModelPackageGroupsCommand"; export * from "./ListModelPackagesCommand"; export * from "./ListModelQualityJobDefinitionsCommand"; @@ -195,6 +202,7 @@ export * from "./ListUserProfilesCommand"; export * from "./ListWorkforcesCommand"; export * from "./ListWorkteamsCommand"; export * from "./PutModelPackageGroupPolicyCommand"; +export * from "./QueryLineageCommand"; export * from "./RegisterDevicesCommand"; export * from "./RenderUiTemplateCommand"; export * from "./RetryPipelineExecutionCommand"; @@ -208,6 +216,7 @@ export * from "./StopAutoMLJobCommand"; export * from "./StopCompilationJobCommand"; export * from "./StopEdgePackagingJobCommand"; export * from "./StopHyperParameterTuningJobCommand"; +export * from "./StopInferenceRecommendationsJobCommand"; export * from "./StopLabelingJobCommand"; export * from "./StopMonitoringScheduleCommand"; export * from "./StopNotebookInstanceCommand"; diff --git a/clients/client-sagemaker/src/models/models_0.ts b/clients/client-sagemaker/src/models/models_0.ts index 0aab9f852d41..e09019a23b28 100644 --- a/clients/client-sagemaker/src/models/models_0.ts +++ b/clients/client-sagemaker/src/models/models_0.ts @@ -201,6 +201,263 @@ export namespace ResourceNotFound { }); } +/** + *

                                                        Input object for the model.

                                                        + */ +export interface ModelInput { + /** + *

                                                        The input configuration object for the model.

                                                        + */ + DataInputConfig: string | undefined; +} + +export namespace ModelInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelInput): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the Docker container for the model package.

                                                        + */ +export interface ModelPackageContainerDefinition { + /** + *

                                                        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, + * 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, see Using Your Own Algorithms with Amazon + * SageMaker.

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

                                                        An MD5 hash of the training algorithm that identifies the Docker image used for + * training.

                                                        + */ + 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 Amazon Web Services Marketplace product ID of the model package.

                                                        + */ + ProductId?: 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 }; + + /** + *

                                                        A structure with Model Input details.

                                                        + */ + ModelInput?: ModelInput; + + /** + *

                                                        The machine learning framework of the model package container image.

                                                        + */ + Framework?: string; + + /** + *

                                                        The framework version of the Model Package Container Image.

                                                        + */ + FrameworkVersion?: string; + + /** + *

                                                        The name of a pre-trained machine learning benchmarked by + * Amazon SageMaker Inference Recommender model that matches your model. + * You can find a list of benchmarked models by calling ListModelMetadata.

                                                        + */ + NearestModelName?: string; +} + +export namespace ModelPackageContainerDefinition { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelPackageContainerDefinition): any => ({ + ...obj, + }); +} + +export enum ProductionVariantInstanceType { + ML_C4_2XLARGE = "ml.c4.2xlarge", + ML_C4_4XLARGE = "ml.c4.4xlarge", + ML_C4_8XLARGE = "ml.c4.8xlarge", + ML_C4_LARGE = "ml.c4.large", + ML_C4_XLARGE = "ml.c4.xlarge", + ML_C5D_18XLARGE = "ml.c5d.18xlarge", + ML_C5D_2XLARGE = "ml.c5d.2xlarge", + ML_C5D_4XLARGE = "ml.c5d.4xlarge", + ML_C5D_9XLARGE = "ml.c5d.9xlarge", + ML_C5D_LARGE = "ml.c5d.large", + ML_C5D_XLARGE = "ml.c5d.xlarge", + ML_C5_18XLARGE = "ml.c5.18xlarge", + ML_C5_2XLARGE = "ml.c5.2xlarge", + ML_C5_4XLARGE = "ml.c5.4xlarge", + ML_C5_9XLARGE = "ml.c5.9xlarge", + ML_C5_LARGE = "ml.c5.large", + ML_C5_XLARGE = "ml.c5.xlarge", + ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", + ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", + ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", + ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", + ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", + ML_G4DN_XLARGE = "ml.g4dn.xlarge", + ML_INF1_24XLARGE = "ml.inf1.24xlarge", + ML_INF1_2XLARGE = "ml.inf1.2xlarge", + ML_INF1_6XLARGE = "ml.inf1.6xlarge", + ML_INF1_XLARGE = "ml.inf1.xlarge", + ML_M4_10XLARGE = "ml.m4.10xlarge", + ML_M4_16XLARGE = "ml.m4.16xlarge", + ML_M4_2XLARGE = "ml.m4.2xlarge", + ML_M4_4XLARGE = "ml.m4.4xlarge", + ML_M4_XLARGE = "ml.m4.xlarge", + ML_M5D_12XLARGE = "ml.m5d.12xlarge", + ML_M5D_24XLARGE = "ml.m5d.24xlarge", + ML_M5D_2XLARGE = "ml.m5d.2xlarge", + ML_M5D_4XLARGE = "ml.m5d.4xlarge", + ML_M5D_LARGE = "ml.m5d.large", + ML_M5D_XLARGE = "ml.m5d.xlarge", + ML_M5_12XLARGE = "ml.m5.12xlarge", + ML_M5_24XLARGE = "ml.m5.24xlarge", + ML_M5_2XLARGE = "ml.m5.2xlarge", + ML_M5_4XLARGE = "ml.m5.4xlarge", + ML_M5_LARGE = "ml.m5.large", + ML_M5_XLARGE = "ml.m5.xlarge", + ML_P2_16XLARGE = "ml.p2.16xlarge", + ML_P2_8XLARGE = "ml.p2.8xlarge", + ML_P2_XLARGE = "ml.p2.xlarge", + ML_P3_16XLARGE = "ml.p3.16xlarge", + ML_P3_2XLARGE = "ml.p3.2xlarge", + ML_P3_8XLARGE = "ml.p3.8xlarge", + ML_R5D_12XLARGE = "ml.r5d.12xlarge", + ML_R5D_24XLARGE = "ml.r5d.24xlarge", + ML_R5D_2XLARGE = "ml.r5d.2xlarge", + ML_R5D_4XLARGE = "ml.r5d.4xlarge", + ML_R5D_LARGE = "ml.r5d.large", + ML_R5D_XLARGE = "ml.r5d.xlarge", + ML_R5_12XLARGE = "ml.r5.12xlarge", + ML_R5_24XLARGE = "ml.r5.24xlarge", + ML_R5_2XLARGE = "ml.r5.2xlarge", + ML_R5_4XLARGE = "ml.r5.4xlarge", + ML_R5_LARGE = "ml.r5.large", + ML_R5_XLARGE = "ml.r5.xlarge", + ML_T2_2XLARGE = "ml.t2.2xlarge", + ML_T2_LARGE = "ml.t2.large", + ML_T2_MEDIUM = "ml.t2.medium", + ML_T2_XLARGE = "ml.t2.xlarge", +} + +export enum TransformInstanceType { + ML_C4_2XLARGE = "ml.c4.2xlarge", + ML_C4_4XLARGE = "ml.c4.4xlarge", + ML_C4_8XLARGE = "ml.c4.8xlarge", + ML_C4_XLARGE = "ml.c4.xlarge", + ML_C5_18XLARGE = "ml.c5.18xlarge", + ML_C5_2XLARGE = "ml.c5.2xlarge", + ML_C5_4XLARGE = "ml.c5.4xlarge", + ML_C5_9XLARGE = "ml.c5.9xlarge", + ML_C5_XLARGE = "ml.c5.xlarge", + ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", + ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", + ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", + ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", + ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", + ML_G4DN_XLARGE = "ml.g4dn.xlarge", + ML_M4_10XLARGE = "ml.m4.10xlarge", + ML_M4_16XLARGE = "ml.m4.16xlarge", + ML_M4_2XLARGE = "ml.m4.2xlarge", + ML_M4_4XLARGE = "ml.m4.4xlarge", + ML_M4_XLARGE = "ml.m4.xlarge", + ML_M5_12XLARGE = "ml.m5.12xlarge", + ML_M5_24XLARGE = "ml.m5.24xlarge", + ML_M5_2XLARGE = "ml.m5.2xlarge", + ML_M5_4XLARGE = "ml.m5.4xlarge", + ML_M5_LARGE = "ml.m5.large", + ML_M5_XLARGE = "ml.m5.xlarge", + ML_P2_16XLARGE = "ml.p2.16xlarge", + ML_P2_8XLARGE = "ml.p2.8xlarge", + ML_P2_XLARGE = "ml.p2.xlarge", + ML_P3_16XLARGE = "ml.p3.16xlarge", + ML_P3_2XLARGE = "ml.p3.2xlarge", + ML_P3_8XLARGE = "ml.p3.8xlarge", +} + +/** + *

                                                        A structure of additional Inference Specification. Additional Inference Specification + * specifies details about inference jobs that can be run with models based on + * this model package

                                                        + */ +export interface AdditionalInferenceSpecificationDefinition { + /** + *

                                                        A unique name to identify the additional inference specification. The name must + * be unique within the list of your additional inference specifications for a + * particular model package.

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

                                                        A description of the additional Inference specification

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

                                                        The Amazon ECR registry path of the Docker image that contains the inference code.

                                                        + */ + Containers: ModelPackageContainerDefinition[] | undefined; + + /** + *

                                                        A list of the instance types on which a transformation job can be run + * or on which an endpoint can be deployed.

                                                        + */ + SupportedTransformInstanceTypes?: (TransformInstanceType | string)[]; + + /** + *

                                                        A list of the instance types that are used to generate inferences in real-time.

                                                        + */ + SupportedRealtimeInferenceInstanceTypes?: (ProductionVariantInstanceType | string)[]; + + /** + *

                                                        The supported MIME types for the input data.

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

                                                        The supported MIME types for the output data.

                                                        + */ + SupportedResponseMIMETypes?: string[]; +} + +export namespace AdditionalInferenceSpecificationDefinition { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AdditionalInferenceSpecificationDefinition): any => ({ + ...obj, + }); +} + /** *

                                                        A tag object that consists of a key and an optional value, used to manage metadata * for SageMaker Amazon Web Services resources.

                                                        @@ -1512,41 +1769,6 @@ export namespace TransformOutput { }); } -export enum TransformInstanceType { - ML_C4_2XLARGE = "ml.c4.2xlarge", - ML_C4_4XLARGE = "ml.c4.4xlarge", - ML_C4_8XLARGE = "ml.c4.8xlarge", - ML_C4_XLARGE = "ml.c4.xlarge", - ML_C5_18XLARGE = "ml.c5.18xlarge", - ML_C5_2XLARGE = "ml.c5.2xlarge", - ML_C5_4XLARGE = "ml.c5.4xlarge", - ML_C5_9XLARGE = "ml.c5.9xlarge", - ML_C5_XLARGE = "ml.c5.xlarge", - ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", - ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", - ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", - ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", - ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", - ML_G4DN_XLARGE = "ml.g4dn.xlarge", - ML_M4_10XLARGE = "ml.m4.10xlarge", - ML_M4_16XLARGE = "ml.m4.16xlarge", - ML_M4_2XLARGE = "ml.m4.2xlarge", - ML_M4_4XLARGE = "ml.m4.4xlarge", - ML_M4_XLARGE = "ml.m4.xlarge", - ML_M5_12XLARGE = "ml.m5.12xlarge", - ML_M5_24XLARGE = "ml.m5.24xlarge", - ML_M5_2XLARGE = "ml.m5.2xlarge", - ML_M5_4XLARGE = "ml.m5.4xlarge", - ML_M5_LARGE = "ml.m5.large", - ML_M5_XLARGE = "ml.m5.xlarge", - ML_P2_16XLARGE = "ml.p2.16xlarge", - ML_P2_8XLARGE = "ml.p2.8xlarge", - ML_P2_XLARGE = "ml.p2.xlarge", - ML_P3_16XLARGE = "ml.p3.16xlarge", - ML_P3_2XLARGE = "ml.p3.2xlarge", - ML_P3_8XLARGE = "ml.p3.8xlarge", -} - /** *

                                                        Describes the resources, including ML instance types and ML instance count, to use for * transform job.

                                                        @@ -3670,7 +3892,7 @@ export namespace AssociateTrialComponentResponse { /** *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + * component, lineage group, or project.

                                                        */ export interface UserContext { /** @@ -3746,7 +3968,7 @@ export interface AssociationSummary { /** *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + * component, lineage group, or project.

                                                        */ CreatedBy?: UserContext; } @@ -4738,133 +4960,6 @@ export namespace BatchDescribeModelPackageError { }); } -/** - *

                                                        Describes the Docker container for the model package.

                                                        - */ -export interface ModelPackageContainerDefinition { - /** - *

                                                        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, - * 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, see Using Your Own Algorithms with Amazon - * SageMaker.

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

                                                        An MD5 hash of the training algorithm that identifies the Docker image used for - * training.

                                                        - */ - 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 Amazon Web Services Marketplace product ID of the model package.

                                                        - */ - ProductId?: 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 }; -} - -export namespace ModelPackageContainerDefinition { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelPackageContainerDefinition): any => ({ - ...obj, - }); -} - -export enum ProductionVariantInstanceType { - ML_C4_2XLARGE = "ml.c4.2xlarge", - ML_C4_4XLARGE = "ml.c4.4xlarge", - ML_C4_8XLARGE = "ml.c4.8xlarge", - ML_C4_LARGE = "ml.c4.large", - ML_C4_XLARGE = "ml.c4.xlarge", - ML_C5D_18XLARGE = "ml.c5d.18xlarge", - ML_C5D_2XLARGE = "ml.c5d.2xlarge", - ML_C5D_4XLARGE = "ml.c5d.4xlarge", - ML_C5D_9XLARGE = "ml.c5d.9xlarge", - ML_C5D_LARGE = "ml.c5d.large", - ML_C5D_XLARGE = "ml.c5d.xlarge", - ML_C5_18XLARGE = "ml.c5.18xlarge", - ML_C5_2XLARGE = "ml.c5.2xlarge", - ML_C5_4XLARGE = "ml.c5.4xlarge", - ML_C5_9XLARGE = "ml.c5.9xlarge", - ML_C5_LARGE = "ml.c5.large", - ML_C5_XLARGE = "ml.c5.xlarge", - ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", - ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", - ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", - ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", - ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", - ML_G4DN_XLARGE = "ml.g4dn.xlarge", - ML_INF1_24XLARGE = "ml.inf1.24xlarge", - ML_INF1_2XLARGE = "ml.inf1.2xlarge", - ML_INF1_6XLARGE = "ml.inf1.6xlarge", - ML_INF1_XLARGE = "ml.inf1.xlarge", - ML_M4_10XLARGE = "ml.m4.10xlarge", - ML_M4_16XLARGE = "ml.m4.16xlarge", - ML_M4_2XLARGE = "ml.m4.2xlarge", - ML_M4_4XLARGE = "ml.m4.4xlarge", - ML_M4_XLARGE = "ml.m4.xlarge", - ML_M5D_12XLARGE = "ml.m5d.12xlarge", - ML_M5D_24XLARGE = "ml.m5d.24xlarge", - ML_M5D_2XLARGE = "ml.m5d.2xlarge", - ML_M5D_4XLARGE = "ml.m5d.4xlarge", - ML_M5D_LARGE = "ml.m5d.large", - ML_M5D_XLARGE = "ml.m5d.xlarge", - ML_M5_12XLARGE = "ml.m5.12xlarge", - ML_M5_24XLARGE = "ml.m5.24xlarge", - ML_M5_2XLARGE = "ml.m5.2xlarge", - ML_M5_4XLARGE = "ml.m5.4xlarge", - ML_M5_LARGE = "ml.m5.large", - ML_M5_XLARGE = "ml.m5.xlarge", - ML_P2_16XLARGE = "ml.p2.16xlarge", - ML_P2_8XLARGE = "ml.p2.8xlarge", - ML_P2_XLARGE = "ml.p2.xlarge", - ML_P3_16XLARGE = "ml.p3.16xlarge", - ML_P3_2XLARGE = "ml.p3.2xlarge", - ML_P3_8XLARGE = "ml.p3.8xlarge", - ML_R5D_12XLARGE = "ml.r5d.12xlarge", - ML_R5D_24XLARGE = "ml.r5d.24xlarge", - ML_R5D_2XLARGE = "ml.r5d.2xlarge", - ML_R5D_4XLARGE = "ml.r5d.4xlarge", - ML_R5D_LARGE = "ml.r5d.large", - ML_R5D_XLARGE = "ml.r5d.xlarge", - ML_R5_12XLARGE = "ml.r5.12xlarge", - ML_R5_24XLARGE = "ml.r5.24xlarge", - ML_R5_2XLARGE = "ml.r5.2xlarge", - ML_R5_4XLARGE = "ml.r5.4xlarge", - ML_R5_LARGE = "ml.r5.large", - ML_R5_XLARGE = "ml.r5.xlarge", - ML_T2_2XLARGE = "ml.t2.2xlarge", - ML_T2_LARGE = "ml.t2.large", - ML_T2_MEDIUM = "ml.t2.medium", - ML_T2_XLARGE = "ml.t2.xlarge", -} - /** *

                                                        Defines how to perform inference generation after a training job is run.

                                                        */ @@ -5036,6 +5131,16 @@ export interface Bias { *

                                                        The bias report for a model

                                                        */ Report?: MetricsSource; + + /** + *

                                                        + */ + PreTrainingReport?: MetricsSource; + + /** + *

                                                        + */ + PostTrainingReport?: MetricsSource; } export namespace Bias { @@ -5326,6 +5431,30 @@ export enum CaptureStatus { STOPPED = "Stopped", } +/** + *

                                                        Environment parameters you want to benchmark your load test against.

                                                        + */ +export interface CategoricalParameter { + /** + *

                                                        The Name of the environment variable.

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

                                                        The list of values you can pass.

                                                        + */ + Value: string[] | undefined; +} + +export namespace CategoricalParameter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CategoricalParameter): any => ({ + ...obj, + }); +} + /** *

                                                        A list of categorical hyperparameters to tune.

                                                        */ @@ -5447,6 +5576,66 @@ export namespace CheckpointConfig { }); } +/** + *

                                                        The container for the metadata for the ClarifyCheck step. For more information, + * see the topic on ClarifyCheck step in the Amazon SageMaker Developer Guide. + *

                                                        + */ +export interface ClarifyCheckStepMetadata { + /** + *

                                                        The type of the Clarify Check step

                                                        + */ + CheckType?: string; + + /** + *

                                                        The Amazon S3 URI of baseline constraints file to be used for the drift check.

                                                        + */ + BaselineUsedForDriftCheckConstraints?: string; + + /** + *

                                                        The Amazon S3 URI of the newly calculated baseline constraints file.

                                                        + */ + CalculatedBaselineConstraints?: string; + + /** + *

                                                        The model package group name.

                                                        + */ + ModelPackageGroupName?: string; + + /** + *

                                                        The Amazon S3 URI of the violation report if violations are detected.

                                                        + */ + ViolationReport?: string; + + /** + *

                                                        The Amazon Resource Name (ARN) of the check processing job that was run by this step's execution.

                                                        + */ + CheckJobArn?: string; + + /** + *

                                                        This flag indicates if the drift check against the previous baseline will be skipped or not. + * If it is set to False, the previous baseline of the configured check type must be available.

                                                        + */ + SkipCheck?: boolean; + + /** + *

                                                        This flag indicates if a newly calculated baseline can be accessed through step properties + * BaselineUsedForDriftCheckConstraints and BaselineUsedForDriftCheckStatistics. + * If it is set to False, the previous baseline of the configured check type must also be available. + * These can be accessed through the BaselineUsedForDriftCheckConstraints property.

                                                        + */ + RegisterNewBaseline?: boolean; +} + +export namespace ClarifyCheckStepMetadata { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClarifyCheckStepMetadata): any => ({ + ...obj, + }); +} + export enum CodeRepositorySortBy { CREATION_TIME = "CreationTime", LAST_MODIFIED_TIME = "LastModifiedTime", @@ -5992,6 +6181,11 @@ export interface ContainerDefinition { */ ModelPackageName?: string; + /** + *

                                                        The inference specification name in the model package version.

                                                        + */ + InferenceSpecificationName?: string; + /** *

                                                        Specifies additional configuration for multi-model endpoints.

                                                        */ @@ -7811,11 +8005,19 @@ export interface CreateCompilationJobRequest { */ RoleArn: string | undefined; + /** + *

                                                        The Amazon Resource Name (ARN) of a versioned model package. Provide either a + * ModelPackageVersionArn or an InputConfig object in the + * request syntax. The presence of both objects in the CreateCompilationJob + * request will return an exception.

                                                        + */ + ModelPackageVersionArn?: string; + /** *

                                                        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; + InputConfig?: InputConfig; /** *

                                                        Provides information about the output location for the compiled model and the target @@ -9288,6 +9490,33 @@ export namespace ProductionVariantCoreDumpConfig { }); } +/** + * + *

                                                        Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                        + * + *

                                                        Specifies the serverless configuration for an endpoint variant.

                                                        + */ +export interface ProductionVariantServerlessConfig { + /** + *

                                                        The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.

                                                        + */ + MemorySizeInMB: number | undefined; + + /** + *

                                                        The maximum number of concurrent invocations your serverless endpoint can process.

                                                        + */ + MaxConcurrency: number | undefined; +} + +export namespace ProductionVariantServerlessConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ProductionVariantServerlessConfig): any => ({ + ...obj, + }); +} + /** *

                                                        Identifies a model that you want to host and the resources chosen to deploy for * hosting it. If you are deploying multiple models, tell Amazon SageMaker how to distribute traffic @@ -9308,12 +9537,12 @@ export interface ProductionVariant { /** *

                                                        Number of instances to launch initially.

                                                        */ - InitialInstanceCount: number | undefined; + InitialInstanceCount?: number; /** *

                                                        The ML compute instance type.

                                                        */ - InstanceType: ProductionVariantInstanceType | string | undefined; + InstanceType?: ProductionVariantInstanceType | string; /** *

                                                        Determines initial traffic distribution among all of the models that you specify in @@ -9337,6 +9566,14 @@ export interface ProductionVariant { * crashes.

                                                        */ CoreDumpConfig?: ProductionVariantCoreDumpConfig; + + /** + *

                                                        The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.

                                                        + * + *

                                                        Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                        + *
                                                        + */ + ServerlessConfig?: ProductionVariantServerlessConfig; } export namespace ProductionVariant { @@ -11631,1842 +11868,20 @@ export namespace CreateImageVersionResponse { } /** - *

                                                        Provided configuration information for the worker UI for a labeling job. Provide - * either HumanTaskUiArn or UiTemplateS3Uri.

                                                        - *

                                                        For named entity recognition, 3D point cloud and video frame labeling jobs, use - * HumanTaskUiArn.

                                                        - *

                                                        For all other Ground Truth built-in task types and custom task types, use - * UiTemplateS3Uri to specify the location of a worker task template in - * Amazon S3.

                                                        + *

                                                        Specifies the range of environment parameters

                                                        */ -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 named entity recognition, - * 3D point cloud and video frame labeling jobs. Use your labeling job task type to select - * one of the following ARNs and use it with this parameter when you create a labeling job. - * Replace aws-region with the Amazon Web Services Region you are creating your labeling job - * in. For example, replace aws-region with us-west-1 if you - * create a labeling job in US West (N. California).

                                                        - *

                                                        - * Named Entity Recognition - *

                                                        - *

                                                        Use the following HumanTaskUiArn for named entity recognition labeling - * jobs:

                                                        - *

                                                        - * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition - *

                                                        - * - *

                                                        - * 3D Point Cloud HumanTaskUiArns - *

                                                        - * - *

                                                        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 - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        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 - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        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 - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Video Frame HumanTaskUiArns - *

                                                        - * - *

                                                        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 - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        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 - *

                                                          - *
                                                        • - *
                                                        - */ - HumanTaskUiArn?: string; -} - -export namespace UiConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UiConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                        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; - - /** - *

                                                        Information about the user interface that workers use to complete the labeling - * task.

                                                        - */ - UiConfig: UiConfig | 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 - * job.

                                                        - *

                                                        For built-in - * task types, use one of the following Amazon SageMaker Ground Truth Lambda function ARNs for - * PreHumanTaskLambdaArn. For custom labeling workflows, see Pre-annotation Lambda.

                                                        - * - * - * - *

                                                        - * Bounding box - Finds the most similar boxes from - * different workers based on the Jaccard index of the boxes.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox - *

                                                          - *
                                                        • - *
                                                        - * - * - *

                                                        - * Image classification - Uses a variant of the Expectation - * Maximization approach to estimate the true class of an image based on - * annotations from individual workers.

                                                        - * - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Multi-label image classification - Uses a variant of the Expectation - * Maximization approach to estimate the true classes of an image based on - * annotations from individual workers.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Semantic segmentation - Treats each pixel in an image as - * a multi-class classification and treats pixel annotations from workers as - * "votes" for the correct label.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Text classification - Uses a variant of the Expectation - * Maximization approach to estimate the true class of text based on annotations - * from individual workers.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Multi-label text classification - Uses a variant of the - * Expectation Maximization approach to estimate the true classes of text based on - * annotations from individual workers.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Named entity recognition - Groups similar selections and - * calculates aggregate boundaries, resolving to most-assigned label.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition - *

                                                          - *
                                                        • - *
                                                        - * - * - * - * - *

                                                        - * Video Classification - Use this task type when you need workers to classify videos using - * predefined labels that you specify. Workers are shown videos and are asked to choose one - * label for each video.

                                                        - * - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoMultiClass - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Video Frame Object Detection - Use this task type to - * have workers identify and locate objects in a sequence of video frames (images extracted - * from a video) using bounding boxes. For example, you can use this task to ask workers to - * identify and localize various objects in a series of video frames, such as cars, bikes, - * and pedestrians.

                                                        - * - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Video Frame Object Tracking - Use this task type to - * have workers track the movement of objects in a sequence of video frames (images - * extracted from a video) using bounding boxes. For example, you can use this task to ask - * workers to track the movement of objects, such as cars, bikes, and pedestrians.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        - * - * - * - * - *

                                                        - * 3D Point Cloud Modalities - *

                                                        - *

                                                        Use the following pre-annotation lambdas for 3D point cloud labeling modality tasks. - * See 3D Point Cloud Task types - * to learn more.

                                                        - * - * - *

                                                        - * 3D Point Cloud Object Detection - - * Use this task type when you want workers to classify objects in a 3D point cloud by - * drawing 3D cuboids around objects. For example, you can use this task type to ask workers - * to identify different types of objects in a point cloud, such as cars, bikes, and pedestrians.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * 3D Point Cloud Object Tracking - - * Use this task type when you want workers to draw 3D cuboids around objects - * that appear in a sequence of 3D point cloud frames. - * For example, you can use this task type to ask workers to track - * the movement of vehicles across multiple point cloud frames. - *

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        - * - * - * - *

                                                        - * 3D Point Cloud Semantic Segmentation - - * Use this task type when you want workers to create a point-level semantic segmentation masks by - * painting objects in a 3D point cloud using different colors where each color is assigned to one of - * the classes you specify.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Use the following ARNs for Label Verification and Adjustment Jobs - *

                                                        - *

                                                        Use label verification and adjustment jobs to review and adjust labels. To learn more, - * see Verify and Adjust Labels .

                                                        - * - *

                                                        - * Bounding box verification - Uses a variant of the - * Expectation Maximization approach to estimate the true class of verification - * judgement for bounding box labels based on annotations from individual - * workers.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Bounding box adjustment - Finds the most similar boxes - * from different workers based on the Jaccard index of the adjusted - * annotations.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Semantic segmentation verification - Uses a variant of - * the Expectation Maximization approach to estimate the true class of verification - * judgment for semantic segmentation labels based on annotations from individual - * workers.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Semantic segmentation adjustment - Treats each pixel in - * an image as a multi-class classification and treats pixel adjusted annotations - * from workers as "votes" for the correct label.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        - * - * - * - * - *

                                                        - * Video Frame Object Detection Adjustment - - * Use this task type when you want workers to adjust bounding boxes that workers have added - * to video frames to classify and localize objects in a sequence of video frames.

                                                        - * - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectDetection - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * Video Frame Object Tracking Adjustment - - * Use this task type when you want workers to adjust bounding boxes that workers have added - * to video frames to track object movement across a sequence of video frames.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectTracking - *

                                                          - *
                                                        • - *
                                                        - * - * - * - * - *

                                                        - * 3D point cloud object detection adjustment - Adjust - * 3D cuboids in a point cloud frame.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectDetection - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * 3D point cloud object tracking adjustment - Adjust 3D - * cuboids across a sequence of point cloud frames.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        - * 3D point cloud semantic segmentation adjustment - - * Adjust semantic segmentation masks in a 3D point cloud.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation - *

                                                          - *
                                                        • - *
                                                        - */ - PreHumanTaskLambdaArn: string | undefined; - - /** - *

                                                        Keywords used to describe the task so that workers on Amazon Mechanical Turk can - * discover the task.

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

                                                        A title for the task for your human workers.

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

                                                        A description of the task for your human workers.

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

                                                        The number of human workers that will label an object.

                                                        - */ - NumberOfHumanWorkersPerDataObject: number | undefined; - - /** - *

                                                        The amount of time that a worker has to complete a task.

                                                        - *

                                                        If you create a custom labeling job, the maximum value for this parameter is 8 hours - * (28,800 seconds).

                                                        - *

                                                        If you create a labeling job using a built-in task type the maximum - * for this parameter depends on the task type you use:

                                                        - *
                                                          - *
                                                        • - *

                                                          For image and - * text labeling jobs, - * the maximum is 8 hours (28,800 seconds).

                                                          - *
                                                        • - *
                                                        • - *

                                                          For 3D point cloud and video frame labeling jobs, the maximum is 30 days (2952,000 seconds) for non-AL mode. For most users, the maximum is also 30 days. If you want to change these limits, - * contact Amazon Web Services Support.

                                                          - *
                                                        • - *
                                                        - */ - TaskTimeLimitInSeconds: number | undefined; - - /** - *

                                                        The length of time that a task remains available for labeling by human workers. The - * default and maximum values for this parameter depend on the type of workforce you - * use.

                                                        - *
                                                          - *
                                                        • - *

                                                          If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours (43,200 seconds). - * The default is 6 hours (21,600 seconds).

                                                          - *
                                                        • - *
                                                        • - *

                                                          If you choose a private or vendor workforce, the default value is 30 days (2592,000 seconds) for non-AL mode. For most users, the maximum is also 30 days. If you want to - * change this limit, contact Amazon Web Services Support.

                                                          - *
                                                        • - *
                                                        - */ - TaskAvailabilityLifetimeInSeconds?: number; - - /** - *

                                                        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; - - /** - *

                                                        The price that you pay for each task performed by an Amazon Mechanical Turk worker.

                                                        - */ - PublicWorkforceTaskPrice?: PublicWorkforceTaskPrice; -} - -export namespace HumanTaskConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: HumanTaskConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                        Attributes of the data specified by the customer. Use these to describe the data to be - * labeled.

                                                        - */ -export interface LabelingJobDataAttributes { - /** - *

                                                        Declares that your content is free of personally identifiable information or adult - * content. Amazon SageMaker may restrict the Amazon Mechanical Turk workers that can view your task - * based on this information.

                                                        - */ - ContentClassifiers?: (ContentClassifier | string)[]; -} - -export namespace LabelingJobDataAttributes { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobDataAttributes): any => ({ - ...obj, - }); -} - -/** - *

                                                        The Amazon S3 location of the input data objects.

                                                        - */ -export interface LabelingJobS3DataSource { - /** - *

                                                        The Amazon S3 location of the manifest file that describes the input data objects.

                                                        - *

                                                        The input manifest file referenced in ManifestS3Uri must contain one of - * the following keys: source-ref or source. The value of the - * keys are interpreted as follows:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * source-ref: The source of the object is the Amazon S3 object - * specified in the value. Use this value when the object is a binary object, such - * as an image.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * source: The source of the object is the value. Use this - * value when the object is a text value.

                                                          - *
                                                        • - *
                                                        - *

                                                        If you are a new user of Ground Truth, it is recommended you review Use an Input Manifest File in the Amazon SageMaker Developer Guide to learn how to - * create an input manifest file.

                                                        - */ - ManifestS3Uri: string | undefined; -} - -export namespace LabelingJobS3DataSource { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobS3DataSource): any => ({ - ...obj, - }); -} - -/** - *

                                                        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.

                                                        - */ - SnsTopicArn: string | undefined; -} - -export namespace LabelingJobSnsDataSource { - /** - * @internal - */ - 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 { - /** - *

                                                        The Amazon S3 location of the input data objects.

                                                        - */ - S3DataSource?: LabelingJobS3DataSource; - +export interface EnvironmentParameterRanges { /** - *

                                                        An Amazon SNS data source used for streaming labeling jobs. To learn more, see Send Data to a Streaming Labeling Job.

                                                        + *

                                                        Specified a list of parameters for each category.

                                                        */ - SnsDataSource?: LabelingJobSnsDataSource; + CategoricalParameterRanges?: CategoricalParameter[]; } -export namespace LabelingJobDataSource { +export namespace EnvironmentParameterRanges { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobDataSource): any => ({ + export const filterSensitiveLog = (obj: EnvironmentParameterRanges): any => ({ ...obj, }); } diff --git a/clients/client-sagemaker/src/models/models_1.ts b/clients/client-sagemaker/src/models/models_1.ts index 857673efcd52..16b0f0db976c 100644 --- a/clients/client-sagemaker/src/models/models_1.ts +++ b/clients/client-sagemaker/src/models/models_1.ts @@ -3,10 +3,12 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { ActionSource, ActionStatus, + AdditionalInferenceSpecificationDefinition, AlgorithmSpecification, AlgorithmStatus, AlgorithmStatusDetails, AlgorithmValidationSpecification, + AnnotationConsolidationConfig, AppNetworkAccessType, AppSecurityGroupManagement, AppSpecification, @@ -36,6 +38,7 @@ import { CollectionConfiguration, CompilationJobStatus, ContainerDefinition, + ContentClassifier, ContextSource, DataCaptureConfig, DataQualityAppSpecification, @@ -46,13 +49,13 @@ import { EdgeOutputConfig, EdgePresetDeploymentType, EndpointInput, + EnvironmentParameterRanges, FeatureDefinition, FlowDefinitionOutputConfig, GitConfig, HumanLoopActivationConfig, HumanLoopConfig, HumanLoopRequestSource, - HumanTaskConfig, HyperParameterTrainingJobDefinition, HyperParameterTuningJobConfig, HyperParameterTuningJobObjectiveType, @@ -60,13 +63,10 @@ import { InferenceSpecification, InputConfig, KernelGatewayImageConfig, - LabelingJobDataAttributes, - LabelingJobDataSource, MetadataProperties, MetricsSource, ModelApprovalStatus, ModelDeployConfig, - ModelPackageStatus, MonitoringConstraintsResource, MonitoringNetworkConfig, MonitoringOutputConfig, @@ -87,6 +87,8 @@ import { ProductionVariant, ProductionVariantAcceleratorType, ProductionVariantInstanceType, + ProductionVariantServerlessConfig, + PublicWorkforceTaskPrice, ResourceConfig, ResourceSpec, RetryStrategy, @@ -103,5580 +105,6816 @@ import { } from "./models_0"; /** - *

                                                        Input configuration information for a labeling job.

                                                        + *

                                                        The endpoint configuration for the load test.

                                                        */ -export interface LabelingJobInputConfig { +export interface EndpointInputConfiguration { /** - *

                                                        The location of the input data.

                                                        + *

                                                        The instance types to use for the load test.

                                                        */ - DataSource: LabelingJobDataSource | undefined; + InstanceType: ProductionVariantInstanceType | string | undefined; /** - *

                                                        Attributes of the data specified by the customer.

                                                        + *

                                                        The inference specification name in the model package version.

                                                        */ - DataAttributes?: LabelingJobDataAttributes; + InferenceSpecificationName?: string; + + /** + *

                                                        The parameter you want to benchmark against.

                                                        + */ + EnvironmentParameterRanges?: EnvironmentParameterRanges; } -export namespace LabelingJobInputConfig { +export namespace EndpointInputConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobInputConfig): any => ({ + export const filterSensitiveLog = (obj: EndpointInputConfiguration): any => ({ ...obj, }); } /** - *

                                                        Configure encryption on the storage volume attached to the ML compute instance used to - * run automated data labeling model training and inference.

                                                        + *

                                                        Specifies the maximum number of jobs that can run in parallel + * and the maximum number of jobs that can run.

                                                        */ -export interface LabelingJobResourceConfig { +export interface RecommendationJobResourceLimit { /** - *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume - * attached to the ML compute instance(s) that run the training and inference jobs used for - * automated data labeling.

                                                        - *

                                                        You can only specify a VolumeKmsKeyId when you create a labeling job with - * automated data labeling enabled using the API operation CreateLabelingJob. - * You cannot specify an Amazon Web Services KMS key to encrypt the storage volume used for - * automated data labeling model training and inference when you create a labeling job - * using the console. To learn more, see Output Data and Storage Volume - * Encryption.

                                                        - *

                                                        The VolumeKmsKeyId can be any 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" - *

                                                          - *
                                                        • - *
                                                        + *

                                                        Defines the maximum number of load tests.

                                                        */ - VolumeKmsKeyId?: string; + MaxNumberOfTests?: number; + + /** + *

                                                        Defines the maximum number of parallel load tests.

                                                        + */ + MaxParallelOfTests?: number; } -export namespace LabelingJobResourceConfig { +export namespace RecommendationJobResourceLimit { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobResourceConfig): any => ({ + export const filterSensitiveLog = (obj: RecommendationJobResourceLimit): any => ({ ...obj, }); } /** - *

                                                        Provides configuration information for auto-labeling of your data objects. A - * LabelingJobAlgorithmsConfig object must be supplied in order to use - * auto-labeling.

                                                        + *

                                                        Defines the traffic pattern.

                                                        */ -export interface LabelingJobAlgorithmsConfig { +export interface Phase { /** - *

                                                        Specifies the Amazon Resource Name (ARN) of the algorithm used for auto-labeling. You - * must select one of the following ARNs:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * Image classification - *

                                                          - *

                                                          - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/image-classification - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Text classification - *

                                                          - *

                                                          - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/text-classification - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Object detection - *

                                                          - *

                                                          - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/object-detection - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Semantic Segmentation - *

                                                          - *

                                                          - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/semantic-segmentation - *

                                                          - *
                                                        • - *
                                                        + *

                                                        Specifies how many concurrent users to start with.

                                                        */ - LabelingJobAlgorithmSpecificationArn: string | undefined; + InitialNumberOfUsers?: number; /** - *

                                                        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.

                                                        + *

                                                        Specified how many new users to spawn in a minute.

                                                        */ - InitialActiveLearningModelArn?: string; + SpawnRate?: number; /** - *

                                                        Provides configuration information for a labeling job.

                                                        + *

                                                        Specifies how long traffic phase should be.

                                                        */ - LabelingJobResourceConfig?: LabelingJobResourceConfig; + DurationInSeconds?: number; } -export namespace LabelingJobAlgorithmsConfig { +export namespace Phase { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobAlgorithmsConfig): any => ({ + export const filterSensitiveLog = (obj: Phase): any => ({ ...obj, }); } +export enum TrafficType { + PHASES = "PHASES", +} + /** - *

                                                        Output configuration information for a labeling job.

                                                        + *

                                                        Defines the traffic pattern of the load test.

                                                        */ -export interface LabelingJobOutputConfig { - /** - *

                                                        The Amazon S3 location to write output data.

                                                        - */ - S3OutputPath: string | undefined; - +export interface TrafficPattern { /** - *

                                                        The Amazon Web Services Key Management Service ID of the key used to encrypt the output data, if any.

                                                        - *

                                                        If you provide your own KMS key ID, you must add the required permissions to your KMS - * key described in Encrypt Output Data and Storage Volume with Amazon Web Services KMS.

                                                        - *

                                                        If you don't provide a KMS key ID, Amazon SageMaker uses the default Amazon Web Services KMS key for Amazon S3 for your - * role's account to encrypt your output data.

                                                        - *

                                                        If you use a bucket policy with an s3:PutObject permission that only - * allows objects with server-side encryption, set the condition key of - * s3:x-amz-server-side-encryption to "aws:kms". For more - * information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer - * Guide. - *

                                                        + *

                                                        Defines the traffic patterns.

                                                        */ - KmsKeyId?: string; + TrafficType?: TrafficType | string; /** - *

                                                        An Amazon Simple Notification Service (Amazon SNS) output topic ARN. Provide a SnsTopicArn if you want to - * do real time chaining to another streaming job and receive an Amazon SNS notifications each - * time a data object is submitted by a worker.

                                                        - *

                                                        If you provide an SnsTopicArn in OutputConfig, when workers - * complete labeling tasks, Ground Truth will send labeling task output data to the SNS output - * topic you specify here.

                                                        - *

                                                        To learn more, see Receive Output Data from a Streaming Labeling - * Job.

                                                        + *

                                                        Defines the phases traffic specification.

                                                        */ - SnsTopicArn?: string; + Phases?: Phase[]; } -export namespace LabelingJobOutputConfig { +export namespace TrafficPattern { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobOutputConfig): any => ({ + export const filterSensitiveLog = (obj: TrafficPattern): any => ({ ...obj, }); } /** - *

                                                        A set of conditions for stopping a labeling job. If any of the conditions are met, the - * job is automatically stopped. You can use these conditions to control the cost of data - * labeling.

                                                        - * - *

                                                        Labeling jobs fail after 30 days with an appropriate client error message.

                                                        - *
                                                        + *

                                                        The input configuration of the recommendation job.

                                                        */ -export interface LabelingJobStoppingConditions { +export interface RecommendationJobInputConfig { /** - *

                                                        The maximum number of objects that can be labeled by human workers.

                                                        + *

                                                        The Amazon Resource Name (ARN) of a versioned model package.

                                                        */ - MaxHumanLabeledObjectCount?: number; + ModelPackageVersionArn: string | undefined; /** - *

                                                        The maximum number of input data objects that should be labeled.

                                                        + *

                                                        Specifies the maximum duration of the job, in seconds.>

                                                        */ - MaxPercentageOfInputDatasetLabeled?: number; + JobDurationInSeconds?: number; + + /** + *

                                                        Specifies the traffic pattern of the job.

                                                        + */ + TrafficPattern?: TrafficPattern; + + /** + *

                                                        Defines the resource limit of the job.

                                                        + */ + ResourceLimit?: RecommendationJobResourceLimit; + + /** + *

                                                        Specifies the endpoint configuration to use for a job.

                                                        + */ + EndpointConfigurations?: EndpointInputConfiguration[]; } -export namespace LabelingJobStoppingConditions { +export namespace RecommendationJobInputConfig { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobStoppingConditions): any => ({ + export const filterSensitiveLog = (obj: RecommendationJobInputConfig): any => ({ ...obj, }); } -export interface CreateLabelingJobRequest { +export enum RecommendationJobType { + ADVANCED = "Advanced", + DEFAULT = "Default", +} + +/** + *

                                                        The model latency threshold.

                                                        + */ +export interface ModelLatencyThreshold { /** - *

                                                        The name of the labeling job. This name is used to identify the job in a list of - * labeling jobs. Labeling job names must be unique within an Amazon Web Services account and region. - * LabelingJobName is not case sensitive. For example, Example-job and - * example-job are considered the same labeling job name by Ground Truth.

                                                        + *

                                                        The model latency percentile threshold.

                                                        */ - LabelingJobName: string | undefined; + Percentile?: string; /** - *

                                                        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 - * LabelAttributeName must meet the following requirements.

                                                        - *
                                                          - *
                                                        • - *

                                                          The name can't end with "-metadata".

                                                          - *
                                                        • - *
                                                        • - *

                                                          If you are using one of the following built-in task types, - * the attribute name must end with "-ref". If the task type - * you are using is not listed below, the attribute name must - * not end with "-ref".

                                                          - *
                                                            - *
                                                          • - *

                                                            Image semantic segmentation (SemanticSegmentation), and - * adjustment (AdjustmentSemanticSegmentation) and - * verification (VerificationSemanticSegmentation) labeling - * jobs for this task type.

                                                            - *
                                                          • - *
                                                          • - *

                                                            Video frame object detection (VideoObjectDetection), and - * adjustment and verification - * (AdjustmentVideoObjectDetection) labeling jobs for this - * task type.

                                                            - *
                                                          • - *
                                                          • - *

                                                            Video frame object tracking (VideoObjectTracking), and - * adjustment and verification (AdjustmentVideoObjectTracking) - * labeling jobs for this task type.

                                                            - *
                                                          • - *
                                                          • - *

                                                            3D point cloud semantic segmentation - * (3DPointCloudSemanticSegmentation), and adjustment and - * verification (Adjustment3DPointCloudSemanticSegmentation) - * labeling jobs for this task type.

                                                            - *
                                                          • - *
                                                          • - *

                                                            3D point cloud object tracking - * (3DPointCloudObjectTracking), and adjustment and - * verification (Adjustment3DPointCloudObjectTracking) - * labeling jobs for this task type.

                                                            - *
                                                          • - *
                                                          - *
                                                        • - *
                                                        - *

                                                        - * - *

                                                        If you are creating an adjustment or verification labeling job, you must use a - * different - * LabelAttributeName than the one used in the original labeling job. The - * original labeling job is the Ground Truth labeling job that produced the labels that you - * want verified or adjusted. To learn more about adjustment and verification labeling - * jobs, see Verify and Adjust - * Labels.

                                                        - *
                                                        + *

                                                        The model latency percentile value in milliseconds.

                                                        */ - LabelAttributeName: string | undefined; + ValueInMilliseconds?: number; +} +export namespace ModelLatencyThreshold { /** - *

                                                        Input data 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.

                                                        - *

                                                        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 that stops after all data objects in the input - * manifest file have been labeled.

                                                          - *
                                                        • - *
                                                        • - *

                                                          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.

                                                          - *
                                                        • - *
                                                        - *

                                                        If you use the Amazon Mechanical Turk workforce, your input data should not include - * confidential information, personal information or protected health information. Use - * ContentClassifiers to specify that your data is free of personally - * identifiable information and adult content.

                                                        + * @internal */ - InputConfig: LabelingJobInputConfig | undefined; + export const filterSensitiveLog = (obj: ModelLatencyThreshold): any => ({ + ...obj, + }); +} +/** + *

                                                        Specifies conditions for stopping a job. When a job reaches a + * stopping condition limit, SageMaker ends the job.

                                                        + */ +export interface RecommendationJobStoppingConditions { /** - *

                                                        The location of the output data and the Amazon Web Services Key Management Service key ID for the key used to encrypt - * the output data, if any.

                                                        + *

                                                        The maximum number of requests per minute expected for the endpoint.

                                                        */ - OutputConfig: LabelingJobOutputConfig | undefined; + MaxInvocations?: number; /** - *

                                                        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 interval of time taken by a model to respond as viewed from SageMaker. + * The interval includes the local communication time taken to send the request + * and to fetch the response from the container of a model and the time taken to + * complete the inference in the container.

                                                        */ - RoleArn: string | undefined; + ModelLatencyThresholds?: ModelLatencyThreshold[]; +} - /** - *

                                                        The S3 URI of the file, referred to as a label category configuration - * file, that defines the categories used to label the data objects.

                                                        - *

                                                        For 3D point cloud and video frame task types, you can add label category attributes - * and frame attributes to your label category configuration file. To learn how, see Create a - * Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                        - *

                                                        For named entity recognition jobs, in addition to "labels", you must - * provide worker instructions in the label category configuration file using the - * "instructions" parameter: "instructions": - * {"shortInstruction":"

                                                        Add header

                                                        Add Instructions

                                                        ", - * "fullInstruction":"

                                                        Add additional instructions.

                                                        "}
                                                        . For details - * and an example, see Create a - * Named Entity Recognition Labeling Job (API) .

                                                        - *

                                                        For all other built-in task types and custom - * tasks, your label category configuration file must be a JSON file in the - * following format. Identify the labels you want to use by replacing label_1, - * label_2,...,label_n with your label - * categories.

                                                        - *

                                                        - * { - *

                                                        - *

                                                        - * "document-version": "2018-11-28", - *

                                                        - *

                                                        - * "labels": [{"label": "label_1"},{"label": "label_2"},...{"label": - * "label_n"}] - *

                                                        - *

                                                        - * } - *

                                                        - *

                                                        Note the following about the label category configuration file:

                                                        - *
                                                          - *
                                                        • - *

                                                          For image classification and text classification (single and multi-label) you - * must specify at least two label categories. For all other task types, the - * minimum number of label categories required is one.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Each label category must be unique, you cannot specify duplicate label - * categories.

                                                          - *
                                                        • - *
                                                        • - *

                                                          If you create a 3D point cloud or video frame adjustment or verification - * labeling job, you must include auditLabelAttributeName in the label - * category configuration. Use this parameter to enter the - * LabelAttributeName - * of the labeling job you want to - * adjust or verify annotations of.

                                                          - *
                                                        • - *
                                                        - */ - LabelCategoryConfigS3Uri?: string; - - /** - *

                                                        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 - * data labeling.

                                                        - */ - StoppingConditions?: LabelingJobStoppingConditions; - - /** - *

                                                        Configures the information required to perform automated data labeling.

                                                        - */ - LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; - - /** - *

                                                        Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

                                                        - */ - HumanTaskConfig: HumanTaskConfig | undefined; - - /** - *

                                                        An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                        - */ - Tags?: Tag[]; -} - -export namespace CreateLabelingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateLabelingJobRequest): any => ({ - ...obj, - }); -} - -export interface CreateLabelingJobResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the - * labeling job.

                                                        - */ - LabelingJobArn: string | undefined; -} - -export namespace CreateLabelingJobResponse { +export namespace RecommendationJobStoppingConditions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLabelingJobResponse): any => ({ + export const filterSensitiveLog = (obj: RecommendationJobStoppingConditions): any => ({ ...obj, }); } -export enum InferenceExecutionMode { - DIRECT = "Direct", - SERIAL = "Serial", -} - -/** - *

                                                        Specifies details about how containers in a multi-container endpoint are run.

                                                        - */ -export interface InferenceExecutionConfig { - /** - *

                                                        How containers in a multi-container are run. The following values are valid.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * SERIAL - Containers run as a serial pipeline.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * DIRECT - Only the individual container that you specify is - * run.

                                                          - *
                                                        • - *
                                                        - */ - Mode: InferenceExecutionMode | string | undefined; -} - -export namespace InferenceExecutionConfig { +export interface CreateInferenceRecommendationsJobRequest { /** - * @internal + *

                                                        A name for the recommendation job. The name must be unique within + * the Amazon Web Services Region and within your Amazon Web Services account.

                                                        */ - export const filterSensitiveLog = (obj: InferenceExecutionConfig): any => ({ - ...obj, - }); -} + JobName: string | undefined; -export interface CreateModelInput { /** - *

                                                        The name of the new model.

                                                        + *

                                                        Defines the type of recommendation job. Specify Default to initiate an instance + * recommendation and Advanced to initiate a load test. If left unspecified, + * Amazon SageMaker Inference Recommender will run an instance recommendation (DEFAULT) job.

                                                        */ - ModelName: string | undefined; + JobType: RecommendationJobType | 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.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker + * to perform tasks on your behalf.

                                                        */ - PrimaryContainer?: ContainerDefinition; + RoleArn: string | undefined; /** - *

                                                        Specifies the containers in the inference pipeline.

                                                        + *

                                                        Provides information about the versioned model package Amazon Resource Name (ARN), + * the traffic pattern, and endpoint configurations.

                                                        */ - Containers?: ContainerDefinition[]; + InputConfig: RecommendationJobInputConfig | undefined; /** - *

                                                        Specifies details of how containers in a multi-container endpoint are called.

                                                        + *

                                                        Description of the recommendation job.

                                                        */ - InferenceExecutionConfig?: InferenceExecutionConfig; + JobDescription?: string; /** - *

                                                        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 - * jobs. Deploying on ML compute instances is part of model hosting. 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.

                                                        - *
                                                        + *

                                                        A set of conditions for stopping a recommendation job. If any of + * the conditions are met, the job is automatically stopped.

                                                        */ - ExecutionRoleArn: string | undefined; + StoppingConditions?: RecommendationJobStoppingConditions; /** - *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                        + *

                                                        The metadata that you apply to Amazon Web Services resources to help you + * categorize and organize them. Each tag consists of a key and a value, both of + * which you define. For more information, see + * Tagging Amazon Web Services Resources + * in the Amazon Web Services General Reference.

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

                                                        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. - * VpcConfig is used in hosting services and in batch transform. For more - * information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch - * Transform Jobs by Using an Amazon Virtual Private Cloud.

                                                        - */ - VpcConfig?: VpcConfig; - - /** - *

                                                        Isolates the model container. No inbound or outbound network calls can be made to or - * from the model container.

                                                        - */ - EnableNetworkIsolation?: boolean; } -export namespace CreateModelInput { +export namespace CreateInferenceRecommendationsJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateModelInput): any => ({ + export const filterSensitiveLog = (obj: CreateInferenceRecommendationsJobRequest): any => ({ ...obj, }); } -export interface CreateModelOutput { +export interface CreateInferenceRecommendationsJobResponse { /** - *

                                                        The ARN of the model created in Amazon SageMaker.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the recommendation job.

                                                        */ - ModelArn: string | undefined; + JobArn: string | undefined; } -export namespace CreateModelOutput { +export namespace CreateInferenceRecommendationsJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateModelOutput): any => ({ + export const filterSensitiveLog = (obj: CreateInferenceRecommendationsJobResponse): any => ({ ...obj, }); } /** - *

                                                        Docker container image configuration object for the model bias job.

                                                        + *

                                                        Provided configuration information for the worker UI for a labeling job. Provide + * either HumanTaskUiArn or UiTemplateS3Uri.

                                                        + *

                                                        For named entity recognition, 3D point cloud and video frame labeling jobs, use + * HumanTaskUiArn.

                                                        + *

                                                        For all other Ground Truth built-in task types and custom task types, use + * UiTemplateS3Uri to specify the location of a worker task template in + * Amazon S3.

                                                        */ -export interface ModelBiasAppSpecification { - /** - *

                                                        The container image to be run by the model bias job.

                                                        - */ - ImageUri: string | undefined; - +export interface UiConfig { /** - *

                                                        JSON formatted S3 file that defines bias parameters. For more information on this JSON - * configuration file, see Configure bias - * parameters.

                                                        + *

                                                        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.

                                                        */ - ConfigUri: string | undefined; + UiTemplateS3Uri?: string; /** - *

                                                        Sets the environment variables in the Docker container.

                                                        + *

                                                        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 named entity recognition, + * 3D point cloud and video frame labeling jobs. Use your labeling job task type to select + * one of the following ARNs and use it with this parameter when you create a labeling job. + * Replace aws-region with the Amazon Web Services Region you are creating your labeling job + * in. For example, replace aws-region with us-west-1 if you + * create a labeling job in US West (N. California).

                                                        + *

                                                        + * Named Entity Recognition + *

                                                        + *

                                                        Use the following HumanTaskUiArn for named entity recognition labeling + * jobs:

                                                        + *

                                                        + * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition + *

                                                        + * + *

                                                        + * 3D Point Cloud HumanTaskUiArns + *

                                                        + * + *

                                                        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 + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        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 + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        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 + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Video Frame HumanTaskUiArns + *

                                                        + * + *

                                                        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 + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        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 + *

                                                          + *
                                                        • + *
                                                        */ - Environment?: { [key: string]: string }; + HumanTaskUiArn?: string; } -export namespace ModelBiasAppSpecification { +export namespace UiConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ModelBiasAppSpecification): any => ({ + export const filterSensitiveLog = (obj: UiConfig): any => ({ ...obj, }); } /** - *

                                                        The configuration for a baseline model bias job.

                                                        + *

                                                        Information required for human workers to complete a labeling task.

                                                        */ -export interface ModelBiasBaselineConfig { - /** - *

                                                        The name of the baseline model bias job.

                                                        - */ - BaseliningJobName?: string; - +export interface HumanTaskConfig { /** - *

                                                        The constraints resource for a monitoring job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the work team assigned to complete the tasks.

                                                        */ - ConstraintsResource?: MonitoringConstraintsResource; -} + WorkteamArn: string | undefined; -export namespace ModelBiasBaselineConfig { /** - * @internal + *

                                                        Information about the user interface that workers use to complete the labeling + * task.

                                                        */ - export const filterSensitiveLog = (obj: ModelBiasBaselineConfig): any => ({ - ...obj, - }); -} + UiConfig: UiConfig | undefined; -/** - *

                                                        The ground truth labels for the dataset used for the monitoring job.

                                                        - */ -export interface MonitoringGroundTruthS3Input { /** - *

                                                        The address of the Amazon S3 location of the ground truth labels.

                                                        - */ - S3Uri?: string; -} - -export namespace MonitoringGroundTruthS3Input { - /** - * @internal - */ - export const filterSensitiveLog = (obj: MonitoringGroundTruthS3Input): any => ({ - ...obj, - }); -} - -/** - *

                                                        Inputs for the model bias job.

                                                        - */ -export interface ModelBiasJobInput { - /** - *

                                                        Input object for the endpoint

                                                        - */ - EndpointInput: EndpointInput | undefined; - - /** - *

                                                        Location of ground truth labels to use in model bias job.

                                                        - */ - GroundTruthS3Input: MonitoringGroundTruthS3Input | undefined; -} - -export namespace ModelBiasJobInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelBiasJobInput): any => ({ - ...obj, - }); -} - -export interface CreateModelBiasJobDefinitionRequest { - /** - *

                                                        The name of the bias job definition. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

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

                                                        The baseline configuration for a model bias job.

                                                        - */ - ModelBiasBaselineConfig?: ModelBiasBaselineConfig; - - /** - *

                                                        Configures the model bias job to run a specified Docker container image.

                                                        - */ - ModelBiasAppSpecification: ModelBiasAppSpecification | undefined; - - /** - *

                                                        Inputs for the model bias job.

                                                        - */ - ModelBiasJobInput: ModelBiasJobInput | undefined; - - /** - *

                                                        The output configuration for monitoring jobs.

                                                        - */ - ModelBiasJobOutputConfig: MonitoringOutputConfig | undefined; - - /** - *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        - */ - JobResources: MonitoringResources | undefined; - - /** - *

                                                        Networking options for a model bias job.

                                                        - */ - NetworkConfig?: MonitoringNetworkConfig; - - /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to - * perform tasks on your behalf.

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

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        - */ - StoppingCondition?: MonitoringStoppingCondition; - - /** - *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                        - */ - Tags?: Tag[]; -} - -export namespace CreateModelBiasJobDefinitionRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionRequest): any => ({ - ...obj, - }); -} - -export interface CreateModelBiasJobDefinitionResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the model bias job.

                                                        - */ - JobDefinitionArn: string | undefined; -} - -export namespace CreateModelBiasJobDefinitionResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                        Docker container image configuration object for the model explainability job.

                                                        - */ -export interface ModelExplainabilityAppSpecification { - /** - *

                                                        The container image to be run by the model explainability job.

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

                                                        JSON formatted S3 file that defines explainability parameters. For more information on - * this JSON configuration file, see Configure model - * explainability parameters.

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

                                                        Sets the environment variables in the Docker container.

                                                        - */ - Environment?: { [key: string]: string }; -} - -export namespace ModelExplainabilityAppSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelExplainabilityAppSpecification): any => ({ - ...obj, - }); -} - -/** - *

                                                        The configuration for a baseline model explainability job.

                                                        - */ -export interface ModelExplainabilityBaselineConfig { - /** - *

                                                        The name of the baseline model explainability job.

                                                        - */ - BaseliningJobName?: string; - - /** - *

                                                        The constraints resource for a monitoring job.

                                                        - */ - ConstraintsResource?: MonitoringConstraintsResource; -} - -export namespace ModelExplainabilityBaselineConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelExplainabilityBaselineConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                        Inputs for the model explainability job.

                                                        - */ -export interface ModelExplainabilityJobInput { - /** - *

                                                        Input object for the endpoint

                                                        - */ - EndpointInput: EndpointInput | undefined; -} - -export namespace ModelExplainabilityJobInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelExplainabilityJobInput): any => ({ - ...obj, - }); -} - -export interface CreateModelExplainabilityJobDefinitionRequest { - /** - *

                                                        The name of the model explainability job definition. The name must be unique within an - * Amazon Web Services Region in the Amazon Web Services account.

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

                                                        The baseline configuration for a model explainability job.

                                                        - */ - ModelExplainabilityBaselineConfig?: ModelExplainabilityBaselineConfig; - - /** - *

                                                        Configures the model explainability job to run a specified Docker container - * image.

                                                        - */ - ModelExplainabilityAppSpecification: ModelExplainabilityAppSpecification | undefined; - - /** - *

                                                        Inputs for the model explainability job.

                                                        - */ - ModelExplainabilityJobInput: ModelExplainabilityJobInput | undefined; - - /** - *

                                                        The output configuration for monitoring jobs.

                                                        + *

                                                        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 + * job.

                                                        + *

                                                        For built-in + * task types, use one of the following Amazon SageMaker Ground Truth Lambda function ARNs for + * PreHumanTaskLambdaArn. For custom labeling workflows, see Pre-annotation Lambda.

                                                        + * + * + * + *

                                                        + * Bounding box - Finds the most similar boxes from + * different workers based on the Jaccard index of the boxes.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox + *

                                                          + *
                                                        • + *
                                                        + * + * + *

                                                        + * Image classification - Uses a variant of the Expectation + * Maximization approach to estimate the true class of an image based on + * annotations from individual workers.

                                                        + * + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Multi-label image classification - Uses a variant of the Expectation + * Maximization approach to estimate the true classes of an image based on + * annotations from individual workers.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Semantic segmentation - Treats each pixel in an image as + * a multi-class classification and treats pixel annotations from workers as + * "votes" for the correct label.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Text classification - Uses a variant of the Expectation + * Maximization approach to estimate the true class of text based on annotations + * from individual workers.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Multi-label text classification - Uses a variant of the + * Expectation Maximization approach to estimate the true classes of text based on + * annotations from individual workers.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Named entity recognition - Groups similar selections and + * calculates aggregate boundaries, resolving to most-assigned label.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition + *

                                                          + *
                                                        • + *
                                                        + * + * + * + * + *

                                                        + * Video Classification - Use this task type when you need workers to classify videos using + * predefined labels that you specify. Workers are shown videos and are asked to choose one + * label for each video.

                                                        + * + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoMultiClass + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Video Frame Object Detection - Use this task type to + * have workers identify and locate objects in a sequence of video frames (images extracted + * from a video) using bounding boxes. For example, you can use this task to ask workers to + * identify and localize various objects in a series of video frames, such as cars, bikes, + * and pedestrians.

                                                        + * + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Video Frame Object Tracking - Use this task type to + * have workers track the movement of objects in a sequence of video frames (images + * extracted from a video) using bounding boxes. For example, you can use this task to ask + * workers to track the movement of objects, such as cars, bikes, and pedestrians.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        + * + * + * + * + *

                                                        + * 3D Point Cloud Modalities + *

                                                        + *

                                                        Use the following pre-annotation lambdas for 3D point cloud labeling modality tasks. + * See 3D Point Cloud Task types + * to learn more.

                                                        + * + * + *

                                                        + * 3D Point Cloud Object Detection - + * Use this task type when you want workers to classify objects in a 3D point cloud by + * drawing 3D cuboids around objects. For example, you can use this task type to ask workers + * to identify different types of objects in a point cloud, such as cars, bikes, and pedestrians.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * 3D Point Cloud Object Tracking - + * Use this task type when you want workers to draw 3D cuboids around objects + * that appear in a sequence of 3D point cloud frames. + * For example, you can use this task type to ask workers to track + * the movement of vehicles across multiple point cloud frames. + *

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        + * + * + * + *

                                                        + * 3D Point Cloud Semantic Segmentation - + * Use this task type when you want workers to create a point-level semantic segmentation masks by + * painting objects in a 3D point cloud using different colors where each color is assigned to one of + * the classes you specify.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Use the following ARNs for Label Verification and Adjustment Jobs + *

                                                        + *

                                                        Use label verification and adjustment jobs to review and adjust labels. To learn more, + * see Verify and Adjust Labels .

                                                        + * + *

                                                        + * Bounding box verification - Uses a variant of the + * Expectation Maximization approach to estimate the true class of verification + * judgement for bounding box labels based on annotations from individual + * workers.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Bounding box adjustment - Finds the most similar boxes + * from different workers based on the Jaccard index of the adjusted + * annotations.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Semantic segmentation verification - Uses a variant of + * the Expectation Maximization approach to estimate the true class of verification + * judgment for semantic segmentation labels based on annotations from individual + * workers.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Semantic segmentation adjustment - Treats each pixel in + * an image as a multi-class classification and treats pixel adjusted annotations + * from workers as "votes" for the correct label.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        + * + * + * + * + *

                                                        + * Video Frame Object Detection Adjustment - + * Use this task type when you want workers to adjust bounding boxes that workers have added + * to video frames to classify and localize objects in a sequence of video frames.

                                                        + * + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectDetection + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * Video Frame Object Tracking Adjustment - + * Use this task type when you want workers to adjust bounding boxes that workers have added + * to video frames to track object movement across a sequence of video frames.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectTracking + *

                                                          + *
                                                        • + *
                                                        + * + * + * + * + *

                                                        + * 3D point cloud object detection adjustment - Adjust + * 3D cuboids in a point cloud frame.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectDetection + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * 3D point cloud object tracking adjustment - Adjust 3D + * cuboids across a sequence of point cloud frames.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking + *

                                                          + *
                                                        • + *
                                                        + * + *

                                                        + * 3D point cloud semantic segmentation adjustment - + * Adjust semantic segmentation masks in a 3D point cloud.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation + *

                                                          + *
                                                        • + *
                                                        */ - ModelExplainabilityJobOutputConfig: MonitoringOutputConfig | undefined; + PreHumanTaskLambdaArn: string | undefined; /** - *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + *

                                                        Keywords used to describe the task so that workers on Amazon Mechanical Turk can + * discover the task.

                                                        */ - JobResources: MonitoringResources | undefined; + TaskKeywords?: string[]; /** - *

                                                        Networking options for a model explainability job.

                                                        + *

                                                        A title for the task for your human workers.

                                                        */ - NetworkConfig?: MonitoringNetworkConfig; + TaskTitle: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to - * perform tasks on your behalf.

                                                        + *

                                                        A description of the task for your human workers.

                                                        */ - RoleArn: string | undefined; + TaskDescription: string | undefined; /** - *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + *

                                                        The number of human workers that will label an object.

                                                        */ - StoppingCondition?: MonitoringStoppingCondition; + NumberOfHumanWorkersPerDataObject: number | undefined; /** - *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                        + *

                                                        The amount of time that a worker has to complete a task.

                                                        + *

                                                        If you create a custom labeling job, the maximum value for this parameter is 8 hours + * (28,800 seconds).

                                                        + *

                                                        If you create a labeling job using a built-in task type the maximum + * for this parameter depends on the task type you use:

                                                        + *
                                                          + *
                                                        • + *

                                                          For image and + * text labeling jobs, + * the maximum is 8 hours (28,800 seconds).

                                                          + *
                                                        • + *
                                                        • + *

                                                          For 3D point cloud and video frame labeling jobs, the maximum is 30 days (2952,000 seconds) for non-AL mode. For most users, the maximum is also 30 days.

                                                          + *
                                                        • + *
                                                        */ - Tags?: Tag[]; -} + TaskTimeLimitInSeconds: number | undefined; -export namespace CreateModelExplainabilityJobDefinitionRequest { /** - * @internal + *

                                                        The length of time that a task remains available for labeling by human workers. The + * default and maximum values for this parameter depend on the type of workforce you + * use.

                                                        + *
                                                          + *
                                                        • + *

                                                          If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours (43,200 seconds). + * The default is 6 hours (21,600 seconds).

                                                          + *
                                                        • + *
                                                        • + *

                                                          If you choose a private or vendor workforce, the default value is 30 days (2592,000 seconds) for non-AL mode. For most users, the maximum is also 30 days.

                                                          + *
                                                        • + *
                                                        */ - export const filterSensitiveLog = (obj: CreateModelExplainabilityJobDefinitionRequest): any => ({ - ...obj, - }); -} + TaskAvailabilityLifetimeInSeconds?: number; -export interface CreateModelExplainabilityJobDefinitionResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the model explainability job.

                                                        + *

                                                        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.

                                                        */ - JobDefinitionArn: string | undefined; -} + MaxConcurrentTaskCount?: number; -export namespace CreateModelExplainabilityJobDefinitionResponse { /** - * @internal + *

                                                        Configures how labels are consolidated across human workers.

                                                        */ - export const filterSensitiveLog = (obj: CreateModelExplainabilityJobDefinitionResponse): any => ({ - ...obj, - }); -} + AnnotationConsolidationConfig: AnnotationConsolidationConfig | undefined; -/** - *

                                                        Contains explainability metrics for a model.

                                                        - */ -export interface Explainability { /** - *

                                                        The explainability report for a model.

                                                        + *

                                                        The price that you pay for each task performed by an Amazon Mechanical Turk worker.

                                                        */ - Report?: MetricsSource; + PublicWorkforceTaskPrice?: PublicWorkforceTaskPrice; } -export namespace Explainability { +export namespace HumanTaskConfig { /** * @internal */ - export const filterSensitiveLog = (obj: Explainability): any => ({ + export const filterSensitiveLog = (obj: HumanTaskConfig): any => ({ ...obj, }); } /** - *

                                                        Data quality constraints and statistics for a model.

                                                        + *

                                                        Attributes of the data specified by the customer. Use these to describe the data to be + * labeled.

                                                        */ -export interface ModelDataQuality { - /** - *

                                                        Data quality statistics for a model.

                                                        - */ - Statistics?: MetricsSource; - +export interface LabelingJobDataAttributes { /** - *

                                                        Data quality constraints for a model.

                                                        + *

                                                        Declares that your content is free of personally identifiable information or adult + * content. Amazon SageMaker may restrict the Amazon Mechanical Turk workers that can view your task + * based on this information.

                                                        */ - Constraints?: MetricsSource; + ContentClassifiers?: (ContentClassifier | string)[]; } -export namespace ModelDataQuality { +export namespace LabelingJobDataAttributes { /** * @internal */ - export const filterSensitiveLog = (obj: ModelDataQuality): any => ({ + export const filterSensitiveLog = (obj: LabelingJobDataAttributes): any => ({ ...obj, }); } /** - *

                                                        Model quality statistics and constraints.

                                                        + *

                                                        The Amazon S3 location of the input data objects.

                                                        */ -export interface ModelQuality { - /** - *

                                                        Model quality statistics.

                                                        - */ - Statistics?: MetricsSource; - +export interface LabelingJobS3DataSource { /** - *

                                                        Model quality constraints.

                                                        + *

                                                        The Amazon S3 location of the manifest file that describes the input data objects.

                                                        + *

                                                        The input manifest file referenced in ManifestS3Uri must contain one of + * the following keys: source-ref or source. The value of the + * keys are interpreted as follows:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * source-ref: The source of the object is the Amazon S3 object + * specified in the value. Use this value when the object is a binary object, such + * as an image.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * source: The source of the object is the value. Use this + * value when the object is a text value.

                                                          + *
                                                        • + *
                                                        + *

                                                        If you are a new user of Ground Truth, it is recommended you review Use an Input Manifest File in the Amazon SageMaker Developer Guide to learn how to + * create an input manifest file.

                                                        */ - Constraints?: MetricsSource; + ManifestS3Uri: string | undefined; } -export namespace ModelQuality { +export namespace LabelingJobS3DataSource { /** * @internal */ - export const filterSensitiveLog = (obj: ModelQuality): any => ({ + export const filterSensitiveLog = (obj: LabelingJobS3DataSource): any => ({ ...obj, }); } /** - *

                                                        Contains metrics captured from a model.

                                                        + *

                                                        An Amazon SNS data source used for streaming labeling jobs.

                                                        */ -export interface ModelMetrics { - /** - *

                                                        Metrics that measure the quality of a model.

                                                        - */ - ModelQuality?: ModelQuality; - - /** - *

                                                        Metrics that measure the quality of the input data for a model.

                                                        - */ - ModelDataQuality?: ModelDataQuality; - - /** - *

                                                        Metrics that measure bais in a model.

                                                        - */ - Bias?: Bias; - +export interface LabelingJobSnsDataSource { /** - *

                                                        Metrics that help explain a model.

                                                        + *

                                                        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.

                                                        */ - Explainability?: Explainability; + SnsTopicArn: string | undefined; } -export namespace ModelMetrics { +export namespace LabelingJobSnsDataSource { /** * @internal */ - export const filterSensitiveLog = (obj: ModelMetrics): any => ({ + export const filterSensitiveLog = (obj: LabelingJobSnsDataSource): any => ({ ...obj, }); } /** - *

                                                        Specifies an algorithm that was used to create the model package. The algorithm must - * be either an algorithm resource in your Amazon SageMaker account or an algorithm in Amazon Web Services Marketplace that you - * are subscribed to.

                                                        + *

                                                        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 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; - - /** - *

                                                        The name of an algorithm that was used to create the model package. The algorithm must - * be either an algorithm resource in your Amazon SageMaker account or an algorithm in Amazon Web Services Marketplace that you - * are subscribed to.

                                                        - */ - AlgorithmName: string | undefined; -} - -export namespace SourceAlgorithm { +export interface LabelingJobDataSource { /** - * @internal + *

                                                        The Amazon S3 location of the input data objects.

                                                        */ - export const filterSensitiveLog = (obj: SourceAlgorithm): any => ({ - ...obj, - }); -} + S3DataSource?: LabelingJobS3DataSource; -/** - *

                                                        A list of algorithms that were used to create a model package.

                                                        - */ -export interface SourceAlgorithmSpecification { /** - *

                                                        A list of the algorithms that were used to create a model package.

                                                        + *

                                                        An Amazon SNS data source used for streaming labeling jobs. To learn more, see Send Data to a Streaming Labeling Job.

                                                        */ - SourceAlgorithms: SourceAlgorithm[] | undefined; + SnsDataSource?: LabelingJobSnsDataSource; } -export namespace SourceAlgorithmSpecification { +export namespace LabelingJobDataSource { /** * @internal */ - export const filterSensitiveLog = (obj: SourceAlgorithmSpecification): any => ({ + export const filterSensitiveLog = (obj: LabelingJobDataSource): any => ({ ...obj, }); } /** - *

                                                        Contains data, such as the inputs and targeted instance types that are used in the - * process of validating the model package.

                                                        - *

                                                        The data provided in the validation profile is made available to your buyers on Amazon Web Services - * Marketplace.

                                                        + *

                                                        Input configuration information for a labeling job.

                                                        */ -export interface ModelPackageValidationProfile { +export interface LabelingJobInputConfig { /** - *

                                                        The name of the profile for the model package.

                                                        + *

                                                        The location of the input data.

                                                        */ - ProfileName: string | undefined; + DataSource: LabelingJobDataSource | undefined; /** - *

                                                        The TransformJobDefinition object that describes the transform job used - * for the validation of the model package.

                                                        + *

                                                        Attributes of the data specified by the customer.

                                                        */ - TransformJobDefinition: TransformJobDefinition | undefined; + DataAttributes?: LabelingJobDataAttributes; } -export namespace ModelPackageValidationProfile { +export namespace LabelingJobInputConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ModelPackageValidationProfile): any => ({ + export const filterSensitiveLog = (obj: LabelingJobInputConfig): any => ({ ...obj, }); } /** - *

                                                        Specifies batch transform jobs that Amazon SageMaker runs to validate your model package.

                                                        + *

                                                        Configure encryption on the storage volume attached to the ML compute instance used to + * run automated data labeling model training and inference.

                                                        */ -export interface ModelPackageValidationSpecification { - /** - *

                                                        The IAM roles to be used for the validation of the model package.

                                                        - */ - ValidationRole: string | undefined; - +export interface LabelingJobResourceConfig { /** - *

                                                        An array of ModelPackageValidationProfile objects, each of which - * specifies a batch transform job that Amazon SageMaker runs to validate your model package.

                                                        + *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume + * attached to the ML compute instance(s) that run the training and inference jobs used for + * automated data labeling.

                                                        + *

                                                        You can only specify a VolumeKmsKeyId when you create a labeling job with + * automated data labeling enabled using the API operation CreateLabelingJob. + * You cannot specify an Amazon Web Services KMS key to encrypt the storage volume used for + * automated data labeling model training and inference when you create a labeling job + * using the console. To learn more, see Output Data and Storage Volume + * Encryption.

                                                        + *

                                                        The VolumeKmsKeyId can be any 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" + *

                                                          + *
                                                        • + *
                                                        */ - ValidationProfiles: ModelPackageValidationProfile[] | undefined; + VolumeKmsKeyId?: string; } -export namespace ModelPackageValidationSpecification { +export namespace LabelingJobResourceConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ModelPackageValidationSpecification): any => ({ + export const filterSensitiveLog = (obj: LabelingJobResourceConfig): any => ({ ...obj, }); } -export interface CreateModelPackageInput { - /** - *

                                                        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).

                                                        - *

                                                        This parameter is required for unversioned models. It is not applicable to versioned - * models.

                                                        - */ - ModelPackageName?: string; - - /** - *

                                                        The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

                                                        - *

                                                        This parameter is required for versioned models, and does not apply to unversioned - * models.

                                                        - */ - ModelPackageGroupName?: string; - - /** - *

                                                        A description of the model package.

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

                                                        Provides configuration information for auto-labeling of your data objects. A + * LabelingJobAlgorithmsConfig object must be supplied in order to use + * auto-labeling.

                                                        + */ +export interface LabelingJobAlgorithmsConfig { /** - *

                                                        Specifies details about inference jobs that can be run with models based on this model - * package, including the following:

                                                        + *

                                                        Specifies the Amazon Resource Name (ARN) of the algorithm used for auto-labeling. You + * must select one of the following ARNs:

                                                        *
                                                          *
                                                        • - *

                                                          The Amazon ECR paths of containers that contain the inference code and model - * artifacts.

                                                          + *

                                                          + * Image classification + *

                                                          + *

                                                          + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/image-classification + *

                                                          *
                                                        • *
                                                        • - *

                                                          The instance types that the model package supports for transform jobs and - * real-time endpoints used for inference.

                                                          + *

                                                          + * Text classification + *

                                                          + *

                                                          + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/text-classification + *

                                                          *
                                                        • *
                                                        • - *

                                                          The input and output content formats that the model package supports for - * inference.

                                                          + *

                                                          + * Object detection + *

                                                          + *

                                                          + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/object-detection + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Semantic Segmentation + *

                                                          + *

                                                          + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/semantic-segmentation + *

                                                          *
                                                        • *
                                                        */ - InferenceSpecification?: InferenceSpecification; - - /** - *

                                                        Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the - * model package.

                                                        - */ - ValidationSpecification?: ModelPackageValidationSpecification; - - /** - *

                                                        Details about the algorithm that was used to create the model package.

                                                        - */ - SourceAlgorithmSpecification?: SourceAlgorithmSpecification; - - /** - *

                                                        Whether to certify the model package for listing on Amazon Web Services Marketplace.

                                                        - *

                                                        This parameter is optional for unversioned models, and does not apply to versioned - * models.

                                                        - */ - CertifyForMarketplace?: boolean; - - /** - *

                                                        A list of key value pairs associated with the model. For more information, see Tagging Amazon Web Services - * resources in the Amazon Web Services General Reference Guide.

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

                                                        Whether the model is approved for deployment.

                                                        - *

                                                        This parameter is optional for versioned models, and does not apply to unversioned - * models.

                                                        - *

                                                        For versioned models, the value of this parameter must be set to Approved - * to deploy the model.

                                                        - */ - ModelApprovalStatus?: ModelApprovalStatus | string; + LabelingJobAlgorithmSpecificationArn: string | undefined; /** - *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + *

                                                        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.

                                                        */ - MetadataProperties?: MetadataProperties; + InitialActiveLearningModelArn?: string; /** - *

                                                        A structure that contains model metrics reports.

                                                        + *

                                                        Provides configuration information for a labeling job.

                                                        */ - ModelMetrics?: ModelMetrics; + LabelingJobResourceConfig?: LabelingJobResourceConfig; +} +export namespace LabelingJobAlgorithmsConfig { /** - *

                                                        A unique token that guarantees that the call to this API is idempotent.

                                                        + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: LabelingJobAlgorithmsConfig): any => ({ + ...obj, + }); +} +/** + *

                                                        Output configuration information for a labeling job.

                                                        + */ +export interface LabelingJobOutputConfig { /** - *

                                                        The metadata properties associated with the model package versions.

                                                        + *

                                                        The Amazon S3 location to write output data.

                                                        */ - CustomerMetadataProperties?: { [key: string]: string }; -} + S3OutputPath: string | undefined; -export namespace CreateModelPackageInput { /** - * @internal + *

                                                        The Amazon Web Services Key Management Service ID of the key used to encrypt the output data, if any.

                                                        + *

                                                        If you provide your own KMS key ID, you must add the required permissions to your KMS + * key described in Encrypt Output Data and Storage Volume with Amazon Web Services KMS.

                                                        + *

                                                        If you don't provide a KMS key ID, Amazon SageMaker uses the default Amazon Web Services KMS key for Amazon S3 for your + * role's account to encrypt your output data.

                                                        + *

                                                        If you use a bucket policy with an s3:PutObject permission that only + * allows objects with server-side encryption, set the condition key of + * s3:x-amz-server-side-encryption to "aws:kms". For more + * information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer + * Guide. + *

                                                        */ - export const filterSensitiveLog = (obj: CreateModelPackageInput): any => ({ - ...obj, - }); -} + KmsKeyId?: string; -export interface CreateModelPackageOutput { /** - *

                                                        The Amazon Resource Name (ARN) of the new model package.

                                                        + *

                                                        An Amazon Simple Notification Service (Amazon SNS) output topic ARN. Provide a SnsTopicArn if you want to + * do real time chaining to another streaming job and receive an Amazon SNS notifications each + * time a data object is submitted by a worker.

                                                        + *

                                                        If you provide an SnsTopicArn in OutputConfig, when workers + * complete labeling tasks, Ground Truth will send labeling task output data to the SNS output + * topic you specify here.

                                                        + *

                                                        To learn more, see Receive Output Data from a Streaming Labeling + * Job.

                                                        */ - ModelPackageArn: string | undefined; + SnsTopicArn?: string; } -export namespace CreateModelPackageOutput { +export namespace LabelingJobOutputConfig { /** * @internal */ - export const filterSensitiveLog = (obj: CreateModelPackageOutput): any => ({ + export const filterSensitiveLog = (obj: LabelingJobOutputConfig): any => ({ ...obj, }); } -export interface CreateModelPackageGroupInput { - /** - *

                                                        The name of the model group.

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

                                                        A set of conditions for stopping a labeling job. If any of the conditions are met, the + * job is automatically stopped. You can use these conditions to control the cost of data + * labeling.

                                                        + * + *

                                                        Labeling jobs fail after 30 days with an appropriate client error message.

                                                        + *
                                                        + */ +export interface LabelingJobStoppingConditions { /** - *

                                                        A description for the model group.

                                                        + *

                                                        The maximum number of objects that can be labeled by human workers.

                                                        */ - ModelPackageGroupDescription?: string; + MaxHumanLabeledObjectCount?: number; /** - *

                                                        A list of key value pairs associated with the model group. For more information, see - * Tagging Amazon Web Services - * resources in the Amazon Web Services General Reference Guide.

                                                        + *

                                                        The maximum number of input data objects that should be labeled.

                                                        */ - Tags?: Tag[]; + MaxPercentageOfInputDatasetLabeled?: number; } -export namespace CreateModelPackageGroupInput { +export namespace LabelingJobStoppingConditions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateModelPackageGroupInput): any => ({ + export const filterSensitiveLog = (obj: LabelingJobStoppingConditions): any => ({ ...obj, }); } -export interface CreateModelPackageGroupOutput { +export interface CreateLabelingJobRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the model group.

                                                        + *

                                                        The name of the labeling job. This name is used to identify the job in a list of + * labeling jobs. Labeling job names must be unique within an Amazon Web Services account and region. + * LabelingJobName is not case sensitive. For example, Example-job and + * example-job are considered the same labeling job name by Ground Truth.

                                                        + */ + LabelingJobName: 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 + * LabelAttributeName must meet the following requirements.

                                                        + *
                                                          + *
                                                        • + *

                                                          The name can't end with "-metadata".

                                                          + *
                                                        • + *
                                                        • + *

                                                          If you are using one of the following built-in task types, + * the attribute name must end with "-ref". If the task type + * you are using is not listed below, the attribute name must + * not end with "-ref".

                                                          + *
                                                            + *
                                                          • + *

                                                            Image semantic segmentation (SemanticSegmentation), and + * adjustment (AdjustmentSemanticSegmentation) and + * verification (VerificationSemanticSegmentation) labeling + * jobs for this task type.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Video frame object detection (VideoObjectDetection), and + * adjustment and verification + * (AdjustmentVideoObjectDetection) labeling jobs for this + * task type.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Video frame object tracking (VideoObjectTracking), and + * adjustment and verification (AdjustmentVideoObjectTracking) + * labeling jobs for this task type.

                                                            + *
                                                          • + *
                                                          • + *

                                                            3D point cloud semantic segmentation + * (3DPointCloudSemanticSegmentation), and adjustment and + * verification (Adjustment3DPointCloudSemanticSegmentation) + * labeling jobs for this task type.

                                                            + *
                                                          • + *
                                                          • + *

                                                            3D point cloud object tracking + * (3DPointCloudObjectTracking), and adjustment and + * verification (Adjustment3DPointCloudObjectTracking) + * labeling jobs for this task type.

                                                            + *
                                                          • + *
                                                          + *
                                                        • + *
                                                        + *

                                                        + * + *

                                                        If you are creating an adjustment or verification labeling job, you must use a + * different + * LabelAttributeName than the one used in the original labeling job. The + * original labeling job is the Ground Truth labeling job that produced the labels that you + * want verified or adjusted. To learn more about adjustment and verification labeling + * jobs, see Verify and Adjust + * Labels.

                                                        + *
                                                        */ - ModelPackageGroupArn: string | undefined; -} + LabelAttributeName: string | undefined; -export namespace CreateModelPackageGroupOutput { /** - * @internal + *

                                                        Input data 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.

                                                        + *

                                                        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 that stops after all data objects in the input + * manifest file have been labeled.

                                                          + *
                                                        • + *
                                                        • + *

                                                          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.

                                                          + *
                                                        • + *
                                                        + *

                                                        If you use the Amazon Mechanical Turk workforce, your input data should not include + * confidential information, personal information or protected health information. Use + * ContentClassifiers to specify that your data is free of personally + * identifiable information and adult content.

                                                        */ - export const filterSensitiveLog = (obj: CreateModelPackageGroupOutput): any => ({ - ...obj, - }); -} - -export enum MonitoringProblemType { - BINARY_CLASSIFICATION = "BinaryClassification", - MULTICLASS_CLASSIFICATION = "MulticlassClassification", - REGRESSION = "Regression", -} + InputConfig: LabelingJobInputConfig | undefined; -/** - *

                                                        Container image configuration object for the monitoring job.

                                                        - */ -export interface ModelQualityAppSpecification { /** - *

                                                        The address of the container image that the monitoring job runs.

                                                        + *

                                                        The location of the output data and the Amazon Web Services Key Management Service key ID for the key used to encrypt + * the output data, if any.

                                                        */ - ImageUri: string | undefined; + OutputConfig: LabelingJobOutputConfig | undefined; /** - *

                                                        Specifies the entrypoint for a container that the monitoring job runs.

                                                        + *

                                                        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.

                                                        */ - ContainerEntrypoint?: string[]; + RoleArn: string | undefined; /** - *

                                                        An array of arguments for the container used to run the monitoring job.

                                                        + *

                                                        The S3 URI of the file, referred to as a label category configuration + * file, that defines the categories used to label the data objects.

                                                        + *

                                                        For 3D point cloud and video frame task types, you can add label category attributes + * and frame attributes to your label category configuration file. To learn how, see Create a + * Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                        + *

                                                        For named entity recognition jobs, in addition to "labels", you must + * provide worker instructions in the label category configuration file using the + * "instructions" parameter: "instructions": + * {"shortInstruction":"

                                                        Add header

                                                        Add Instructions

                                                        ", + * "fullInstruction":"

                                                        Add additional instructions.

                                                        "}
                                                        . For details + * and an example, see Create a + * Named Entity Recognition Labeling Job (API) .

                                                        + *

                                                        For all other built-in task types and custom + * tasks, your label category configuration file must be a JSON file in the + * following format. Identify the labels you want to use by replacing label_1, + * label_2,...,label_n with your label + * categories.

                                                        + *

                                                        + * { + *

                                                        + *

                                                        + * "document-version": "2018-11-28", + *

                                                        + *

                                                        + * "labels": [{"label": "label_1"},{"label": "label_2"},...{"label": + * "label_n"}] + *

                                                        + *

                                                        + * } + *

                                                        + *

                                                        Note the following about the label category configuration file:

                                                        + *
                                                          + *
                                                        • + *

                                                          For image classification and text classification (single and multi-label) you + * must specify at least two label categories. For all other task types, the + * minimum number of label categories required is one.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Each label category must be unique, you cannot specify duplicate label + * categories.

                                                          + *
                                                        • + *
                                                        • + *

                                                          If you create a 3D point cloud or video frame adjustment or verification + * labeling job, you must include auditLabelAttributeName in the label + * category configuration. Use this parameter to enter the + * LabelAttributeName + * of the labeling job you want to + * adjust or verify annotations of.

                                                          + *
                                                        • + *
                                                        */ - ContainerArguments?: string[]; + LabelCategoryConfigS3Uri?: 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.

                                                        + *

                                                        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 + * data labeling.

                                                        */ - RecordPreprocessorSourceUri?: string; + StoppingConditions?: LabelingJobStoppingConditions; /** - *

                                                        An Amazon S3 URI to a script that is called after analysis has been performed. - * Applicable only for the built-in (first party) containers.

                                                        + *

                                                        Configures the information required to perform automated data labeling.

                                                        */ - PostAnalyticsProcessorSourceUri?: string; + LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; /** - *

                                                        The machine learning problem type of the model that the monitoring job monitors.

                                                        + *

                                                        Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

                                                        */ - ProblemType?: MonitoringProblemType | string; + HumanTaskConfig: HumanTaskConfig | undefined; /** - *

                                                        Sets the environment variables in the container that the monitoring job runs.

                                                        + *

                                                        An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                        */ - Environment?: { [key: string]: string }; + Tags?: Tag[]; } -export namespace ModelQualityAppSpecification { +export namespace CreateLabelingJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModelQualityAppSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateLabelingJobRequest): any => ({ ...obj, }); } -/** - *

                                                        Configuration for monitoring constraints and monitoring statistics. These baseline - * resources are compared against the results of the current job from the series of jobs - * scheduled to collect data periodically.

                                                        - */ -export interface ModelQualityBaselineConfig { - /** - *

                                                        The name of the job that performs baselining for the monitoring job.

                                                        - */ - BaseliningJobName?: string; - +export interface CreateLabelingJobResponse { /** - *

                                                        The constraints resource for a monitoring job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the + * labeling job.

                                                        */ - ConstraintsResource?: MonitoringConstraintsResource; + LabelingJobArn: string | undefined; } -export namespace ModelQualityBaselineConfig { +export namespace CreateLabelingJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ModelQualityBaselineConfig): any => ({ + export const filterSensitiveLog = (obj: CreateLabelingJobResponse): any => ({ ...obj, }); } +export enum InferenceExecutionMode { + DIRECT = "Direct", + SERIAL = "Serial", +} + /** - *

                                                        The input for the model quality monitoring job. Currently endponts are supported for - * input for model quality monitoring jobs.

                                                        + *

                                                        Specifies details about how containers in a multi-container endpoint are run.

                                                        */ -export interface ModelQualityJobInput { - /** - *

                                                        Input object for the endpoint

                                                        - */ - EndpointInput: EndpointInput | undefined; - +export interface InferenceExecutionConfig { /** - *

                                                        The ground truth label provided for the model.

                                                        + *

                                                        How containers in a multi-container are run. The following values are valid.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * SERIAL - Containers run as a serial pipeline.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * DIRECT - Only the individual container that you specify is + * run.

                                                          + *
                                                        • + *
                                                        */ - GroundTruthS3Input: MonitoringGroundTruthS3Input | undefined; + Mode: InferenceExecutionMode | string | undefined; } -export namespace ModelQualityJobInput { +export namespace InferenceExecutionConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ModelQualityJobInput): any => ({ + export const filterSensitiveLog = (obj: InferenceExecutionConfig): any => ({ ...obj, }); } -export interface CreateModelQualityJobDefinitionRequest { - /** - *

                                                        The name of the monitoring job definition.

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

                                                        Specifies the constraints and baselines for the monitoring job.

                                                        - */ - ModelQualityBaselineConfig?: ModelQualityBaselineConfig; - +export interface CreateModelInput { /** - *

                                                        The container that runs the monitoring job.

                                                        + *

                                                        The name of the new model.

                                                        */ - ModelQualityAppSpecification: ModelQualityAppSpecification | undefined; + ModelName: string | undefined; /** - *

                                                        A list of the inputs that are monitored. Currently endpoints are supported.

                                                        + *

                                                        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.

                                                        */ - ModelQualityJobInput: ModelQualityJobInput | undefined; + PrimaryContainer?: ContainerDefinition; /** - *

                                                        The output configuration for monitoring jobs.

                                                        + *

                                                        Specifies the containers in the inference pipeline.

                                                        */ - ModelQualityJobOutputConfig: MonitoringOutputConfig | undefined; + Containers?: ContainerDefinition[]; /** - *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + *

                                                        Specifies details of how containers in a multi-container endpoint are called.

                                                        */ - JobResources: MonitoringResources | undefined; + InferenceExecutionConfig?: InferenceExecutionConfig; /** - *

                                                        Specifies the network configuration for the monitoring job.

                                                        + *

                                                        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 + * jobs. Deploying on ML compute instances is part of model hosting. 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.

                                                        + *
                                                        */ - NetworkConfig?: MonitoringNetworkConfig; + ExecutionRoleArn: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to - * perform tasks on your behalf.

                                                        + *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

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

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + *

                                                        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. + * VpcConfig is used in hosting services and in batch transform. For more + * information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch + * Transform Jobs by Using an Amazon Virtual Private Cloud.

                                                        */ - StoppingCondition?: MonitoringStoppingCondition; + VpcConfig?: VpcConfig; /** - *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                        + *

                                                        Isolates the model container. No inbound or outbound network calls can be made to or + * from the model container.

                                                        */ - Tags?: Tag[]; + EnableNetworkIsolation?: boolean; } -export namespace CreateModelQualityJobDefinitionRequest { +export namespace CreateModelInput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateModelQualityJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateModelInput): any => ({ ...obj, }); } -export interface CreateModelQualityJobDefinitionResponse { +export interface CreateModelOutput { /** - *

                                                        The Amazon Resource Name (ARN) of the model quality monitoring job.

                                                        + *

                                                        The ARN of the model created in Amazon SageMaker.

                                                        */ - JobDefinitionArn: string | undefined; + ModelArn: string | undefined; } -export namespace CreateModelQualityJobDefinitionResponse { +export namespace CreateModelOutput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateModelQualityJobDefinitionResponse): any => ({ + export const filterSensitiveLog = (obj: CreateModelOutput): any => ({ ...obj, }); } /** - *

                                                        Configuration for monitoring constraints and monitoring statistics. These baseline - * resources are compared against the results of the current job from the series of jobs - * scheduled to collect data periodically.

                                                        + *

                                                        Docker container image configuration object for the model bias job.

                                                        */ -export interface MonitoringBaselineConfig { +export interface ModelBiasAppSpecification { /** - *

                                                        The name of the job that performs baselining for the monitoring job.

                                                        + *

                                                        The container image to be run by the model bias job.

                                                        */ - BaseliningJobName?: string; + ImageUri: string | undefined; /** - *

                                                        The baseline constraint file in Amazon S3 that the current monitoring job should - * validated against.

                                                        + *

                                                        JSON formatted S3 file that defines bias parameters. For more information on this JSON + * configuration file, see Configure bias + * parameters.

                                                        */ - ConstraintsResource?: MonitoringConstraintsResource; + ConfigUri: string | undefined; /** - *

                                                        The baseline statistics file in Amazon S3 that the current monitoring job should be - * validated against.

                                                        + *

                                                        Sets the environment variables in the Docker container.

                                                        */ - StatisticsResource?: MonitoringStatisticsResource; + Environment?: { [key: string]: string }; } -export namespace MonitoringBaselineConfig { +export namespace ModelBiasAppSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringBaselineConfig): any => ({ + export const filterSensitiveLog = (obj: ModelBiasAppSpecification): any => ({ ...obj, }); } /** - *

                                                        Container image configuration object for the monitoring job.

                                                        + *

                                                        The configuration for a baseline model bias job.

                                                        */ -export interface MonitoringAppSpecification { - /** - *

                                                        The container image to be run by the monitoring job.

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

                                                        Specifies the entrypoint for a container used to run the monitoring job.

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

                                                        An array of arguments for the container used to run the monitoring job.

                                                        - */ - ContainerArguments?: string[]; - +export interface ModelBiasBaselineConfig { /** - *

                                                        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 name of the baseline model bias job.

                                                        */ - RecordPreprocessorSourceUri?: string; + BaseliningJobName?: string; /** - *

                                                        An Amazon S3 URI to a script that is called after analysis has been performed. - * Applicable only for the built-in (first party) containers.

                                                        + *

                                                        The constraints resource for a monitoring job.

                                                        */ - PostAnalyticsProcessorSourceUri?: string; + ConstraintsResource?: MonitoringConstraintsResource; } -export namespace MonitoringAppSpecification { +export namespace ModelBiasBaselineConfig { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringAppSpecification): any => ({ + export const filterSensitiveLog = (obj: ModelBiasBaselineConfig): any => ({ ...obj, }); } /** - *

                                                        The inputs for a monitoring job.

                                                        + *

                                                        The ground truth labels for the dataset used for the monitoring job.

                                                        */ -export interface MonitoringInput { +export interface MonitoringGroundTruthS3Input { /** - *

                                                        The endpoint for a monitoring job.

                                                        + *

                                                        The address of the Amazon S3 location of the ground truth labels.

                                                        */ - EndpointInput: EndpointInput | undefined; + S3Uri?: string; } -export namespace MonitoringInput { +export namespace MonitoringGroundTruthS3Input { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringInput): any => ({ + export const filterSensitiveLog = (obj: MonitoringGroundTruthS3Input): any => ({ ...obj, }); } /** - *

                                                        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.

                                                        + *

                                                        Inputs for the model bias job.

                                                        */ -export interface NetworkConfig { - /** - *

                                                        Whether to encrypt all communications between distributed processing jobs. Choose - * True to encrypt communications. Encryption provides greater security for distributed - * processing jobs, but the processing might take longer.

                                                        - */ - EnableInterContainerTrafficEncryption?: boolean; - +export interface ModelBiasJobInput { /** - *

                                                        Whether to allow inbound and outbound network calls to and from the containers used for - * the processing job.

                                                        + *

                                                        Input object for the endpoint

                                                        */ - EnableNetworkIsolation?: boolean; + EndpointInput: EndpointInput | undefined; /** - *

                                                        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.

                                                        + *

                                                        Location of ground truth labels to use in model bias job.

                                                        */ - VpcConfig?: VpcConfig; + GroundTruthS3Input: MonitoringGroundTruthS3Input | undefined; } -export namespace NetworkConfig { +export namespace ModelBiasJobInput { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkConfig): any => ({ + export const filterSensitiveLog = (obj: ModelBiasJobInput): any => ({ ...obj, }); } -/** - *

                                                        Defines the monitoring job.

                                                        - */ -export interface MonitoringJobDefinition { - /** - *

                                                        Baseline configuration used to validate that the data conforms to the specified - * constraints and statistics

                                                        - */ - BaselineConfig?: MonitoringBaselineConfig; - - /** - *

                                                        The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker - * Endpoint.

                                                        - */ - MonitoringInputs: MonitoringInput[] | undefined; - - /** - *

                                                        The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage - * Service (Amazon S3).

                                                        - */ - MonitoringOutputConfig: MonitoringOutputConfig | undefined; - - /** - *

                                                        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.

                                                        - */ - MonitoringResources: MonitoringResources | undefined; - - /** - *

                                                        Configures the monitoring job to run a specified Docker container image.

                                                        - */ - MonitoringAppSpecification: MonitoringAppSpecification | undefined; - - /** - *

                                                        Specifies a time limit for how long the monitoring job is allowed to run.

                                                        - */ - StoppingCondition?: MonitoringStoppingCondition; - +export interface CreateModelBiasJobDefinitionRequest { /** - *

                                                        Sets the environment variables in the Docker container.

                                                        + *

                                                        The name of the bias job definition. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

                                                        */ - Environment?: { [key: string]: string }; + JobDefinitionName: string | undefined; /** - *

                                                        Specifies networking options for an monitoring job.

                                                        + *

                                                        The baseline configuration for a model bias job.

                                                        */ - NetworkConfig?: NetworkConfig; + ModelBiasBaselineConfig?: ModelBiasBaselineConfig; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on - * your behalf.

                                                        + *

                                                        Configures the model bias job to run a specified Docker container image.

                                                        */ - RoleArn: string | undefined; -} + ModelBiasAppSpecification: ModelBiasAppSpecification | undefined; -export namespace MonitoringJobDefinition { /** - * @internal + *

                                                        Inputs for the model bias job.

                                                        */ - export const filterSensitiveLog = (obj: MonitoringJobDefinition): any => ({ - ...obj, - }); -} - -export enum MonitoringType { - DATA_QUALITY = "DataQuality", - MODEL_BIAS = "ModelBias", - MODEL_EXPLAINABILITY = "ModelExplainability", - MODEL_QUALITY = "ModelQuality", -} + ModelBiasJobInput: ModelBiasJobInput | undefined; -/** - *

                                                        Configuration details about the monitoring schedule.

                                                        - */ -export interface ScheduleConfig { /** - *

                                                        A cron expression that describes details about the monitoring schedule.

                                                        - * - *

                                                        Currently the only supported cron expressions are:

                                                        - *
                                                          - *
                                                        • - *

                                                          If you want to set the job to start every hour, please use the following:

                                                          - *

                                                          - * Hourly: cron(0 * ? * * *) - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          If you want to start the job daily:

                                                          - *

                                                          - * cron(0 [00-23] ? * * *) - *

                                                          - *
                                                        • - *
                                                        - *

                                                        For example, the following are valid cron expressions:

                                                        - *
                                                          - *
                                                        • - *

                                                          Daily at noon UTC: cron(0 12 ? * * *) - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          Daily at midnight UTC: cron(0 0 ? * * *) - *

                                                          - *
                                                        • - *
                                                        - * - *

                                                        To support running every 6, 12 hours, the following are also supported:

                                                        - *

                                                        - * cron(0 [00-23]/[01-24] ? * * *) - *

                                                        - *

                                                        For example, the following are valid cron expressions:

                                                        - *
                                                          - *
                                                        • - *

                                                          Every 12 hours, starting at 5pm UTC: cron(0 17/12 ? * * *) - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          Every two hours starting at midnight: cron(0 0/2 ? * * *) - *

                                                          - *
                                                        • - *
                                                        - * - * - *
                                                          - *
                                                        • - *

                                                          Even though the cron expression is set to start at 5PM UTC, note that there - * could be a delay of 0-20 minutes from the actual requested time to run the - * execution.

                                                          - *
                                                        • - *
                                                        • - *

                                                          We recommend that if you would like a daily schedule, you do not provide this - * parameter. Amazon SageMaker will pick a time for running every day.

                                                          - *
                                                        • - *
                                                        - *
                                                        + *

                                                        The output configuration for monitoring jobs.

                                                        */ - ScheduleExpression: string | undefined; -} + ModelBiasJobOutputConfig: MonitoringOutputConfig | undefined; -export namespace ScheduleConfig { /** - * @internal + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        */ - export const filterSensitiveLog = (obj: ScheduleConfig): any => ({ - ...obj, - }); -} + JobResources: MonitoringResources | undefined; -/** - *

                                                        Configures the monitoring schedule and defines the monitoring job.

                                                        - */ -export interface MonitoringScheduleConfig { /** - *

                                                        Configures the monitoring schedule.

                                                        + *

                                                        Networking options for a model bias job.

                                                        */ - ScheduleConfig?: ScheduleConfig; + NetworkConfig?: MonitoringNetworkConfig; /** - *

                                                        Defines the monitoring job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to + * perform tasks on your behalf.

                                                        */ - MonitoringJobDefinition?: MonitoringJobDefinition; + RoleArn: string | undefined; /** - *

                                                        The name of the monitoring job definition to schedule.

                                                        + *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        */ - MonitoringJobDefinitionName?: string; + StoppingCondition?: MonitoringStoppingCondition; /** - *

                                                        The type of the monitoring job definition to schedule.

                                                        + *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                        */ - MonitoringType?: MonitoringType | string; + Tags?: Tag[]; } -export namespace MonitoringScheduleConfig { +export namespace CreateModelBiasJobDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringScheduleConfig): any => ({ + export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionRequest): any => ({ ...obj, }); } -export interface CreateMonitoringScheduleRequest { +export interface CreateModelBiasJobDefinitionResponse { /** - *

                                                        The name of the monitoring schedule. The name must be unique within an Amazon Web Services Region within - * an Amazon Web Services account.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the model bias job.

                                                        */ - MonitoringScheduleName: string | undefined; + JobDefinitionArn: string | undefined; +} +export namespace CreateModelBiasJobDefinitionResponse { /** - *

                                                        The configuration object that specifies the monitoring schedule and defines the - * monitoring job.

                                                        + * @internal */ - MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; + export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionResponse): any => ({ + ...obj, + }); +} +/** + *

                                                        Docker container image configuration object for the model explainability job.

                                                        + */ +export interface ModelExplainabilityAppSpecification { /** - *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                        + *

                                                        The container image to be run by the model explainability job.

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

                                                        JSON formatted S3 file that defines explainability parameters. For more information on + * this JSON configuration file, see Configure model + * explainability parameters.

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

                                                        Sets the environment variables in the Docker container.

                                                        + */ + Environment?: { [key: string]: string }; } -export namespace CreateMonitoringScheduleRequest { +export namespace ModelExplainabilityAppSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: CreateMonitoringScheduleRequest): any => ({ + export const filterSensitiveLog = (obj: ModelExplainabilityAppSpecification): any => ({ ...obj, }); } -export interface CreateMonitoringScheduleResponse { +/** + *

                                                        The configuration for a baseline model explainability job.

                                                        + */ +export interface ModelExplainabilityBaselineConfig { /** - *

                                                        The Amazon Resource Name (ARN) of the monitoring schedule.

                                                        + *

                                                        The name of the baseline model explainability job.

                                                        */ - MonitoringScheduleArn: string | undefined; + BaseliningJobName?: string; + + /** + *

                                                        The constraints resource for a monitoring job.

                                                        + */ + ConstraintsResource?: MonitoringConstraintsResource; } -export namespace CreateMonitoringScheduleResponse { +export namespace ModelExplainabilityBaselineConfig { /** * @internal */ - export const filterSensitiveLog = (obj: CreateMonitoringScheduleResponse): any => ({ + export const filterSensitiveLog = (obj: ModelExplainabilityBaselineConfig): any => ({ ...obj, }); } -export enum NotebookInstanceAcceleratorType { - ML_EIA1_LARGE = "ml.eia1.large", - ML_EIA1_MEDIUM = "ml.eia1.medium", - ML_EIA1_XLARGE = "ml.eia1.xlarge", - ML_EIA2_LARGE = "ml.eia2.large", - ML_EIA2_MEDIUM = "ml.eia2.medium", - ML_EIA2_XLARGE = "ml.eia2.xlarge", +/** + *

                                                        Inputs for the model explainability job.

                                                        + */ +export interface ModelExplainabilityJobInput { + /** + *

                                                        Input object for the endpoint

                                                        + */ + EndpointInput: EndpointInput | undefined; } -export enum DirectInternetAccess { - DISABLED = "Disabled", - ENABLED = "Enabled", +export namespace ModelExplainabilityJobInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelExplainabilityJobInput): any => ({ + ...obj, + }); } -export enum _InstanceType { - ML_C4_2XLARGE = "ml.c4.2xlarge", - ML_C4_4XLARGE = "ml.c4.4xlarge", - ML_C4_8XLARGE = "ml.c4.8xlarge", - ML_C4_XLARGE = "ml.c4.xlarge", - ML_C5D_18XLARGE = "ml.c5d.18xlarge", - ML_C5D_2XLARGE = "ml.c5d.2xlarge", - ML_C5D_4XLARGE = "ml.c5d.4xlarge", - ML_C5D_9XLARGE = "ml.c5d.9xlarge", - ML_C5D_XLARGE = "ml.c5d.xlarge", - ML_C5_18XLARGE = "ml.c5.18xlarge", - ML_C5_2XLARGE = "ml.c5.2xlarge", - ML_C5_4XLARGE = "ml.c5.4xlarge", - ML_C5_9XLARGE = "ml.c5.9xlarge", - ML_C5_XLARGE = "ml.c5.xlarge", - ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", - ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", - ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", - ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", - ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", - ML_G4DN_XLARGE = "ml.g4dn.xlarge", - ML_M4_10XLARGE = "ml.m4.10xlarge", - ML_M4_16XLARGE = "ml.m4.16xlarge", - ML_M4_2XLARGE = "ml.m4.2xlarge", - ML_M4_4XLARGE = "ml.m4.4xlarge", - ML_M4_XLARGE = "ml.m4.xlarge", - ML_M5D_12XLARGE = "ml.m5d.12xlarge", - ML_M5D_16XLARGE = "ml.m5d.16xlarge", - ML_M5D_24XLARGE = "ml.m5d.24xlarge", - ML_M5D_2XLARGE = "ml.m5d.2xlarge", - ML_M5D_4XLARGE = "ml.m5d.4xlarge", - ML_M5D_8XLARGE = "ml.m5d.8xlarge", - ML_M5D_LARGE = "ml.m5d.large", - ML_M5D_XLARGE = "ml.m5d.xlarge", - ML_M5_12XLARGE = "ml.m5.12xlarge", - ML_M5_24XLARGE = "ml.m5.24xlarge", - ML_M5_2XLARGE = "ml.m5.2xlarge", - ML_M5_4XLARGE = "ml.m5.4xlarge", - ML_M5_XLARGE = "ml.m5.xlarge", - ML_P2_16XLARGE = "ml.p2.16xlarge", - ML_P2_8XLARGE = "ml.p2.8xlarge", - ML_P2_XLARGE = "ml.p2.xlarge", - ML_P3DN_24XLARGE = "ml.p3dn.24xlarge", - ML_P3_16XLARGE = "ml.p3.16xlarge", - ML_P3_2XLARGE = "ml.p3.2xlarge", - ML_P3_8XLARGE = "ml.p3.8xlarge", - ML_R5_12XLARGE = "ml.r5.12xlarge", - ML_R5_16XLARGE = "ml.r5.16xlarge", - ML_R5_24XLARGE = "ml.r5.24xlarge", - ML_R5_2XLARGE = "ml.r5.2xlarge", - ML_R5_4XLARGE = "ml.r5.4xlarge", - ML_R5_8XLARGE = "ml.r5.8xlarge", - ML_R5_LARGE = "ml.r5.large", - ML_R5_XLARGE = "ml.r5.xlarge", - ML_T2_2XLARGE = "ml.t2.2xlarge", - ML_T2_LARGE = "ml.t2.large", - ML_T2_MEDIUM = "ml.t2.medium", - ML_T2_XLARGE = "ml.t2.xlarge", - ML_T3_2XLARGE = "ml.t3.2xlarge", - ML_T3_LARGE = "ml.t3.large", - ML_T3_MEDIUM = "ml.t3.medium", - ML_T3_XLARGE = "ml.t3.xlarge", -} +export interface CreateModelExplainabilityJobDefinitionRequest { + /** + *

                                                        The name of the model explainability job definition. The name must be unique within an + * Amazon Web Services Region in the Amazon Web Services account.

                                                        + */ + JobDefinitionName: string | undefined; -export enum RootAccess { - DISABLED = "Disabled", - ENABLED = "Enabled", -} + /** + *

                                                        The baseline configuration for a model explainability job.

                                                        + */ + ModelExplainabilityBaselineConfig?: ModelExplainabilityBaselineConfig; -export interface CreateNotebookInstanceInput { /** - *

                                                        The name of the new notebook instance.

                                                        + *

                                                        Configures the model explainability job to run a specified Docker container + * image.

                                                        */ - NotebookInstanceName: string | undefined; + ModelExplainabilityAppSpecification: ModelExplainabilityAppSpecification | undefined; /** - *

                                                        The type of ML compute instance to launch for the notebook instance.

                                                        + *

                                                        Inputs for the model explainability job.

                                                        */ - InstanceType: _InstanceType | string | undefined; + ModelExplainabilityJobInput: ModelExplainabilityJobInput | undefined; /** - *

                                                        The ID of the subnet in a VPC to which you would like to have a connectivity from - * your ML compute instance.

                                                        + *

                                                        The output configuration for monitoring jobs.

                                                        */ - SubnetId?: string; + ModelExplainabilityJobOutputConfig: MonitoringOutputConfig | 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.

                                                        + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + */ + JobResources: MonitoringResources | undefined; + + /** + *

                                                        Networking options for a model explainability job.

                                                        + */ + NetworkConfig?: MonitoringNetworkConfig; + + /** + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to + * perform tasks on your behalf.

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

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + */ + StoppingCondition?: MonitoringStoppingCondition; + + /** + *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                        + */ + Tags?: Tag[]; +} + +export namespace CreateModelExplainabilityJobDefinitionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateModelExplainabilityJobDefinitionRequest): any => ({ + ...obj, + }); +} + +export interface CreateModelExplainabilityJobDefinitionResponse { + /** + *

                                                        The Amazon Resource Name (ARN) of the model explainability job.

                                                        */ - SecurityGroupIds?: string[]; + JobDefinitionArn: string | undefined; +} +export namespace CreateModelExplainabilityJobDefinitionResponse { /** - *

                                                        When you send any requests to Amazon Web Services 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.

                                                        - *
                                                        + * @internal */ - RoleArn: string | undefined; + export const filterSensitiveLog = (obj: CreateModelExplainabilityJobDefinitionResponse): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains details regarding the file source.

                                                        + */ +export interface FileSource { /** - *

                                                        The Amazon Resource Name (ARN) of a Amazon Web Services 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 Amazon Web Services Key Management Service Developer Guide.

                                                        + *

                                                        The type of content stored in the file source.

                                                        */ - KmsKeyId?: string; + ContentType?: string; /** - *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                        + *

                                                        The digest of the file source.

                                                        */ - Tags?: Tag[]; + ContentDigest?: 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 S3 URI for the file source.

                                                        */ - LifecycleConfigName?: string; + S3Uri: string | undefined; +} +export namespace FileSource { /** - *

                                                        Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this - * to Disabled this notebook instance is able to access resources only in your - * VPC, and is not be able to connect to Amazon SageMaker training and endpoint services unless you - * configure a NAT Gateway in your VPC.

                                                        - *

                                                        For more information, see Notebook Instances Are Internet-Enabled by Default. You can set the value - * of this parameter to Disabled only if you set a value for the - * SubnetId parameter.

                                                        + * @internal */ - DirectInternetAccess?: DirectInternetAccess | string; + export const filterSensitiveLog = (obj: FileSource): any => ({ + ...obj, + }); +} +/** + *

                                                        Represents the drift check bias baselines that can be used when the model monitor is set using the + * model package.

                                                        + */ +export interface DriftCheckBias { /** - *

                                                        The size, in GB, of the ML storage volume to attach to the notebook instance. The - * default value is 5 GB.

                                                        + *

                                                        The bias config file for a model.

                                                        */ - VolumeSizeInGB?: number; + ConfigFile?: FileSource; /** - *

                                                        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)[]; + PreTrainingConstraints?: MetricsSource; /** - *

                                                        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 Amazon Web Services 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.

                                                        + *

                                                        */ - DefaultCodeRepository?: string; + PostTrainingConstraints?: MetricsSource; +} +export namespace DriftCheckBias { /** - *

                                                        An array of up to three Git repositories to associate 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 Amazon Web Services 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.

                                                        + * @internal */ - AdditionalCodeRepositories?: string[]; + export const filterSensitiveLog = (obj: DriftCheckBias): any => ({ + ...obj, + }); +} +/** + *

                                                        Represents the drift check explainability baselines that can be used when the model monitor is set + * using the model package.

                                                        + */ +export interface DriftCheckExplainability { /** - *

                                                        Whether root access is enabled or disabled for users of the notebook instance. The - * default value is Enabled.

                                                        - * - *

                                                        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.

                                                        - *
                                                        + *

                                                        */ - RootAccess?: RootAccess | string; + Constraints?: MetricsSource; /** - *

                                                        The platform identifier of the notebook instance runtime environment.

                                                        + *

                                                        The explainability config file for the model.

                                                        */ - PlatformIdentifier?: string; + ConfigFile?: FileSource; } -export namespace CreateNotebookInstanceInput { +export namespace DriftCheckExplainability { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNotebookInstanceInput): any => ({ + export const filterSensitiveLog = (obj: DriftCheckExplainability): any => ({ ...obj, }); } -export interface CreateNotebookInstanceOutput { +/** + *

                                                        Represents the drift check data quality baselines that can be used when the model monitor is set using + * the model package.

                                                        + */ +export interface DriftCheckModelDataQuality { /** - *

                                                        The Amazon Resource Name (ARN) of the notebook instance.

                                                        + *

                                                        */ - NotebookInstanceArn?: string; + Statistics?: MetricsSource; + + /** + *

                                                        + */ + Constraints?: MetricsSource; } -export namespace CreateNotebookInstanceOutput { +export namespace DriftCheckModelDataQuality { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNotebookInstanceOutput): any => ({ + export const filterSensitiveLog = (obj: DriftCheckModelDataQuality): any => ({ ...obj, }); } /** - *

                                                        Contains the notebook instance lifecycle configuration script.

                                                        - *

                                                        Each lifecycle configuration script has a limit of 16384 characters.

                                                        - *

                                                        The value of the $PATH environment variable that is available to both - * scripts is /sbin:bin:/usr/sbin:/usr/bin.

                                                        - *

                                                        View CloudWatch Logs for notebook instance lifecycle configurations in log group - * /aws/sagemaker/NotebookInstances in log stream - * [notebook-instance-name]/[LifecycleConfigHook].

                                                        - *

                                                        Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs - * for longer than 5 minutes, it fails and the notebook instance is not created or - * started.

                                                        - *

                                                        For information about notebook instance lifestyle configurations, see Step - * 2.1: (Optional) Customize a Notebook Instance.

                                                        + *

                                                        Represents the drift check model quality baselines that can be used when the model monitor is set using + * the model package.

                                                        */ -export interface NotebookInstanceLifecycleHook { +export interface DriftCheckModelQuality { /** - *

                                                        A base64-encoded string that contains a shell script for a notebook instance lifecycle - * configuration.

                                                        + *

                                                        */ - Content?: string; + Statistics?: MetricsSource; + + /** + *

                                                        + */ + Constraints?: MetricsSource; } -export namespace NotebookInstanceLifecycleHook { +export namespace DriftCheckModelQuality { /** * @internal */ - export const filterSensitiveLog = (obj: NotebookInstanceLifecycleHook): any => ({ + export const filterSensitiveLog = (obj: DriftCheckModelQuality): any => ({ ...obj, }); } -export interface CreateNotebookInstanceLifecycleConfigInput { +/** + *

                                                        Represents the drift check baselines that can be used when the model monitor is set using the model + * package.

                                                        + */ +export interface DriftCheckBaselines { /** - *

                                                        The name of the lifecycle configuration.

                                                        + *

                                                        Represents the drift check bias baselines that can be used when the model monitor is set using the model + * package.

                                                        */ - NotebookInstanceLifecycleConfigName: string | undefined; + Bias?: DriftCheckBias; /** - *

                                                        A shell script that runs only once, when you create a notebook instance. The shell - * script must be a base64-encoded string.

                                                        + *

                                                        Represents the drift check explainability baselines that can be used when the model monitor is set using + * the model package.

                                                        */ - OnCreate?: NotebookInstanceLifecycleHook[]; + Explainability?: DriftCheckExplainability; /** - *

                                                        A shell script that runs every time you start a notebook instance, including when you - * create the notebook instance. The shell script must be a base64-encoded string.

                                                        + *

                                                        Represents the drift check model quality baselines that can be used when the model monitor is set using + * the model package.

                                                        */ - OnStart?: NotebookInstanceLifecycleHook[]; + ModelQuality?: DriftCheckModelQuality; + + /** + *

                                                        Represents the drift check model data quality baselines that can be used when the model monitor is set + * using the model package.

                                                        + */ + ModelDataQuality?: DriftCheckModelDataQuality; } -export namespace CreateNotebookInstanceLifecycleConfigInput { +export namespace DriftCheckBaselines { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNotebookInstanceLifecycleConfigInput): any => ({ + export const filterSensitiveLog = (obj: DriftCheckBaselines): any => ({ ...obj, }); } -export interface CreateNotebookInstanceLifecycleConfigOutput { +/** + *

                                                        Contains explainability metrics for a model.

                                                        + */ +export interface Explainability { /** - *

                                                        The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                        + *

                                                        The explainability report for a model.

                                                        */ - NotebookInstanceLifecycleConfigArn?: string; + Report?: MetricsSource; } -export namespace CreateNotebookInstanceLifecycleConfigOutput { +export namespace Explainability { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNotebookInstanceLifecycleConfigOutput): any => ({ + export const filterSensitiveLog = (obj: Explainability): any => ({ ...obj, }); } -export interface CreatePipelineRequest { +/** + *

                                                        Data quality constraints and statistics for a model.

                                                        + */ +export interface ModelDataQuality { /** - *

                                                        The name of the pipeline.

                                                        + *

                                                        Data quality statistics for a model.

                                                        */ - PipelineName: string | undefined; + Statistics?: MetricsSource; /** - *

                                                        The display name of the pipeline.

                                                        + *

                                                        Data quality constraints for a model.

                                                        */ - PipelineDisplayName?: string; + Constraints?: MetricsSource; +} +export namespace ModelDataQuality { /** - *

                                                        The JSON pipeline definition of the pipeline.

                                                        + * @internal */ - PipelineDefinition: string | undefined; + export const filterSensitiveLog = (obj: ModelDataQuality): any => ({ + ...obj, + }); +} +/** + *

                                                        Model quality statistics and constraints.

                                                        + */ +export interface ModelQuality { /** - *

                                                        A description of the pipeline.

                                                        + *

                                                        Model quality statistics.

                                                        */ - PipelineDescription?: string; + Statistics?: MetricsSource; /** - *

                                                        A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * operation. An idempotent operation completes no more than one time.

                                                        + *

                                                        Model quality constraints.

                                                        */ - ClientRequestToken?: string; + Constraints?: MetricsSource; +} +export namespace ModelQuality { /** - *

                                                        The Amazon Resource Name (ARN) of the role used by the pipeline to access and create resources.

                                                        + * @internal */ - RoleArn: string | undefined; + export const filterSensitiveLog = (obj: ModelQuality): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains metrics captured from a model.

                                                        + */ +export interface ModelMetrics { /** - *

                                                        A list of tags to apply to the created pipeline.

                                                        + *

                                                        Metrics that measure the quality of a model.

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

                                                        Metrics that measure the quality of the input data for a model.

                                                        + */ + ModelDataQuality?: ModelDataQuality; + + /** + *

                                                        Metrics that measure bais in a model.

                                                        + */ + Bias?: Bias; + + /** + *

                                                        Metrics that help explain a model.

                                                        + */ + Explainability?: Explainability; } -export namespace CreatePipelineRequest { +export namespace ModelMetrics { /** * @internal */ - export const filterSensitiveLog = (obj: CreatePipelineRequest): any => ({ + export const filterSensitiveLog = (obj: ModelMetrics): any => ({ ...obj, }); } -export interface CreatePipelineResponse { +/** + *

                                                        Specifies an algorithm that was used to create the model package. The algorithm must + * be either an algorithm resource in your Amazon SageMaker account or an algorithm in Amazon Web Services Marketplace that you + * are subscribed to.

                                                        + */ +export interface SourceAlgorithm { /** - *

                                                        The Amazon Resource Name (ARN) of the created pipeline.

                                                        + *

                                                        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; + + /** + *

                                                        The name of an algorithm that was used to create the model package. The algorithm must + * be either an algorithm resource in your Amazon SageMaker account or an algorithm in Amazon Web Services Marketplace that you + * are subscribed to.

                                                        */ - PipelineArn?: string; + AlgorithmName: string | undefined; } -export namespace CreatePipelineResponse { +export namespace SourceAlgorithm { /** * @internal */ - export const filterSensitiveLog = (obj: CreatePipelineResponse): any => ({ + export const filterSensitiveLog = (obj: SourceAlgorithm): any => ({ ...obj, }); } -export interface CreatePresignedDomainUrlRequest { +/** + *

                                                        A list of algorithms that were used to create a model package.

                                                        + */ +export interface SourceAlgorithmSpecification { /** - *

                                                        The domain ID.

                                                        + *

                                                        A list of the algorithms that were used to create a model package.

                                                        */ - DomainId: string | undefined; + SourceAlgorithms: SourceAlgorithm[] | undefined; +} +export namespace SourceAlgorithmSpecification { /** - *

                                                        The name of the UserProfile to sign-in as.

                                                        + * @internal */ - UserProfileName: string | undefined; + export const filterSensitiveLog = (obj: SourceAlgorithmSpecification): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains data, such as the inputs and targeted instance types that are used in the + * process of validating the model package.

                                                        + *

                                                        The data provided in the validation profile is made available to your buyers on Amazon Web Services + * Marketplace.

                                                        + */ +export interface ModelPackageValidationProfile { /** - *

                                                        The session expiration duration in seconds. This value defaults to 43200.

                                                        + *

                                                        The name of the profile for the model package.

                                                        */ - SessionExpirationDurationInSeconds?: number; + ProfileName: string | undefined; /** - *

                                                        The number of seconds until the pre-signed URL expires. This value defaults to - * 300.

                                                        + *

                                                        The TransformJobDefinition object that describes the transform job used + * for the validation of the model package.

                                                        */ - ExpiresInSeconds?: number; + TransformJobDefinition: TransformJobDefinition | undefined; } -export namespace CreatePresignedDomainUrlRequest { +export namespace ModelPackageValidationProfile { /** * @internal */ - export const filterSensitiveLog = (obj: CreatePresignedDomainUrlRequest): any => ({ + export const filterSensitiveLog = (obj: ModelPackageValidationProfile): any => ({ ...obj, }); } -export interface CreatePresignedDomainUrlResponse { +/** + *

                                                        Specifies batch transform jobs that Amazon SageMaker runs to validate your model package.

                                                        + */ +export interface ModelPackageValidationSpecification { /** - *

                                                        The presigned URL.

                                                        + *

                                                        The IAM roles to be used for the validation of the model package.

                                                        */ - AuthorizedUrl?: string; + ValidationRole: string | undefined; + + /** + *

                                                        An array of ModelPackageValidationProfile objects, each of which + * specifies a batch transform job that Amazon SageMaker runs to validate your model package.

                                                        + */ + ValidationProfiles: ModelPackageValidationProfile[] | undefined; } -export namespace CreatePresignedDomainUrlResponse { +export namespace ModelPackageValidationSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: CreatePresignedDomainUrlResponse): any => ({ + export const filterSensitiveLog = (obj: ModelPackageValidationSpecification): any => ({ ...obj, }); } -export interface CreatePresignedNotebookInstanceUrlInput { +export interface CreateModelPackageInput { /** - *

                                                        The name of the notebook instance.

                                                        + *

                                                        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).

                                                        + *

                                                        This parameter is required for unversioned models. It is not applicable to versioned + * models.

                                                        */ - NotebookInstanceName: string | undefined; + ModelPackageName?: string; /** - *

                                                        The duration of the session, in seconds. The default is 12 hours.

                                                        + *

                                                        The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

                                                        + *

                                                        This parameter is required for versioned models, and does not apply to unversioned + * models.

                                                        */ - SessionExpirationDurationInSeconds?: number; -} + ModelPackageGroupName?: string; -export namespace CreatePresignedNotebookInstanceUrlInput { /** - * @internal + *

                                                        A description of the model package.

                                                        */ - export const filterSensitiveLog = (obj: CreatePresignedNotebookInstanceUrlInput): any => ({ - ...obj, - }); -} + ModelPackageDescription?: string; -export interface CreatePresignedNotebookInstanceUrlOutput { /** - *

                                                        A JSON object that contains the URL string.

                                                        + *

                                                        Specifies details about inference jobs that can be run with models based on this model + * package, including the following:

                                                        + *
                                                          + *
                                                        • + *

                                                          The Amazon ECR paths of containers that contain the inference code and model + * artifacts.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The instance types that the model package supports for transform jobs and + * real-time endpoints used for inference.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The input and output content formats that the model package supports for + * inference.

                                                          + *
                                                        • + *
                                                        */ - AuthorizedUrl?: string; -} + InferenceSpecification?: InferenceSpecification; -export namespace CreatePresignedNotebookInstanceUrlOutput { /** - * @internal + *

                                                        Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the + * model package.

                                                        */ - export const filterSensitiveLog = (obj: CreatePresignedNotebookInstanceUrlOutput): any => ({ - ...obj, - }); -} + ValidationSpecification?: ModelPackageValidationSpecification; -/** - *

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                        - * - */ -export interface ExperimentConfig { /** - *

                                                        The name of an existing experiment to associate the trial component with.

                                                        + *

                                                        Details about the algorithm that was used to create the model package.

                                                        */ - ExperimentName?: string; + SourceAlgorithmSpecification?: SourceAlgorithmSpecification; /** - *

                                                        The name of an existing trial to associate the trial component with. If not specified, a - * new trial is created.

                                                        + *

                                                        Whether to certify the model package for listing on Amazon Web Services Marketplace.

                                                        + *

                                                        This parameter is optional for unversioned models, and does not apply to versioned + * models.

                                                        */ - TrialName?: string; + CertifyForMarketplace?: boolean; /** - *

                                                        The display name for the trial component. If this key isn't specified, the display name is - * the trial component name.

                                                        + *

                                                        A list of key value pairs associated with the model. For more information, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference Guide.

                                                        */ - TrialComponentDisplayName?: string; -} + Tags?: Tag[]; -export namespace ExperimentConfig { /** - * @internal + *

                                                        Whether the model is approved for deployment.

                                                        + *

                                                        This parameter is optional for versioned models, and does not apply to unversioned + * models.

                                                        + *

                                                        For versioned models, the value of this parameter must be set to Approved + * to deploy the model.

                                                        */ - export const filterSensitiveLog = (obj: ExperimentConfig): any => ({ - ...obj, - }); -} - -export enum DataDistributionType { - FULLYREPLICATED = "FullyReplicated", - SHARDEDBYS3KEY = "ShardedByS3Key", -} - -export enum InputMode { - FILE = "File", - PIPE = "Pipe", -} + ModelApprovalStatus?: ModelApprovalStatus | string; -export enum RedshiftResultCompressionType { - BZIP2 = "BZIP2", - GZIP = "GZIP", - NONE = "None", - SNAPPY = "SNAPPY", - ZSTD = "ZSTD", -} + /** + *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + */ + MetadataProperties?: MetadataProperties; -export enum RedshiftResultFormat { - CSV = "CSV", - PARQUET = "PARQUET", -} + /** + *

                                                        A structure that contains model metrics reports.

                                                        + */ + ModelMetrics?: ModelMetrics; -/** - *

                                                        Configuration for Redshift Dataset Definition input.

                                                        - */ -export interface RedshiftDatasetDefinition { /** - *

                                                        The Redshift cluster Identifier.

                                                        + *

                                                        A unique token that guarantees that the call to this API is idempotent.

                                                        */ - ClusterId: string | undefined; + ClientToken?: string; /** - *

                                                        The name of the Redshift database used in Redshift query execution.

                                                        + *

                                                        The metadata properties associated with the model package versions.

                                                        */ - Database: string | undefined; + CustomerMetadataProperties?: { [key: string]: string }; /** - *

                                                        The database user name used in Redshift query execution.

                                                        + *

                                                        Represents the drift check baselines that can be used when the model monitor is set using the model package. + * For more information, see the topic on Drift Detection against Previous Baselines in SageMaker Pipelines in the Amazon SageMaker Developer Guide. + *

                                                        */ - DbUser: string | undefined; + DriftCheckBaselines?: DriftCheckBaselines; /** - *

                                                        The SQL query statements to be executed.

                                                        + *

                                                        The machine learning domain of your model package and its components. Common + * machine learning domains include computer vision and natural language processing.

                                                        */ - QueryString: string | undefined; + Domain?: string; /** - *

                                                        The IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.

                                                        + *

                                                        The machine learning task your model package accomplishes. Common machine + * learning tasks include object detection and image classification.

                                                        */ - ClusterRoleArn: string | undefined; + Task?: string; /** - *

                                                        The location in Amazon S3 where the Redshift query results are stored.

                                                        + *

                                                        The Amazon Simple Storage Service (Amazon S3) path where the sample payload are stored. This path must point + * to a single gzip compressed tar archive (.tar.gz suffix).

                                                        */ - OutputS3Uri: string | undefined; + SamplePayloadUrl?: string; /** - *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data from a - * Redshift execution.

                                                        + *

                                                        An array of additional Inference Specification objects. Each additional + * Inference Specification specifies artifacts based on this model package that can + * be used on inference endpoints. Generally used with SageMaker Neo to store the + * compiled artifacts.

                                                        */ - KmsKeyId?: string; + AdditionalInferenceSpecifications?: AdditionalInferenceSpecificationDefinition[]; +} +export namespace CreateModelPackageInput { /** - *

                                                        The data storage format for Redshift query results.

                                                        + * @internal */ - OutputFormat: RedshiftResultFormat | string | undefined; + export const filterSensitiveLog = (obj: CreateModelPackageInput): any => ({ + ...obj, + }); +} +export interface CreateModelPackageOutput { /** - *

                                                        The compression used for Redshift query results.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the new model package.

                                                        */ - OutputCompression?: RedshiftResultCompressionType | string; + ModelPackageArn: string | undefined; } -export namespace RedshiftDatasetDefinition { +export namespace CreateModelPackageOutput { /** * @internal */ - export const filterSensitiveLog = (obj: RedshiftDatasetDefinition): any => ({ + export const filterSensitiveLog = (obj: CreateModelPackageOutput): any => ({ ...obj, }); } -/** - *

                                                        Configuration for Dataset Definition inputs. The Dataset Definition input must specify - * exactly one of either AthenaDatasetDefinition or RedshiftDatasetDefinition - * types.

                                                        - */ -export interface DatasetDefinition { +export interface CreateModelPackageGroupInput { /** - *

                                                        Configuration for Athena Dataset Definition input.

                                                        + *

                                                        The name of the model group.

                                                        */ - AthenaDatasetDefinition?: AthenaDatasetDefinition; + ModelPackageGroupName: string | undefined; /** - *

                                                        Configuration for Redshift Dataset Definition input.

                                                        + *

                                                        A description for the model group.

                                                        */ - RedshiftDatasetDefinition?: RedshiftDatasetDefinition; + ModelPackageGroupDescription?: string; /** - *

                                                        The local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a - * processing job. LocalPath is an absolute path to the input data. This is a required - * parameter when AppManaged is False (default).

                                                        + *

                                                        A list of key value pairs associated with the model group. For more information, see + * Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference Guide.

                                                        */ - LocalPath?: string; + Tags?: Tag[]; +} +export namespace CreateModelPackageGroupInput { /** - *

                                                        Whether the generated dataset is FullyReplicated or - * ShardedByS3Key (default).

                                                        + * @internal */ - DataDistributionType?: DataDistributionType | string; + export const filterSensitiveLog = (obj: CreateModelPackageGroupInput): any => ({ + ...obj, + }); +} +export interface CreateModelPackageGroupOutput { /** - *

                                                        Whether to use File or Pipe input mode. In File (default) 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 Amazon Resource Name (ARN) of the model group.

                                                        */ - InputMode?: InputMode | string; + ModelPackageGroupArn: string | undefined; } -export namespace DatasetDefinition { +export namespace CreateModelPackageGroupOutput { /** * @internal */ - export const filterSensitiveLog = (obj: DatasetDefinition): any => ({ + export const filterSensitiveLog = (obj: CreateModelPackageGroupOutput): any => ({ ...obj, }); } -export enum ProcessingS3CompressionType { - GZIP = "Gzip", - NONE = "None", -} - -export enum ProcessingS3DataType { - MANIFEST_FILE = "ManifestFile", - S3_PREFIX = "S3Prefix", +export enum MonitoringProblemType { + BINARY_CLASSIFICATION = "BinaryClassification", + MULTICLASS_CLASSIFICATION = "MulticlassClassification", + REGRESSION = "Regression", } /** - *

                                                        Configuration for downloading input data from Amazon S3 into the processing container.

                                                        + *

                                                        Container image configuration object for the monitoring job.

                                                        */ -export interface ProcessingS3Input { +export interface ModelQualityAppSpecification { /** - *

                                                        The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.

                                                        + *

                                                        The address of the container image that the monitoring job runs.

                                                        */ - S3Uri: string | undefined; + ImageUri: string | undefined; /** - *

                                                        The local path in your container where you want Amazon SageMaker to write input data to. - * LocalPath is an absolute path to the input data and must begin with - * /opt/ml/processing/. LocalPath is a required - * parameter when AppManaged is False (default).

                                                        + *

                                                        Specifies the entrypoint for a container that the monitoring job runs.

                                                        */ - LocalPath?: string; + ContainerEntrypoint?: string[]; /** - *

                                                        Whether you use an S3Prefix or a ManifestFile for - * the data type. If you choose S3Prefix, S3Uri identifies a key - * name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing - * job. 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 - * the processing job.

                                                        + *

                                                        An array of arguments for the container used to run the monitoring job.

                                                        */ - S3DataType: ProcessingS3DataType | string | undefined; + ContainerArguments?: string[]; /** - *

                                                        Whether to use File or Pipe input mode. In File mode, Amazon SageMaker copies the data - * from the input source onto the local ML storage volume before starting your processing - * container. This is the most commonly used input mode. In Pipe mode, Amazon SageMaker - * streams input data from the source directly to your processing container into named - * pipes without using the ML storage volume.

                                                        + *

                                                        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.

                                                        */ - S3InputMode?: ProcessingS3InputMode | string; + RecordPreprocessorSourceUri?: string; /** - *

                                                        Whether to distribute the data from Amazon S3 to all processing instances with - * FullyReplicated, or whether the data from Amazon S3 is shared by Amazon S3 key, - * downloading one shard of data to each processing instance.

                                                        + *

                                                        An Amazon S3 URI to a script that is called after analysis has been performed. + * Applicable only for the built-in (first party) containers.

                                                        */ - S3DataDistributionType?: ProcessingS3DataDistributionType | string; + PostAnalyticsProcessorSourceUri?: string; /** - *

                                                        Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing - * container. Gzip can only be used when Pipe mode is - * specified as the S3InputMode. In Pipe mode, Amazon SageMaker streams input - * data from the source directly to your container without using the EBS volume.

                                                        + *

                                                        The machine learning problem type of the model that the monitoring job monitors.

                                                        */ - S3CompressionType?: ProcessingS3CompressionType | string; + ProblemType?: MonitoringProblemType | string; + + /** + *

                                                        Sets the environment variables in the container that the monitoring job runs.

                                                        + */ + Environment?: { [key: string]: string }; } -export namespace ProcessingS3Input { +export namespace ModelQualityAppSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingS3Input): any => ({ + export const filterSensitiveLog = (obj: ModelQualityAppSpecification): any => ({ ...obj, }); } /** - *

                                                        The inputs for a processing job. The processing input must specify exactly one of either - * S3Input or DatasetDefinition types.

                                                        + *

                                                        Configuration for monitoring constraints and monitoring statistics. These baseline + * resources are compared against the results of the current job from the series of jobs + * scheduled to collect data periodically.

                                                        */ -export interface ProcessingInput { - /** - *

                                                        The name for the processing job input.

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

                                                        When True, input operations such as data download are managed natively by the - * processing job application. When False (default), input operations are managed by Amazon SageMaker.

                                                        - */ - AppManaged?: boolean; - +export interface ModelQualityBaselineConfig { /** - *

                                                        Configuration for downloading input data from Amazon S3 into the processing container.

                                                        + *

                                                        The name of the job that performs baselining for the monitoring job.

                                                        */ - S3Input?: ProcessingS3Input; + BaseliningJobName?: string; /** - *

                                                        Configuration for a Dataset Definition input.

                                                        + *

                                                        The constraints resource for a monitoring job.

                                                        */ - DatasetDefinition?: DatasetDefinition; + ConstraintsResource?: MonitoringConstraintsResource; } -export namespace ProcessingInput { +export namespace ModelQualityBaselineConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingInput): any => ({ + export const filterSensitiveLog = (obj: ModelQualityBaselineConfig): any => ({ ...obj, }); } /** - *

                                                        Configuration for processing job outputs in Amazon SageMaker Feature Store.

                                                        + *

                                                        The input for the model quality monitoring job. Currently endponts are supported for + * input for model quality monitoring jobs.

                                                        */ -export interface ProcessingFeatureStoreOutput { +export interface ModelQualityJobInput { /** - *

                                                        The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your - * processing script is responsible for putting records into your Feature Store.

                                                        + *

                                                        Input object for the endpoint

                                                        */ - FeatureGroupName: string | undefined; + EndpointInput: EndpointInput | undefined; + + /** + *

                                                        The ground truth label provided for the model.

                                                        + */ + GroundTruthS3Input: MonitoringGroundTruthS3Input | undefined; } -export namespace ProcessingFeatureStoreOutput { +export namespace ModelQualityJobInput { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingFeatureStoreOutput): any => ({ + export const filterSensitiveLog = (obj: ModelQualityJobInput): any => ({ ...obj, }); } -/** - *

                                                        Configuration for uploading output data to Amazon S3 from the processing container.

                                                        - */ -export interface ProcessingS3Output { +export interface CreateModelQualityJobDefinitionRequest { /** - *

                                                        A URI that identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of - * a processing job.

                                                        + *

                                                        The name of the monitoring job definition.

                                                        */ - S3Uri: string | undefined; + JobDefinitionName: string | undefined; /** - *

                                                        The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. - * LocalPath is an absolute path to a directory containing output files. - * This directory will be created by the platform and exist when your container's - * entrypoint is invoked.

                                                        + *

                                                        Specifies the constraints and baselines for the monitoring job.

                                                        */ - LocalPath: string | undefined; + ModelQualityBaselineConfig?: ModelQualityBaselineConfig; /** - *

                                                        Whether to upload the results of the processing job continuously or after the job - * completes.

                                                        + *

                                                        The container that runs the monitoring job.

                                                        */ - S3UploadMode: ProcessingS3UploadMode | string | undefined; -} + ModelQualityAppSpecification: ModelQualityAppSpecification | undefined; -export namespace ProcessingS3Output { /** - * @internal + *

                                                        A list of the inputs that are monitored. Currently endpoints are supported.

                                                        */ - export const filterSensitiveLog = (obj: ProcessingS3Output): any => ({ - ...obj, - }); -} + ModelQualityJobInput: ModelQualityJobInput | undefined; -/** - *

                                                        Describes the results of a processing job. The processing output must specify exactly one of - * either S3Output or FeatureStoreOutput types.

                                                        - */ -export interface ProcessingOutput { /** - *

                                                        The name for the processing job output.

                                                        + *

                                                        The output configuration for monitoring jobs.

                                                        */ - OutputName: string | undefined; + ModelQualityJobOutputConfig: MonitoringOutputConfig | undefined; /** - *

                                                        Configuration for processing job outputs in Amazon S3.

                                                        + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        */ - S3Output?: ProcessingS3Output; + JobResources: MonitoringResources | undefined; /** - *

                                                        Configuration for processing job outputs in Amazon SageMaker Feature Store. This processing output - * type is only supported when AppManaged is specified.

                                                        + *

                                                        Specifies the network configuration for the monitoring job.

                                                        */ - FeatureStoreOutput?: ProcessingFeatureStoreOutput; + NetworkConfig?: MonitoringNetworkConfig; /** - *

                                                        When True, output operations such as data upload are managed natively by the - * processing job application. When False (default), output operations are managed by - * Amazon SageMaker.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to + * perform tasks on your behalf.

                                                        */ - AppManaged?: boolean; + RoleArn: string | undefined; + + /** + *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + */ + StoppingCondition?: MonitoringStoppingCondition; + + /** + *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                        + */ + Tags?: Tag[]; } -export namespace ProcessingOutput { +export namespace CreateModelQualityJobDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingOutput): any => ({ + export const filterSensitiveLog = (obj: CreateModelQualityJobDefinitionRequest): any => ({ + ...obj, + }); +} + +export interface CreateModelQualityJobDefinitionResponse { + /** + *

                                                        The Amazon Resource Name (ARN) of the model quality monitoring job.

                                                        + */ + JobDefinitionArn: string | undefined; +} + +export namespace CreateModelQualityJobDefinitionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateModelQualityJobDefinitionResponse): any => ({ ...obj, }); } /** - *

                                                        Configuration for uploading output from the processing container.

                                                        + *

                                                        Configuration for monitoring constraints and monitoring statistics. These baseline + * resources are compared against the results of the current job from the series of jobs + * scheduled to collect data periodically.

                                                        */ -export interface ProcessingOutputConfig { +export interface MonitoringBaselineConfig { /** - *

                                                        An array of outputs configuring the data to upload from the processing container.

                                                        + *

                                                        The name of the job that performs baselining for the monitoring job.

                                                        */ - Outputs: ProcessingOutput[] | undefined; + BaseliningJobName?: string; /** - *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the processing - * job output. KmsKeyId can be an ID of a KMS key, ARN of a KMS key, alias of - * a KMS key, or alias of a KMS key. The KmsKeyId is applied to all - * outputs.

                                                        + *

                                                        The baseline constraint file in Amazon S3 that the current monitoring job should + * validated against.

                                                        + */ + ConstraintsResource?: MonitoringConstraintsResource; + + /** + *

                                                        The baseline statistics file in Amazon S3 that the current monitoring job should be + * validated against.

                                                        */ - KmsKeyId?: string; + StatisticsResource?: MonitoringStatisticsResource; } -export namespace ProcessingOutputConfig { +export namespace MonitoringBaselineConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingOutputConfig): any => ({ + export const filterSensitiveLog = (obj: MonitoringBaselineConfig): any => ({ ...obj, }); } /** - *

                                                        Configuration for the cluster used to run a processing job.

                                                        + *

                                                        Container image configuration object for the monitoring job.

                                                        */ -export interface ProcessingClusterConfig { +export interface MonitoringAppSpecification { /** - *

                                                        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.

                                                        + *

                                                        The container image to be run by the monitoring job.

                                                        */ - InstanceCount: number | undefined; + ImageUri: string | undefined; /** - *

                                                        The ML compute instance type for the processing job.

                                                        + *

                                                        Specifies the entrypoint for a container used to run the monitoring job.

                                                        */ - InstanceType: ProcessingInstanceType | string | undefined; + ContainerEntrypoint?: string[]; /** - *

                                                        The size of the ML storage volume in gigabytes that you want to provision. You must - * specify sufficient ML storage for your scenario.

                                                        - * - *

                                                        Certain Nitro-based instances include local storage with a fixed total size, - * dependent on the instance type. When using these instances for processing, 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.

                                                        - *
                                                        + *

                                                        An array of arguments for the container used to run the monitoring job.

                                                        */ - VolumeSizeInGB: number | undefined; + ContainerArguments?: string[]; /** - *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services 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. - *

                                                        - * - *

                                                        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.

                                                        - *
                                                        + *

                                                        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.

                                                        */ - VolumeKmsKeyId?: string; + RecordPreprocessorSourceUri?: string; + + /** + *

                                                        An Amazon S3 URI to a script that is called after analysis has been performed. + * Applicable only for the built-in (first party) containers.

                                                        + */ + PostAnalyticsProcessorSourceUri?: string; } -export namespace ProcessingClusterConfig { +export namespace MonitoringAppSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingClusterConfig): any => ({ + export const filterSensitiveLog = (obj: MonitoringAppSpecification): 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.

                                                        + *

                                                        The inputs for a monitoring job.

                                                        */ -export interface ProcessingResources { +export interface MonitoringInput { /** - *

                                                        The configuration for the resources in a cluster used to run the processing - * job.

                                                        + *

                                                        The endpoint for a monitoring job.

                                                        */ - ClusterConfig: ProcessingClusterConfig | undefined; + EndpointInput: EndpointInput | undefined; } -export namespace ProcessingResources { +export namespace MonitoringInput { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingResources): any => ({ + export const filterSensitiveLog = (obj: MonitoringInput): any => ({ ...obj, }); } /** - *

                                                        Configures conditions under which the processing job should be stopped, such as how long - * the processing job has been running. After the condition is met, the processing job is stopped.

                                                        + *

                                                        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.

                                                        */ -export interface ProcessingStoppingCondition { +export interface NetworkConfig { /** - *

                                                        Specifies the maximum runtime in seconds.

                                                        + *

                                                        Whether to encrypt all communications between distributed processing jobs. Choose + * True to encrypt communications. Encryption provides greater security for distributed + * processing jobs, but the processing might take longer.

                                                        */ - MaxRuntimeInSeconds: number | undefined; + EnableInterContainerTrafficEncryption?: boolean; + + /** + *

                                                        Whether to allow inbound and outbound network calls to and from the containers used for + * the processing job.

                                                        + */ + EnableNetworkIsolation?: 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 ProcessingStoppingCondition { +export namespace NetworkConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingStoppingCondition): any => ({ + export const filterSensitiveLog = (obj: NetworkConfig): any => ({ ...obj, }); } -export interface CreateProcessingJobRequest { +/** + *

                                                        Defines the monitoring job.

                                                        + */ +export interface MonitoringJobDefinition { /** - *

                                                        An array of inputs configuring the data to download into the - * processing container.

                                                        + *

                                                        Baseline configuration used to validate that the data conforms to the specified + * constraints and statistics

                                                        */ - ProcessingInputs?: ProcessingInput[]; + BaselineConfig?: MonitoringBaselineConfig; /** - *

                                                        Output configuration for the processing job.

                                                        + *

                                                        The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker + * Endpoint.

                                                        */ - ProcessingOutputConfig?: ProcessingOutputConfig; + MonitoringInputs: MonitoringInput[] | undefined; /** - *

                                                        The name of the processing job. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

                                                        + *

                                                        The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage + * Service (Amazon S3).

                                                        */ - ProcessingJobName: string | undefined; + MonitoringOutputConfig: MonitoringOutputConfig | 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.

                                                        + * monitoring job. In distributed processing, you specify more than one instance.

                                                        */ - ProcessingResources: ProcessingResources | undefined; + MonitoringResources: MonitoringResources | undefined; /** - *

                                                        The time limit for how long the processing job is allowed to run.

                                                        + *

                                                        Configures the monitoring job to run a specified Docker container image.

                                                        */ - StoppingCondition?: ProcessingStoppingCondition; + MonitoringAppSpecification: MonitoringAppSpecification | undefined; /** - *

                                                        Configures the processing job to run a specified Docker container image.

                                                        + *

                                                        Specifies a time limit for how long the monitoring job is allowed to run.

                                                        */ - AppSpecification: AppSpecification | undefined; + StoppingCondition?: MonitoringStoppingCondition; /** - *

                                                        The environment variables to set in the Docker container. Up to - * 100 key and values entries in the map are supported.

                                                        + *

                                                        Sets the environment variables in the Docker container.

                                                        */ Environment?: { [key: string]: string }; /** - *

                                                        Networking options for a processing job, such as whether to allow inbound and - * outbound network calls to and from processing containers, and the VPC subnets and - * security groups to use for VPC-enabled processing jobs.

                                                        + *

                                                        Specifies networking options for an monitoring job.

                                                        */ NetworkConfig?: NetworkConfig; /** *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on - * your behalf.

                                                        + * your behalf.

                                                        */ RoleArn: string | undefined; +} +export namespace MonitoringJobDefinition { /** - *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                        + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: MonitoringJobDefinition): any => ({ + ...obj, + }); +} + +export enum MonitoringType { + DATA_QUALITY = "DataQuality", + MODEL_BIAS = "ModelBias", + MODEL_EXPLAINABILITY = "ModelExplainability", + MODEL_QUALITY = "ModelQuality", +} +/** + *

                                                        Configuration details about the monitoring schedule.

                                                        + */ +export interface ScheduleConfig { /** - *

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                        + *

                                                        A cron expression that describes details about the monitoring schedule.

                                                        + * + *

                                                        Currently the only supported cron expressions are:

                                                        *
                                                          *
                                                        • + *

                                                          If you want to set the job to start every hour, please use the following:

                                                          *

                                                          - * CreateProcessingJob + * Hourly: cron(0 * ? * * *) *

                                                          *
                                                        • *
                                                        • + *

                                                          If you want to start the job daily:

                                                          *

                                                          - * CreateTrainingJob + * cron(0 [00-23] ? * * *) *

                                                          *
                                                        • + *
                                                        + *

                                                        For example, the following are valid cron expressions:

                                                        + *
                                                          *
                                                        • - *

                                                          - * CreateTransformJob + *

                                                          Daily at noon UTC: cron(0 12 ? * * *) + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          Daily at midnight UTC: cron(0 0 ? * * *) *

                                                          *
                                                        • *
                                                        + * + *

                                                        To support running every 6, 12 hours, the following are also supported:

                                                        + *

                                                        + * cron(0 [00-23]/[01-24] ? * * *) + *

                                                        + *

                                                        For example, the following are valid cron expressions:

                                                        + *
                                                          + *
                                                        • + *

                                                          Every 12 hours, starting at 5pm UTC: cron(0 17/12 ? * * *) + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          Every two hours starting at midnight: cron(0 0/2 ? * * *) + *

                                                          + *
                                                        • + *
                                                        + * + * + *
                                                          + *
                                                        • + *

                                                          Even though the cron expression is set to start at 5PM UTC, note that there + * could be a delay of 0-20 minutes from the actual requested time to run the + * execution.

                                                          + *
                                                        • + *
                                                        • + *

                                                          We recommend that if you would like a daily schedule, you do not provide this + * parameter. Amazon SageMaker will pick a time for running every day.

                                                          + *
                                                        • + *
                                                        + *
                                                        */ - ExperimentConfig?: ExperimentConfig; -} - -export namespace CreateProcessingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateProcessingJobRequest): any => ({ - ...obj, - }); -} - -export interface CreateProcessingJobResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the processing job.

                                                        - */ - ProcessingJobArn: string | undefined; -} - -export namespace CreateProcessingJobResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateProcessingJobResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                        A key value pair used when you provision a project as a service catalog product. For - * information, see What is Amazon Web Services Service - * Catalog.

                                                        - */ -export interface ProvisioningParameter { - /** - *

                                                        The key that identifies a provisioning parameter.

                                                        - */ - Key?: string; - - /** - *

                                                        The value of the provisioning parameter.

                                                        - */ - Value?: string; + ScheduleExpression: string | undefined; } -export namespace ProvisioningParameter { +export namespace ScheduleConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisioningParameter): any => ({ + export const filterSensitiveLog = (obj: ScheduleConfig): any => ({ ...obj, }); } /** - *

                                                        Details that you specify to provision a service catalog product. For information about - * service catalog, see What is Amazon Web Services Service - * Catalog.

                                                        + *

                                                        Configures the monitoring schedule and defines the monitoring job.

                                                        */ -export interface ServiceCatalogProvisioningDetails { +export interface MonitoringScheduleConfig { /** - *

                                                        The ID of the product to provision.

                                                        + *

                                                        Configures the monitoring schedule.

                                                        */ - ProductId: string | undefined; + ScheduleConfig?: ScheduleConfig; /** - *

                                                        The ID of the provisioning artifact.

                                                        + *

                                                        Defines the monitoring job.

                                                        */ - ProvisioningArtifactId?: string; + MonitoringJobDefinition?: MonitoringJobDefinition; /** - *

                                                        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.

                                                        + *

                                                        The name of the monitoring job definition to schedule.

                                                        */ - PathId?: string; + MonitoringJobDefinitionName?: string; /** - *

                                                        A list of key value pairs that you specify when you provision a product.

                                                        + *

                                                        The type of the monitoring job definition to schedule.

                                                        */ - ProvisioningParameters?: ProvisioningParameter[]; + MonitoringType?: MonitoringType | string; } -export namespace ServiceCatalogProvisioningDetails { +export namespace MonitoringScheduleConfig { /** * @internal */ - export const filterSensitiveLog = (obj: ServiceCatalogProvisioningDetails): any => ({ + export const filterSensitiveLog = (obj: MonitoringScheduleConfig): any => ({ ...obj, }); } -export interface CreateProjectInput { - /** - *

                                                        The name of the project.

                                                        - */ - ProjectName: string | undefined; - +export interface CreateMonitoringScheduleRequest { /** - *

                                                        A description for the project.

                                                        + *

                                                        The name of the monitoring schedule. The name must be unique within an Amazon Web Services Region within + * an Amazon Web Services account.

                                                        */ - ProjectDescription?: string; + MonitoringScheduleName: string | undefined; /** - *

                                                        The product ID and provisioning artifact ID to provision a service catalog. The provisioning - * artifact ID will default to the latest provisioning artifact ID of the product, if you don't - * provide the provisioning artifact ID. For more information, see What is Amazon Web Services Service - * Catalog.

                                                        + *

                                                        The configuration object that specifies the monitoring schedule and defines the + * monitoring job.

                                                        */ - ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined; + MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; /** - *

                                                        An array of key-value pairs that you want to use to organize and track your Amazon Web Services - * resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

                                                        + *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                        */ Tags?: Tag[]; } -export namespace CreateProjectInput { +export namespace CreateMonitoringScheduleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateProjectInput): any => ({ + export const filterSensitiveLog = (obj: CreateMonitoringScheduleRequest): any => ({ ...obj, }); } -export interface CreateProjectOutput { - /** - *

                                                        The Amazon Resource Name (ARN) of the project.

                                                        - */ - ProjectArn: string | undefined; - +export interface CreateMonitoringScheduleResponse { /** - *

                                                        The ID of the new project.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the monitoring schedule.

                                                        */ - ProjectId: string | undefined; + MonitoringScheduleArn: string | undefined; } -export namespace CreateProjectOutput { +export namespace CreateMonitoringScheduleResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateProjectOutput): any => ({ + export const filterSensitiveLog = (obj: CreateMonitoringScheduleResponse): any => ({ ...obj, }); } -export enum StudioLifecycleConfigAppType { - JupyterServer = "JupyterServer", - KernelGateway = "KernelGateway", -} - -export interface CreateStudioLifecycleConfigRequest { - /** - *

                                                        The name of the Studio Lifecycle Configuration to create.

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

                                                        The content of your Studio Lifecycle Configuration script. This content must be base64 encoded.

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

                                                        The App type that the Lifecycle Configuration is attached to.

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

                                                        Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

                                                        - */ - Tags?: Tag[]; +export enum NotebookInstanceAcceleratorType { + ML_EIA1_LARGE = "ml.eia1.large", + ML_EIA1_MEDIUM = "ml.eia1.medium", + ML_EIA1_XLARGE = "ml.eia1.xlarge", + ML_EIA2_LARGE = "ml.eia2.large", + ML_EIA2_MEDIUM = "ml.eia2.medium", + ML_EIA2_XLARGE = "ml.eia2.xlarge", } -export namespace CreateStudioLifecycleConfigRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateStudioLifecycleConfigRequest): any => ({ - ...obj, - }); +export enum DirectInternetAccess { + DISABLED = "Disabled", + ENABLED = "Enabled", } -export interface CreateStudioLifecycleConfigResponse { - /** - *

                                                        The ARN of your created Lifecycle Configuration.

                                                        - */ - StudioLifecycleConfigArn?: string; +export enum _InstanceType { + ML_C4_2XLARGE = "ml.c4.2xlarge", + ML_C4_4XLARGE = "ml.c4.4xlarge", + ML_C4_8XLARGE = "ml.c4.8xlarge", + ML_C4_XLARGE = "ml.c4.xlarge", + ML_C5D_18XLARGE = "ml.c5d.18xlarge", + ML_C5D_2XLARGE = "ml.c5d.2xlarge", + ML_C5D_4XLARGE = "ml.c5d.4xlarge", + ML_C5D_9XLARGE = "ml.c5d.9xlarge", + ML_C5D_XLARGE = "ml.c5d.xlarge", + ML_C5_18XLARGE = "ml.c5.18xlarge", + ML_C5_2XLARGE = "ml.c5.2xlarge", + ML_C5_4XLARGE = "ml.c5.4xlarge", + ML_C5_9XLARGE = "ml.c5.9xlarge", + ML_C5_XLARGE = "ml.c5.xlarge", + ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", + ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", + ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", + ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", + ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", + ML_G4DN_XLARGE = "ml.g4dn.xlarge", + ML_M4_10XLARGE = "ml.m4.10xlarge", + ML_M4_16XLARGE = "ml.m4.16xlarge", + ML_M4_2XLARGE = "ml.m4.2xlarge", + ML_M4_4XLARGE = "ml.m4.4xlarge", + ML_M4_XLARGE = "ml.m4.xlarge", + ML_M5D_12XLARGE = "ml.m5d.12xlarge", + ML_M5D_16XLARGE = "ml.m5d.16xlarge", + ML_M5D_24XLARGE = "ml.m5d.24xlarge", + ML_M5D_2XLARGE = "ml.m5d.2xlarge", + ML_M5D_4XLARGE = "ml.m5d.4xlarge", + ML_M5D_8XLARGE = "ml.m5d.8xlarge", + ML_M5D_LARGE = "ml.m5d.large", + ML_M5D_XLARGE = "ml.m5d.xlarge", + ML_M5_12XLARGE = "ml.m5.12xlarge", + ML_M5_24XLARGE = "ml.m5.24xlarge", + ML_M5_2XLARGE = "ml.m5.2xlarge", + ML_M5_4XLARGE = "ml.m5.4xlarge", + ML_M5_XLARGE = "ml.m5.xlarge", + ML_P2_16XLARGE = "ml.p2.16xlarge", + ML_P2_8XLARGE = "ml.p2.8xlarge", + ML_P2_XLARGE = "ml.p2.xlarge", + ML_P3DN_24XLARGE = "ml.p3dn.24xlarge", + ML_P3_16XLARGE = "ml.p3.16xlarge", + ML_P3_2XLARGE = "ml.p3.2xlarge", + ML_P3_8XLARGE = "ml.p3.8xlarge", + ML_R5_12XLARGE = "ml.r5.12xlarge", + ML_R5_16XLARGE = "ml.r5.16xlarge", + ML_R5_24XLARGE = "ml.r5.24xlarge", + ML_R5_2XLARGE = "ml.r5.2xlarge", + ML_R5_4XLARGE = "ml.r5.4xlarge", + ML_R5_8XLARGE = "ml.r5.8xlarge", + ML_R5_LARGE = "ml.r5.large", + ML_R5_XLARGE = "ml.r5.xlarge", + ML_T2_2XLARGE = "ml.t2.2xlarge", + ML_T2_LARGE = "ml.t2.large", + ML_T2_MEDIUM = "ml.t2.medium", + ML_T2_XLARGE = "ml.t2.xlarge", + ML_T3_2XLARGE = "ml.t3.2xlarge", + ML_T3_LARGE = "ml.t3.large", + ML_T3_MEDIUM = "ml.t3.medium", + ML_T3_XLARGE = "ml.t3.xlarge", } -export namespace CreateStudioLifecycleConfigResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateStudioLifecycleConfigResponse): any => ({ - ...obj, - }); +export enum RootAccess { + DISABLED = "Disabled", + ENABLED = "Enabled", } -/** - *

                                                        Configuration information for the Debugger hook parameters, metric and tensor collections, and - * storage paths. To learn more about - * how to configure the DebugHookConfig parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                        - */ -export interface DebugHookConfig { - /** - *

                                                        Path to local storage location for metrics and tensors. Defaults to - * /opt/ml/output/tensors/.

                                                        - */ - LocalPath?: string; - +export interface CreateNotebookInstanceInput { /** - *

                                                        Path to Amazon S3 storage location for metrics and tensors.

                                                        + *

                                                        The name of the new notebook instance.

                                                        */ - S3OutputPath: string | undefined; + NotebookInstanceName: string | undefined; /** - *

                                                        Configuration information for the Debugger hook parameters.

                                                        + *

                                                        The type of ML compute instance to launch for the notebook instance.

                                                        */ - HookParameters?: { [key: string]: string }; + InstanceType: _InstanceType | string | undefined; /** - *

                                                        Configuration information for Debugger tensor collections. To learn more about - * how to configure the CollectionConfiguration parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job. - *

                                                        + *

                                                        The ID of the subnet in a VPC to which you would like to have a connectivity from + * your ML compute instance.

                                                        */ - CollectionConfigurations?: CollectionConfiguration[]; -} + SubnetId?: string; -export namespace DebugHookConfig { /** - * @internal + *

                                                        The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be + * for the same VPC as specified in the subnet.

                                                        */ - export const filterSensitiveLog = (obj: DebugHookConfig): any => ({ - ...obj, - }); -} + SecurityGroupIds?: string[]; -/** - *

                                                        Configuration information for SageMaker Debugger rules for debugging. To learn more about - * how to configure the DebugRuleConfiguration parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                        - */ -export interface DebugRuleConfiguration { /** - *

                                                        The name of the rule configuration. It must be unique relative to other rule - * configuration names.

                                                        + *

                                                        When you send any requests to Amazon Web Services 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.

                                                        + *
                                                        */ - RuleConfigurationName: string | undefined; + RoleArn: string | undefined; /** - *

                                                        Path to local storage location for output of rules. Defaults to - * /opt/ml/processing/output/rule/.

                                                        + *

                                                        The Amazon Resource Name (ARN) of a Amazon Web Services 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 Amazon Web Services Key Management Service Developer Guide.

                                                        */ - LocalPath?: string; + KmsKeyId?: string; /** - *

                                                        Path to Amazon S3 storage location for rules.

                                                        + *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

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

                                                        The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

                                                        + *

                                                        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.

                                                        */ - RuleEvaluatorImage: string | undefined; + LifecycleConfigName?: string; /** - *

                                                        The instance type to deploy a Debugger custom rule for debugging a training job.

                                                        + *

                                                        Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this + * to Disabled this notebook instance is able to access resources only in your + * VPC, and is not be able to connect to Amazon SageMaker training and endpoint services unless you + * configure a NAT Gateway in your VPC.

                                                        + *

                                                        For more information, see Notebook Instances Are Internet-Enabled by Default. You can set the value + * of this parameter to Disabled only if you set a value for the + * SubnetId parameter.

                                                        */ - InstanceType?: ProcessingInstanceType | string; + DirectInternetAccess?: DirectInternetAccess | string; /** - *

                                                        The size, in GB, of the ML storage volume attached to the processing instance.

                                                        + *

                                                        The size, in GB, of the ML storage volume to attach to the notebook instance. The + * default value is 5 GB.

                                                        */ VolumeSizeInGB?: number; /** - *

                                                        Runtime configuration for rule container.

                                                        + *

                                                        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.

                                                        */ - RuleParameters?: { [key: string]: string }; -} + AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; -export namespace DebugRuleConfiguration { /** - * @internal + *

                                                        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 Amazon Web Services 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.

                                                        */ - export const filterSensitiveLog = (obj: DebugRuleConfiguration): any => ({ - ...obj, - }); -} + DefaultCodeRepository?: string; -/** - *

                                                        Configuration information for Debugger system monitoring, framework profiling, and - * storage paths.

                                                        - */ -export interface ProfilerConfig { /** - *

                                                        Path to Amazon S3 storage location for system and framework metrics.

                                                        + *

                                                        An array of up to three Git repositories to associate 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 Amazon Web Services 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.

                                                        */ - S3OutputPath: string | undefined; + AdditionalCodeRepositories?: string[]; /** - *

                                                        A time interval for capturing system metrics in milliseconds. Available values are - * 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 minute) milliseconds. The default value is 500 milliseconds.

                                                        + *

                                                        Whether root access is enabled or disabled for users of the notebook instance. The + * default value is Enabled.

                                                        + * + *

                                                        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.

                                                        + *
                                                        */ - ProfilingIntervalInMilliseconds?: number; + RootAccess?: RootAccess | string; /** - *

                                                        Configuration information for capturing framework metrics. Available key strings for different profiling options are - * DetailedProfilingConfig, PythonProfilingConfig, and DataLoaderProfilingConfig. - * The following codes are configuration structures for the ProfilingParameters parameter. To learn more about - * how to configure the ProfilingParameters parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job. - *

                                                        + *

                                                        The platform identifier of the notebook instance runtime environment.

                                                        */ - ProfilingParameters?: { [key: string]: string }; + PlatformIdentifier?: string; } -export namespace ProfilerConfig { +export namespace CreateNotebookInstanceInput { /** * @internal */ - export const filterSensitiveLog = (obj: ProfilerConfig): any => ({ + export const filterSensitiveLog = (obj: CreateNotebookInstanceInput): any => ({ ...obj, }); } -/** - *

                                                        Configuration information for profiling rules.

                                                        - */ -export interface ProfilerRuleConfiguration { +export interface CreateNotebookInstanceOutput { /** - *

                                                        The name of the rule configuration. It must be unique relative to other rule configuration names.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the notebook instance.

                                                        */ - RuleConfigurationName: string | undefined; + NotebookInstanceArn?: string; +} +export namespace CreateNotebookInstanceOutput { /** - *

                                                        Path to local storage location for output of rules. Defaults to /opt/ml/processing/output/rule/.

                                                        + * @internal */ - LocalPath?: string; + export const filterSensitiveLog = (obj: CreateNotebookInstanceOutput): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the notebook instance lifecycle configuration script.

                                                        + *

                                                        Each lifecycle configuration script has a limit of 16384 characters.

                                                        + *

                                                        The value of the $PATH environment variable that is available to both + * scripts is /sbin:bin:/usr/sbin:/usr/bin.

                                                        + *

                                                        View CloudWatch Logs for notebook instance lifecycle configurations in log group + * /aws/sagemaker/NotebookInstances in log stream + * [notebook-instance-name]/[LifecycleConfigHook].

                                                        + *

                                                        Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs + * for longer than 5 minutes, it fails and the notebook instance is not created or + * started.

                                                        + *

                                                        For information about notebook instance lifestyle configurations, see Step + * 2.1: (Optional) Customize a Notebook Instance.

                                                        + */ +export interface NotebookInstanceLifecycleHook { /** - *

                                                        Path to Amazon S3 storage location for rules.

                                                        + *

                                                        A base64-encoded string that contains a shell script for a notebook instance lifecycle + * configuration.

                                                        */ - S3OutputPath?: string; + Content?: string; +} +export namespace NotebookInstanceLifecycleHook { /** - *

                                                        The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

                                                        + * @internal */ - RuleEvaluatorImage: string | undefined; + export const filterSensitiveLog = (obj: NotebookInstanceLifecycleHook): any => ({ + ...obj, + }); +} +export interface CreateNotebookInstanceLifecycleConfigInput { /** - *

                                                        The instance type to deploy a Debugger custom rule for profiling a training job.

                                                        + *

                                                        The name of the lifecycle configuration.

                                                        */ - InstanceType?: ProcessingInstanceType | string; + NotebookInstanceLifecycleConfigName: string | undefined; /** - *

                                                        The size, in GB, of the ML storage volume attached to the processing instance.

                                                        + *

                                                        A shell script that runs only once, when you create a notebook instance. The shell + * script must be a base64-encoded string.

                                                        */ - VolumeSizeInGB?: number; + OnCreate?: NotebookInstanceLifecycleHook[]; /** - *

                                                        Runtime configuration for rule container.

                                                        + *

                                                        A shell script that runs every time you start a notebook instance, including when you + * create the notebook instance. The shell script must be a base64-encoded string.

                                                        */ - RuleParameters?: { [key: string]: string }; + OnStart?: NotebookInstanceLifecycleHook[]; } -export namespace ProfilerRuleConfiguration { +export namespace CreateNotebookInstanceLifecycleConfigInput { /** * @internal */ - export const filterSensitiveLog = (obj: ProfilerRuleConfiguration): any => ({ + export const filterSensitiveLog = (obj: CreateNotebookInstanceLifecycleConfigInput): any => ({ ...obj, }); } -/** - *

                                                        Configuration of storage locations for the Debugger TensorBoard output data.

                                                        - */ -export interface TensorBoardOutputConfig { - /** - *

                                                        Path to local storage location for tensorBoard output. Defaults to - * /opt/ml/output/tensorboard.

                                                        - */ - LocalPath?: string; - +export interface CreateNotebookInstanceLifecycleConfigOutput { /** - *

                                                        Path to Amazon S3 storage location for TensorBoard output.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                        */ - S3OutputPath: string | undefined; + NotebookInstanceLifecycleConfigArn?: string; } -export namespace TensorBoardOutputConfig { +export namespace CreateNotebookInstanceLifecycleConfigOutput { /** * @internal */ - export const filterSensitiveLog = (obj: TensorBoardOutputConfig): any => ({ + export const filterSensitiveLog = (obj: CreateNotebookInstanceLifecycleConfigOutput): any => ({ ...obj, }); } -export interface CreateTrainingJobRequest { - /** - *

                                                        The name of the training job. The name must be unique within an Amazon Web Services Region in an - * Amazon Web Services account.

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

                                                        Algorithm-specific parameters that influence the quality of the model. You set - * hyperparameters before you start the learning process. For a list of hyperparameters for - * each training algorithm provided by Amazon SageMaker, see Algorithms.

                                                        - *

                                                        You can specify a maximum of 100 hyperparameters. Each hyperparameter is a - * key-value pair. Each key and value is limited to 256 characters, as specified by the - * Length Constraint.

                                                        - */ - HyperParameters?: { [key: string]: string }; - - /** - *

                                                        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; - +export interface CreatePipelineRequest { /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform - * tasks on your behalf.

                                                        - *

                                                        During model training, Amazon SageMaker needs your permission to read input data from an S3 - * bucket, download a Docker image that contains training code, write model artifacts to an - * S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant - * permissions for all of these tasks to an IAM 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 name of the pipeline.

                                                        */ - RoleArn: string | undefined; + PipelineName: string | undefined; /** - *

                                                        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.

                                                        + *

                                                        The display name of the pipeline.

                                                        */ - InputDataConfig?: Channel[]; + PipelineDisplayName?: string; /** - *

                                                        Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker - * creates subfolders for the artifacts.

                                                        + *

                                                        The JSON pipeline definition of the pipeline.

                                                        */ - OutputDataConfig: OutputDataConfig | 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.

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

                                                        A description of the pipeline.

                                                        */ - ResourceConfig: ResourceConfig | undefined; + PipelineDescription?: string; /** - *

                                                        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.

                                                        + *

                                                        A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * operation. An idempotent operation completes no more than one time.

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

                                                        Specifies a limit to how long a model training job can run. It also specifies how long - * a managed Spot training job has to complete. 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.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the role used by the pipeline to access and create resources.

                                                        */ - StoppingCondition: StoppingCondition | undefined; + RoleArn: string | undefined; /** - *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                        + *

                                                        A list of tags to apply to the created pipeline.

                                                        */ Tags?: Tag[]; +} +export namespace CreatePipelineRequest { /** - *

                                                        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.

                                                        + * @internal */ - EnableNetworkIsolation?: boolean; + export const filterSensitiveLog = (obj: CreatePipelineRequest): any => ({ + ...obj, + }); +} +export interface CreatePipelineResponse { /** - *

                                                        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 Amazon Resource Name (ARN) of the created pipeline.

                                                        */ - EnableInterContainerTrafficEncryption?: boolean; + PipelineArn?: string; +} +export namespace CreatePipelineResponse { /** - *

                                                        To train models using managed spot training, choose True. Managed spot - * training provides a fully managed and scalable infrastructure for training machine - * learning models. this option is useful when training jobs can be interrupted and when - * there is flexibility when the training job is run.

                                                        - *

                                                        The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be - * used as a starting point to train models incrementally. Amazon SageMaker provides metrics and - * logs in CloudWatch. They can be used to see when managed spot training jobs are running, - * interrupted, resumed, or completed.

                                                        + * @internal */ - EnableManagedSpotTraining?: boolean; + export const filterSensitiveLog = (obj: CreatePipelineResponse): any => ({ + ...obj, + }); +} +export interface CreatePresignedDomainUrlRequest { /** - *

                                                        Contains information about the output location for managed spot training checkpoint - * data.

                                                        + *

                                                        The domain ID.

                                                        */ - CheckpointConfig?: CheckpointConfig; + DomainId: string | undefined; /** - *

                                                        Configuration information for the Debugger hook parameters, metric and tensor collections, and - * storage paths. To learn more about - * how to configure the DebugHookConfig parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                        + *

                                                        The name of the UserProfile to sign-in as.

                                                        */ - DebugHookConfig?: DebugHookConfig; + UserProfileName: string | undefined; /** - *

                                                        Configuration information for Debugger rules for debugging output tensors.

                                                        + *

                                                        The session expiration duration in seconds. This value defaults to 43200.

                                                        */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; + SessionExpirationDurationInSeconds?: number; /** - *

                                                        Configuration of storage locations for the Debugger TensorBoard output data.

                                                        + *

                                                        The number of seconds until the pre-signed URL expires. This value defaults to + * 300.

                                                        */ - TensorBoardOutputConfig?: TensorBoardOutputConfig; + ExpiresInSeconds?: number; +} +export namespace CreatePresignedDomainUrlRequest { /** - *

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                        - * + * @internal */ - ExperimentConfig?: ExperimentConfig; + export const filterSensitiveLog = (obj: CreatePresignedDomainUrlRequest): any => ({ + ...obj, + }); +} +export interface CreatePresignedDomainUrlResponse { /** - *

                                                        Configuration information for Debugger system monitoring, framework profiling, and - * storage paths.

                                                        + *

                                                        The presigned URL.

                                                        */ - ProfilerConfig?: ProfilerConfig; + AuthorizedUrl?: string; +} +export namespace CreatePresignedDomainUrlResponse { /** - *

                                                        Configuration information for Debugger rules for profiling system and framework - * metrics.

                                                        + * @internal */ - ProfilerRuleConfigurations?: ProfilerRuleConfiguration[]; + export const filterSensitiveLog = (obj: CreatePresignedDomainUrlResponse): any => ({ + ...obj, + }); +} +export interface CreatePresignedNotebookInstanceUrlInput { /** - *

                                                        The environment variables to set in the Docker container.

                                                        + *

                                                        The name of the notebook instance.

                                                        */ - Environment?: { [key: string]: string }; + NotebookInstanceName: string | undefined; /** - *

                                                        The number of times to retry the job when the job fails due to an - * InternalServerError.

                                                        + *

                                                        The duration of the session, in seconds. The default is 12 hours.

                                                        */ - RetryStrategy?: RetryStrategy; + SessionExpirationDurationInSeconds?: number; } -export namespace CreateTrainingJobRequest { +export namespace CreatePresignedNotebookInstanceUrlInput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrainingJobRequest): any => ({ + export const filterSensitiveLog = (obj: CreatePresignedNotebookInstanceUrlInput): any => ({ ...obj, }); } -export interface CreateTrainingJobResponse { +export interface CreatePresignedNotebookInstanceUrlOutput { /** - *

                                                        The Amazon Resource Name (ARN) of the training job.

                                                        + *

                                                        A JSON object that contains the URL string.

                                                        */ - TrainingJobArn: string | undefined; + AuthorizedUrl?: string; } -export namespace CreateTrainingJobResponse { +export namespace CreatePresignedNotebookInstanceUrlOutput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrainingJobResponse): any => ({ + export const filterSensitiveLog = (obj: CreatePresignedNotebookInstanceUrlOutput): any => ({ ...obj, }); } -export enum JoinSource { - INPUT = "Input", - NONE = "None", -} - /** - *

                                                        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.

                                                        + *

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                        + * */ -export interface DataProcessing { +export interface ExperimentConfig { /** - *

                                                        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" - *

                                                        + *

                                                        The name of an existing experiment to associate the trial component with.

                                                        */ - InputFilter?: string; + ExperimentName?: string; /** - *

                                                        A JSONPath expression used to select a portion of the joined dataset to save - * in the output file for a batch transform job. If you want Amazon SageMaker to store the entire input - * dataset in the output file, leave the default value, $. If you specify - * indexes that aren't within the dimension size of the joined dataset, you get an - * error.

                                                        - *

                                                        Examples: "$", "$[0,5:]", - * "$['id','SageMakerOutput']" - *

                                                        + *

                                                        The name of an existing trial to associate the trial component with. If not specified, a + * new trial is created.

                                                        */ - OutputFilter?: string; + TrialName?: 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, - * which specifies not to join the input with the transformed data. If you want the batch - * transform job to join the original input data with the transformed data, set - * JoinSource to Input. You can specify - * OutputFilter as an additional filter to select a portion of the joined - * dataset and store it in the output file.

                                                        - *

                                                        For JSON or JSONLines objects, such as a JSON array, SageMaker adds the transformed data to - * the input JSON object in an attribute called SageMakerOutput. The joined - * result for JSON must be a key-value pair object. If the input is not a key-value pair - * object, SageMaker creates a new JSON file. In the new JSON file, and the input data is stored - * under the SageMakerInput key and the results are stored in - * SageMakerOutput.

                                                        - *

                                                        For CSV data, SageMaker takes each row as a JSON array and joins the transformed data with - * the input by appending each transformed row to the end of the input. The joined data has - * the original input data followed by the transformed data and the output is a CSV - * file.

                                                        - *

                                                        For information on how joining in applied, see Workflow for Associating Inferences with Input Records.

                                                        + *

                                                        The display name for the trial component. If this key isn't specified, the display name is + * the trial component name.

                                                        */ - JoinSource?: JoinSource | string; + TrialComponentDisplayName?: string; } -export namespace DataProcessing { +export namespace ExperimentConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DataProcessing): any => ({ + export const filterSensitiveLog = (obj: ExperimentConfig): any => ({ ...obj, }); } +export enum DataDistributionType { + FULLYREPLICATED = "FullyReplicated", + SHARDEDBYS3KEY = "ShardedByS3Key", +} + +export enum InputMode { + FILE = "File", + PIPE = "Pipe", +} + +export enum RedshiftResultCompressionType { + BZIP2 = "BZIP2", + GZIP = "GZIP", + NONE = "None", + SNAPPY = "SNAPPY", + ZSTD = "ZSTD", +} + +export enum RedshiftResultFormat { + CSV = "CSV", + PARQUET = "PARQUET", +} + /** - *

                                                        Configures the timeout and maximum number of retries for processing a transform job - * invocation.

                                                        + *

                                                        Configuration for Redshift Dataset Definition input.

                                                        */ -export interface ModelClientConfig { - /** - *

                                                        The timeout value in seconds for an invocation request.

                                                        - */ - InvocationsTimeoutInSeconds?: number; - +export interface RedshiftDatasetDefinition { /** - *

                                                        The maximum number of retries when invocation requests are failing.

                                                        + *

                                                        The Redshift cluster Identifier.

                                                        */ - InvocationsMaxRetries?: number; -} + ClusterId: string | undefined; -export namespace ModelClientConfig { /** - * @internal + *

                                                        The name of the Redshift database used in Redshift query execution.

                                                        */ - export const filterSensitiveLog = (obj: ModelClientConfig): any => ({ - ...obj, - }); -} + Database: string | undefined; -export interface CreateTransformJobRequest { /** - *

                                                        The name of the transform job. The name must be unique within an Amazon Web Services Region in an - * Amazon Web Services account.

                                                        + *

                                                        The database user name used in Redshift query execution.

                                                        */ - TransformJobName: string | undefined; + DbUser: string | undefined; /** - *

                                                        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 Amazon Web Services - * Region in an Amazon Web Services account.

                                                        + *

                                                        The SQL query statements to be executed.

                                                        */ - ModelName: string | undefined; + QueryString: string | 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 IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.

                                                        */ - MaxConcurrentTransforms?: number; + ClusterRoleArn: string | undefined; /** - *

                                                        Configures the timeout and maximum number of retries for processing a transform job - * invocation.

                                                        + *

                                                        The location in Amazon S3 where the Redshift query results are stored.

                                                        */ - ModelClientConfig?: ModelClientConfig; + OutputS3Uri: 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.

                                                        + *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data from a + * Redshift execution.

                                                        */ - MaxPayloadInMB?: number; + KmsKeyId?: string; /** - *

                                                        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.

                                                        - *

                                                        To enable the batch strategy, you must set the SplitType property to - * Line, RecordIO, or TFRecord.

                                                        - *

                                                        To use only one record when making an HTTP invocation request to a container, set - * BatchStrategy to SingleRecord and SplitType - * to Line.

                                                        - *

                                                        To fit as many records in a mini-batch as can fit within the - * MaxPayloadInMB limit, set BatchStrategy to - * MultiRecord and SplitType to Line.

                                                        + *

                                                        The data storage format for Redshift query results.

                                                        */ - BatchStrategy?: BatchStrategy | string; + OutputFormat: RedshiftResultFormat | string | undefined; /** - *

                                                        The environment variables to set in the Docker container. We support up to 16 key and - * values entries in the map.

                                                        + *

                                                        The compression used for Redshift query results.

                                                        */ - Environment?: { [key: string]: string }; + OutputCompression?: RedshiftResultCompressionType | string; +} +export namespace RedshiftDatasetDefinition { /** - *

                                                        Describes the input source and - * the - * way the transform job consumes it.

                                                        + * @internal */ - TransformInput: TransformInput | undefined; + export const filterSensitiveLog = (obj: RedshiftDatasetDefinition): any => ({ + ...obj, + }); +} +/** + *

                                                        Configuration for Dataset Definition inputs. The Dataset Definition input must specify + * exactly one of either AthenaDatasetDefinition or RedshiftDatasetDefinition + * types.

                                                        + */ +export interface DatasetDefinition { /** - *

                                                        Describes the results of the transform job.

                                                        + *

                                                        Configuration for Athena Dataset Definition input.

                                                        */ - TransformOutput: TransformOutput | undefined; + AthenaDatasetDefinition?: AthenaDatasetDefinition; /** - *

                                                        Describes the resources, including - * ML - * instance types and ML instance count, to use for the transform - * job.

                                                        + *

                                                        Configuration for Redshift Dataset Definition input.

                                                        */ - TransformResources: TransformResources | undefined; + RedshiftDatasetDefinition?: RedshiftDatasetDefinition; /** - *

                                                        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 local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a + * processing job. LocalPath is an absolute path to the input data. This is a required + * parameter when AppManaged is False (default).

                                                        */ - DataProcessing?: DataProcessing; + LocalPath?: string; /** - *

                                                        (Optional) - * An - * array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User - * Guide.

                                                        + *

                                                        Whether the generated dataset is FullyReplicated or + * ShardedByS3Key (default).

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

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                        - * + *

                                                        Whether to use File or Pipe input mode. In File (default) 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.

                                                        */ - ExperimentConfig?: ExperimentConfig; + InputMode?: InputMode | string; } -export namespace CreateTransformJobRequest { +export namespace DatasetDefinition { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransformJobRequest): any => ({ + export const filterSensitiveLog = (obj: DatasetDefinition): any => ({ ...obj, }); } -export interface CreateTransformJobResponse { +export enum ProcessingS3CompressionType { + GZIP = "Gzip", + NONE = "None", +} + +export enum ProcessingS3DataType { + MANIFEST_FILE = "ManifestFile", + S3_PREFIX = "S3Prefix", +} + +/** + *

                                                        Configuration for downloading input data from Amazon S3 into the processing container.

                                                        + */ +export interface ProcessingS3Input { /** - *

                                                        The Amazon Resource Name (ARN) of the transform job.

                                                        + *

                                                        The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.

                                                        */ - TransformJobArn: string | undefined; -} + S3Uri: string | undefined; -export namespace CreateTransformJobResponse { /** - * @internal + *

                                                        The local path in your container where you want Amazon SageMaker to write input data to. + * LocalPath is an absolute path to the input data and must begin with + * /opt/ml/processing/. LocalPath is a required + * parameter when AppManaged is False (default).

                                                        */ - export const filterSensitiveLog = (obj: CreateTransformJobResponse): any => ({ - ...obj, - }); -} + LocalPath?: string; -export interface CreateTrialRequest { /** - *

                                                        The name of the trial. The name must be unique in your Amazon Web Services account and is not - * case-sensitive.

                                                        + *

                                                        Whether you use an S3Prefix or a ManifestFile for + * the data type. If you choose S3Prefix, S3Uri identifies a key + * name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing + * job. 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 + * the processing job.

                                                        */ - TrialName: string | undefined; + S3DataType: ProcessingS3DataType | 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.

                                                        + *

                                                        Whether to use File or Pipe input mode. In File mode, Amazon SageMaker copies the data + * from the input source onto the local ML storage volume before starting your processing + * container. This is the most commonly used input mode. In Pipe mode, Amazon SageMaker + * streams input data from the source directly to your processing container into named + * pipes without using the ML storage volume.

                                                        */ - DisplayName?: string; + S3InputMode?: ProcessingS3InputMode | string; /** - *

                                                        The name of the experiment to associate the trial with.

                                                        + *

                                                        Whether to distribute the data from Amazon S3 to all processing instances with + * FullyReplicated, or whether the data from Amazon S3 is shared by Amazon S3 key, + * downloading one shard of data to each processing instance.

                                                        */ - ExperimentName: string | undefined; + S3DataDistributionType?: ProcessingS3DataDistributionType | string; /** - *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + *

                                                        Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing + * container. Gzip can only be used when Pipe mode is + * specified as the S3InputMode. In Pipe mode, Amazon SageMaker streams input + * data from the source directly to your container without using the EBS volume.

                                                        */ - MetadataProperties?: MetadataProperties; + S3CompressionType?: ProcessingS3CompressionType | string; +} +export namespace ProcessingS3Input { /** - *

                                                        A list of tags to associate with the trial. You can use Search API to - * search on the tags.

                                                        + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: ProcessingS3Input): any => ({ + ...obj, + }); } -export namespace CreateTrialRequest { +/** + *

                                                        The inputs for a processing job. The processing input must specify exactly one of either + * S3Input or DatasetDefinition types.

                                                        + */ +export interface ProcessingInput { + /** + *

                                                        The name for the processing job input.

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

                                                        When True, input operations such as data download are managed natively by the + * processing job application. When False (default), input operations are managed by Amazon SageMaker.

                                                        + */ + AppManaged?: boolean; + /** - * @internal + *

                                                        Configuration for downloading input data from Amazon S3 into the processing container.

                                                        */ - export const filterSensitiveLog = (obj: CreateTrialRequest): any => ({ - ...obj, - }); -} + S3Input?: ProcessingS3Input; -export interface CreateTrialResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the trial.

                                                        + *

                                                        Configuration for a Dataset Definition input.

                                                        */ - TrialArn?: string; + DatasetDefinition?: DatasetDefinition; } -export namespace CreateTrialResponse { +export namespace ProcessingInput { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrialResponse): any => ({ + export const filterSensitiveLog = (obj: ProcessingInput): any => ({ ...obj, }); } /** - *

                                                        Represents an input or output artifact of a trial component. You specify - * 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.

                                                        + *

                                                        Configuration for processing job outputs in Amazon SageMaker Feature Store.

                                                        */ -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 - * concatenated with a slash (/) character, for example, text/csv, image/jpeg, and s3/uri. The - * type specifies the category of the media. The subtype specifies the kind of data.

                                                        - */ - MediaType?: string; - +export interface ProcessingFeatureStoreOutput { /** - *

                                                        The location of the artifact.

                                                        + *

                                                        The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your + * processing script is responsible for putting records into your Feature Store.

                                                        */ - Value: string | undefined; + FeatureGroupName: string | undefined; } -export namespace TrialComponentArtifact { +export namespace ProcessingFeatureStoreOutput { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentArtifact): any => ({ + export const filterSensitiveLog = (obj: ProcessingFeatureStoreOutput): any => ({ ...obj, }); } /** - *

                                                        The value of a hyperparameter. Only one of NumberValue or - * StringValue can be specified.

                                                        - *

                                                        This object is specified in the CreateTrialComponent request.

                                                        + *

                                                        Configuration for uploading output data to Amazon S3 from the processing container.

                                                        */ -export type TrialComponentParameterValue = - | TrialComponentParameterValue.NumberValueMember - | TrialComponentParameterValue.StringValueMember - | TrialComponentParameterValue.$UnknownMember; - -export namespace TrialComponentParameterValue { - /** - *

                                                        The string value of a categorical hyperparameter. If you specify a value for this - * parameter, you can't specify the NumberValue parameter.

                                                        - */ - export interface StringValueMember { - StringValue: string; - NumberValue?: never; - $unknown?: never; - } - - /** - *

                                                        The numeric value of a numeric hyperparameter. If you specify a value for this parameter, - * you can't specify the StringValue parameter.

                                                        - */ - export interface NumberValueMember { - StringValue?: never; - NumberValue: number; - $unknown?: never; - } - - export interface $UnknownMember { - StringValue?: never; - NumberValue?: never; - $unknown: [string, any]; - } - - export interface Visitor { - StringValue: (value: string) => T; - NumberValue: (value: number) => T; - _: (name: string, value: any) => T; - } - - export const visit = (value: TrialComponentParameterValue, visitor: Visitor): T => { - if (value.StringValue !== undefined) return visitor.StringValue(value.StringValue); - if (value.NumberValue !== undefined) return visitor.NumberValue(value.NumberValue); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; - +export interface ProcessingS3Output { /** - * @internal + *

                                                        A URI that identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of + * a processing job.

                                                        */ - export const filterSensitiveLog = (obj: TrialComponentParameterValue): any => { - if (obj.StringValue !== undefined) return { StringValue: obj.StringValue }; - if (obj.NumberValue !== undefined) return { NumberValue: obj.NumberValue }; - if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; - }; -} - -export enum TrialComponentPrimaryStatus { - COMPLETED = "Completed", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} + S3Uri: string | undefined; -/** - *

                                                        The status of the trial component.

                                                        - */ -export interface TrialComponentStatus { /** - *

                                                        The status of the trial component.

                                                        + *

                                                        The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. + * LocalPath is an absolute path to a directory containing output files. + * This directory will be created by the platform and exist when your container's + * entrypoint is invoked.

                                                        */ - PrimaryStatus?: TrialComponentPrimaryStatus | string; + LocalPath: string | undefined; /** - *

                                                        If the component failed, a message describing why.

                                                        + *

                                                        Whether to upload the results of the processing job continuously or after the job + * completes.

                                                        */ - Message?: string; + S3UploadMode: ProcessingS3UploadMode | string | undefined; } -export namespace TrialComponentStatus { +export namespace ProcessingS3Output { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentStatus): any => ({ + export const filterSensitiveLog = (obj: ProcessingS3Output): any => ({ ...obj, }); } -export interface CreateTrialComponentRequest { +/** + *

                                                        Describes the results of a processing job. The processing output must specify exactly one of + * either S3Output or FeatureStoreOutput types.

                                                        + */ +export interface ProcessingOutput { /** - *

                                                        The name of the component. The name must be unique in your Amazon Web Services account and is not - * case-sensitive.

                                                        + *

                                                        The name for the processing job output.

                                                        */ - TrialComponentName: string | undefined; + OutputName: string | undefined; /** - *

                                                        The name of the component as displayed. The name doesn't need to be unique. If - * DisplayName isn't specified, TrialComponentName is - * displayed.

                                                        + *

                                                        Configuration for processing job outputs in Amazon S3.

                                                        */ - DisplayName?: string; + S3Output?: ProcessingS3Output; /** - *

                                                        The status of the component. States include:

                                                        - *
                                                          - *
                                                        • - *

                                                          InProgress

                                                          - *
                                                        • - *
                                                        • - *

                                                          Completed

                                                          - *
                                                        • - *
                                                        • - *

                                                          Failed

                                                          - *
                                                        • - *
                                                        + *

                                                        Configuration for processing job outputs in Amazon SageMaker Feature Store. This processing output + * type is only supported when AppManaged is specified.

                                                        */ - Status?: TrialComponentStatus; + FeatureStoreOutput?: ProcessingFeatureStoreOutput; /** - *

                                                        When the component started.

                                                        + *

                                                        When True, output operations such as data upload are managed natively by the + * processing job application. When False (default), output operations are managed by + * Amazon SageMaker.

                                                        */ - StartTime?: Date; + AppManaged?: boolean; +} +export namespace ProcessingOutput { /** - *

                                                        When the component ended.

                                                        + * @internal */ - EndTime?: Date; + export const filterSensitiveLog = (obj: ProcessingOutput): any => ({ + ...obj, + }); +} +/** + *

                                                        Configuration for uploading output from the processing container.

                                                        + */ +export interface ProcessingOutputConfig { /** - *

                                                        The hyperparameters for the component.

                                                        + *

                                                        An array of outputs configuring the data to upload from the processing container.

                                                        */ - Parameters?: { [key: string]: TrialComponentParameterValue }; + Outputs: ProcessingOutput[] | undefined; /** - *

                                                        The input artifacts for the component. Examples of input artifacts are datasets, - * algorithms, hyperparameters, source code, and instance types.

                                                        + *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the processing + * job output. KmsKeyId can be an ID of a KMS key, ARN of a KMS key, alias of + * a KMS key, or alias of a KMS key. The KmsKeyId is applied to all + * outputs.

                                                        */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + KmsKeyId?: string; +} +export namespace ProcessingOutputConfig { /** - *

                                                        The output artifacts for the component. Examples of output artifacts are metrics, - * snapshots, logs, and images.

                                                        + * @internal */ - OutputArtifacts?: { [key: string]: TrialComponentArtifact }; + export const filterSensitiveLog = (obj: ProcessingOutputConfig): any => ({ + ...obj, + }); +} +/** + *

                                                        Configuration for the cluster used to run a processing job.

                                                        + */ +export interface ProcessingClusterConfig { /** - *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + *

                                                        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.

                                                        */ - MetadataProperties?: MetadataProperties; + InstanceCount: number | undefined; /** - *

                                                        A list of tags to associate with the component. You can use Search API - * to search on the tags.

                                                        + *

                                                        The ML compute instance type for the processing job.

                                                        */ - Tags?: Tag[]; -} + InstanceType: ProcessingInstanceType | string | undefined; -export namespace CreateTrialComponentRequest { /** - * @internal + *

                                                        The size of the ML storage volume in gigabytes that you want to provision. You must + * specify sufficient ML storage for your scenario.

                                                        + * + *

                                                        Certain Nitro-based instances include local storage with a fixed total size, + * dependent on the instance type. When using these instances for processing, 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.

                                                        + *
                                                        */ - export const filterSensitiveLog = (obj: CreateTrialComponentRequest): any => ({ - ...obj, - ...(obj.Parameters && { - Parameters: Object.entries(obj.Parameters).reduce( - (acc: any, [key, value]: [string, TrialComponentParameterValue]) => ({ - ...acc, - [key]: TrialComponentParameterValue.filterSensitiveLog(value), - }), - {} - ), - }), - }); -} + VolumeSizeInGB: number | undefined; -export interface CreateTrialComponentResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the trial component.

                                                        + *

                                                        The Amazon Web Services Key Management Service (Amazon Web Services 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. + *

                                                        + * + *

                                                        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.

                                                        + *
                                                        */ - TrialComponentArn?: string; + VolumeKmsKeyId?: string; } -export namespace CreateTrialComponentResponse { +export namespace ProcessingClusterConfig { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrialComponentResponse): any => ({ + export const filterSensitiveLog = (obj: ProcessingClusterConfig): any => ({ ...obj, }); } -export interface CreateUserProfileRequest { - /** - *

                                                        The ID of the associated Domain.

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

                                                        A name for the UserProfile. This value is not case sensitive.

                                                        - */ - UserProfileName: 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. - *

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

                                                        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 { /** - *

                                                        The username of the associated Amazon Web Services 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. - *

                                                        + *

                                                        The configuration for the resources in a cluster used to run the processing + * job.

                                                        */ - SingleSignOnUserValue?: string; + ClusterConfig: ProcessingClusterConfig | undefined; +} +export namespace ProcessingResources { /** - *

                                                        Each tag consists of a key and an optional value. - * Tag keys must be unique per resource.

                                                        - *

                                                        Tags that you specify for the User Profile are also added to all Apps that the - * User Profile launches.

                                                        + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: ProcessingResources): any => ({ + ...obj, + }); +} +/** + *

                                                        Configures conditions under which the processing job should be stopped, such as how long + * the processing job has been running. After the condition is met, the processing job is stopped.

                                                        + */ +export interface ProcessingStoppingCondition { /** - *

                                                        A collection of settings.

                                                        + *

                                                        Specifies the maximum runtime in seconds.

                                                        */ - UserSettings?: UserSettings; + MaxRuntimeInSeconds: number | undefined; } -export namespace CreateUserProfileRequest { +export namespace ProcessingStoppingCondition { /** * @internal */ - export const filterSensitiveLog = (obj: CreateUserProfileRequest): any => ({ + export const filterSensitiveLog = (obj: ProcessingStoppingCondition): any => ({ ...obj, }); } -export interface CreateUserProfileResponse { +export interface CreateProcessingJobRequest { /** - *

                                                        The user profile Amazon Resource Name (ARN).

                                                        + *

                                                        An array of inputs configuring the data to download into the + * processing container.

                                                        */ - UserProfileArn?: string; -} + ProcessingInputs?: ProcessingInput[]; -export namespace CreateUserProfileResponse { /** - * @internal + *

                                                        Output configuration for the processing job.

                                                        */ - export const filterSensitiveLog = (obj: CreateUserProfileResponse): any => ({ - ...obj, - }); -} + ProcessingOutputConfig?: ProcessingOutputConfig; -/** - *

                                                        Use this parameter to configure your OIDC Identity Provider (IdP).

                                                        - */ -export interface OidcConfig { /** - *

                                                        The OIDC IdP client ID used to configure your private workforce.

                                                        + *

                                                        The name of the processing job. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

                                                        */ - ClientId: string | undefined; + ProcessingJobName: string | undefined; /** - *

                                                        The OIDC IdP client secret used to configure your private workforce.

                                                        + *

                                                        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.

                                                        */ - ClientSecret: string | undefined; + ProcessingResources: ProcessingResources | undefined; /** - *

                                                        The OIDC IdP issuer used to configure your private workforce.

                                                        + *

                                                        The time limit for how long the processing job is allowed to run.

                                                        */ - Issuer: string | undefined; + StoppingCondition?: ProcessingStoppingCondition; /** - *

                                                        The OIDC IdP authorization endpoint used to configure your private workforce.

                                                        + *

                                                        Configures the processing job to run a specified Docker container image.

                                                        */ - AuthorizationEndpoint: string | undefined; + AppSpecification: AppSpecification | undefined; /** - *

                                                        The OIDC IdP token endpoint used to configure your private workforce.

                                                        + *

                                                        The environment variables to set in the Docker container. Up to + * 100 key and values entries in the map are supported.

                                                        */ - TokenEndpoint: string | undefined; + Environment?: { [key: string]: string }; /** - *

                                                        The OIDC IdP user information endpoint used to configure your private workforce.

                                                        + *

                                                        Networking options for a processing job, such as whether to allow inbound and + * outbound network calls to and from processing containers, and the VPC subnets and + * security groups to use for VPC-enabled processing jobs.

                                                        */ - UserInfoEndpoint: string | undefined; + NetworkConfig?: NetworkConfig; /** - *

                                                        The OIDC IdP logout endpoint used to configure your private workforce.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on + * your behalf.

                                                        */ - LogoutEndpoint: string | undefined; + RoleArn: string | undefined; /** - *

                                                        The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce.

                                                        + *

                                                        (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

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

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                        + * + */ + ExperimentConfig?: ExperimentConfig; } -export namespace OidcConfig { +export namespace CreateProcessingJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: OidcConfig): any => ({ + export const filterSensitiveLog = (obj: CreateProcessingJobRequest): any => ({ ...obj, - ...(obj.ClientSecret && { ClientSecret: SENSITIVE_STRING }), }); } -/** - *

                                                        A list of IP address ranges (CIDRs). Used to create an allow - * 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 { +export interface CreateProcessingJobResponse { /** - *

                                                        A list of one to ten Classless Inter-Domain Routing (CIDR) values.

                                                        - *

                                                        Maximum: Ten CIDR values

                                                        - * - *

                                                        The following Length Constraints apply to individual CIDR values in - * the CIDR value list.

                                                        - *
                                                        + *

                                                        The Amazon Resource Name (ARN) of the processing job.

                                                        */ - Cidrs: string[] | undefined; + ProcessingJobArn: string | undefined; } -export namespace SourceIpConfig { +export namespace CreateProcessingJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: SourceIpConfig): any => ({ + export const filterSensitiveLog = (obj: CreateProcessingJobResponse): any => ({ ...obj, }); } -export interface CreateWorkforceRequest { +/** + *

                                                        A key value pair used when you provision a project as a service catalog product. For + * information, see What is Amazon Web Services Service + * Catalog.

                                                        + */ +export interface ProvisioningParameter { /** - *

                                                        Use this parameter to configure an Amazon Cognito private workforce. - * A single Cognito workforce is created using and corresponds to a single - * - * Amazon Cognito user pool.

                                                        - * - *

                                                        Do not use OidcConfig if you specify values for - * CognitoConfig.

                                                        + *

                                                        The key that identifies a provisioning parameter.

                                                        */ - CognitoConfig?: CognitoConfig; + Key?: string; /** - *

                                                        Use this parameter to configure a private workforce using your own OIDC Identity Provider.

                                                        - *

                                                        Do not use CognitoConfig if you specify values for - * OidcConfig.

                                                        + *

                                                        The value of the provisioning parameter.

                                                        */ - OidcConfig?: OidcConfig; + Value?: string; +} +export namespace ProvisioningParameter { /** - *

                                                        A list of IP address ranges (CIDRs). Used to create an allow - * 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.

                                                        + * @internal */ - SourceIpConfig?: SourceIpConfig; + export const filterSensitiveLog = (obj: ProvisioningParameter): any => ({ + ...obj, + }); +} +/** + *

                                                        Details that you specify to provision a service catalog product. For information about + * service catalog, see What is Amazon Web Services Service + * Catalog.

                                                        + */ +export interface ServiceCatalogProvisioningDetails { /** - *

                                                        The name of the private workforce.

                                                        + *

                                                        The ID of the product to provision.

                                                        */ - WorkforceName: string | undefined; + ProductId: string | undefined; /** - *

                                                        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 ID of the provisioning artifact.

                                                        */ - Tags?: Tag[]; -} + ProvisioningArtifactId?: string; -export namespace CreateWorkforceRequest { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: CreateWorkforceRequest): any => ({ - ...obj, - ...(obj.OidcConfig && { OidcConfig: OidcConfig.filterSensitiveLog(obj.OidcConfig) }), - }); -} + PathId?: string; -export interface CreateWorkforceResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the workforce.

                                                        + *

                                                        A list of key value pairs that you specify when you provision a product.

                                                        */ - WorkforceArn: string | undefined; + ProvisioningParameters?: ProvisioningParameter[]; } -export namespace CreateWorkforceResponse { +export namespace ServiceCatalogProvisioningDetails { /** * @internal */ - export const filterSensitiveLog = (obj: CreateWorkforceResponse): any => ({ + export const filterSensitiveLog = (obj: ServiceCatalogProvisioningDetails): any => ({ ...obj, }); } -/** - *

                                                        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 { +export interface CreateProjectInput { /** - *

                                                        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.

                                                        + *

                                                        The name of the project.

                                                        */ - Groups: string[] | undefined; -} + ProjectName: string | undefined; -export namespace OidcMemberDefinition { /** - * @internal + *

                                                        A description for the project.

                                                        */ - export const filterSensitiveLog = (obj: OidcMemberDefinition): any => ({ - ...obj, - }); -} + ProjectDescription?: string; -/** - *

                                                        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.

                                                        + *

                                                        The product ID and provisioning artifact ID to provision a service catalog. The provisioning + * artifact ID will default to the latest provisioning artifact ID of the product, if you don't + * provide the provisioning artifact ID. For more information, see What is Amazon Web Services Service + * Catalog.

                                                        */ - CognitoMemberDefinition?: CognitoMemberDefinition; + ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined; /** - *

                                                        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.

                                                        + *

                                                        An array of key-value pairs that you want to use to organize and track your Amazon Web Services + * resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

                                                        */ - OidcMemberDefinition?: OidcMemberDefinition; + Tags?: Tag[]; } -export namespace MemberDefinition { +export namespace CreateProjectInput { /** * @internal */ - export const filterSensitiveLog = (obj: MemberDefinition): any => ({ + export const filterSensitiveLog = (obj: CreateProjectInput): any => ({ ...obj, }); } -/** - *

                                                        Configures Amazon SNS notifications of available or expiring work items for work - * teams.

                                                        - */ -export interface NotificationConfiguration { +export interface CreateProjectOutput { /** - *

                                                        The ARN for the Amazon SNS topic to which notifications should be published.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the project.

                                                        */ - NotificationTopicArn?: string; + ProjectArn: string | undefined; + + /** + *

                                                        The ID of the new project.

                                                        + */ + ProjectId: string | undefined; } -export namespace NotificationConfiguration { +export namespace CreateProjectOutput { /** * @internal */ - export const filterSensitiveLog = (obj: NotificationConfiguration): any => ({ + export const filterSensitiveLog = (obj: CreateProjectOutput): any => ({ ...obj, }); } -export interface CreateWorkteamRequest { - /** - *

                                                        The name of the work team. Use this name to identify the work team.

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

                                                        The name of the workforce.

                                                        - */ - WorkforceName?: string; +export enum StudioLifecycleConfigAppType { + JupyterServer = "JupyterServer", + KernelGateway = "KernelGateway", +} +export interface CreateStudioLifecycleConfigRequest { /** - *

                                                        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.

                                                        + *

                                                        The name of the Studio Lifecycle Configuration to create.

                                                        */ - MemberDefinitions: MemberDefinition[] | undefined; + StudioLifecycleConfigName: string | undefined; /** - *

                                                        A description of the work team.

                                                        + *

                                                        The content of your Studio Lifecycle Configuration script. This content must be base64 encoded.

                                                        */ - Description: string | undefined; + StudioLifecycleConfigContent: string | undefined; /** - *

                                                        Configures notification of workers regarding available or expiring work items.

                                                        + *

                                                        The App type that the Lifecycle Configuration is attached to.

                                                        */ - NotificationConfiguration?: NotificationConfiguration; + StudioLifecycleConfigAppType: StudioLifecycleConfigAppType | string | undefined; /** - *

                                                        An array of key-value pairs.

                                                        - *

                                                        For more information, see Resource - * Tag and Using - * Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User - * Guide.

                                                        + *

                                                        Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.

                                                        */ Tags?: Tag[]; } -export namespace CreateWorkteamRequest { +export namespace CreateStudioLifecycleConfigRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateWorkteamRequest): any => ({ + export const filterSensitiveLog = (obj: CreateStudioLifecycleConfigRequest): any => ({ ...obj, }); } -export interface CreateWorkteamResponse { +export interface CreateStudioLifecycleConfigResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the work team. You can use this ARN to identify the - * work team.

                                                        + *

                                                        The ARN of your created Lifecycle Configuration.

                                                        */ - WorkteamArn?: string; + StudioLifecycleConfigArn?: string; } -export namespace CreateWorkteamResponse { +export namespace CreateStudioLifecycleConfigResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateWorkteamResponse): any => ({ + export const filterSensitiveLog = (obj: CreateStudioLifecycleConfigResponse): any => ({ ...obj, }); } /** - *

                                                        + *

                                                        Configuration information for the Debugger hook parameters, metric and tensor collections, and + * storage paths. To learn more about + * how to configure the DebugHookConfig parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                        */ -export interface DataCaptureConfigSummary { - /** - *

                                                        - */ - EnableCapture: boolean | undefined; - +export interface DebugHookConfig { /** - *

                                                        + *

                                                        Path to local storage location for metrics and tensors. Defaults to + * /opt/ml/output/tensors/.

                                                        */ - CaptureStatus: CaptureStatus | string | undefined; + LocalPath?: string; /** - *

                                                        + *

                                                        Path to Amazon S3 storage location for metrics and tensors.

                                                        */ - CurrentSamplingPercentage: number | undefined; + S3OutputPath: string | undefined; /** - *

                                                        + *

                                                        Configuration information for the Debugger hook parameters.

                                                        */ - DestinationS3Uri: string | undefined; + HookParameters?: { [key: string]: string }; /** - *

                                                        + *

                                                        Configuration information for Debugger tensor collections. To learn more about + * how to configure the CollectionConfiguration parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job. + *

                                                        */ - KmsKeyId: string | undefined; + CollectionConfigurations?: CollectionConfiguration[]; } -export namespace DataCaptureConfigSummary { +export namespace DebugHookConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DataCaptureConfigSummary): any => ({ + export const filterSensitiveLog = (obj: DebugHookConfig): any => ({ ...obj, }); } -export enum RuleEvaluationStatus { - ERROR = "Error", - IN_PROGRESS = "InProgress", - ISSUES_FOUND = "IssuesFound", - NO_ISSUES_FOUND = "NoIssuesFound", - STOPPED = "Stopped", - STOPPING = "Stopping", -} - /** - *

                                                        Information about the status of the rule evaluation.

                                                        + *

                                                        Configuration information for SageMaker Debugger rules for debugging. To learn more about + * how to configure the DebugRuleConfiguration parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                        */ -export interface DebugRuleEvaluationStatus { +export interface DebugRuleConfiguration { /** - *

                                                        The name of the rule configuration.

                                                        + *

                                                        The name of the rule configuration. It must be unique relative to other rule + * configuration names.

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

                                                        The Amazon Resource Name (ARN) of the rule evaluation job.

                                                        + *

                                                        Path to local storage location for output of rules. Defaults to + * /opt/ml/processing/output/rule/.

                                                        */ - RuleEvaluationJobArn?: string; + LocalPath?: string; /** - *

                                                        Status of the rule evaluation.

                                                        + *

                                                        Path to Amazon S3 storage location for rules.

                                                        */ - RuleEvaluationStatus?: RuleEvaluationStatus | string; + S3OutputPath?: string; /** - *

                                                        Details from the rule evaluation.

                                                        + *

                                                        The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

                                                        */ - StatusDetails?: string; + RuleEvaluatorImage: string | undefined; /** - *

                                                        Timestamp when the rule evaluation status was last modified.

                                                        + *

                                                        The instance type to deploy a Debugger custom rule for debugging a training job.

                                                        */ - LastModifiedTime?: Date; -} + InstanceType?: ProcessingInstanceType | string; -export namespace DebugRuleEvaluationStatus { /** - * @internal + *

                                                        The size, in GB, of the ML storage volume attached to the processing instance.

                                                        */ - export const filterSensitiveLog = (obj: DebugRuleEvaluationStatus): any => ({ - ...obj, - }); -} + VolumeSizeInGB?: number; -export interface DeleteActionRequest { /** - *

                                                        The name of the action to delete.

                                                        + *

                                                        Runtime configuration for rule container.

                                                        */ - ActionName: string | undefined; + RuleParameters?: { [key: string]: string }; } -export namespace DeleteActionRequest { +export namespace DebugRuleConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteActionRequest): any => ({ + export const filterSensitiveLog = (obj: DebugRuleConfiguration): any => ({ ...obj, }); } -export interface DeleteActionResponse { +/** + *

                                                        Configuration information for Debugger system monitoring, framework profiling, and + * storage paths.

                                                        + */ +export interface ProfilerConfig { /** - *

                                                        The Amazon Resource Name (ARN) of the action.

                                                        + *

                                                        Path to Amazon S3 storage location for system and framework metrics.

                                                        */ - ActionArn?: string; -} + S3OutputPath: string | undefined; -export namespace DeleteActionResponse { /** - * @internal + *

                                                        A time interval for capturing system metrics in milliseconds. Available values are + * 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 minute) milliseconds. The default value is 500 milliseconds.

                                                        */ - export const filterSensitiveLog = (obj: DeleteActionResponse): any => ({ - ...obj, - }); -} + ProfilingIntervalInMilliseconds?: number; -export interface DeleteAlgorithmInput { /** - *

                                                        The name of the algorithm to delete.

                                                        + *

                                                        Configuration information for capturing framework metrics. Available key strings for different profiling options are + * DetailedProfilingConfig, PythonProfilingConfig, and DataLoaderProfilingConfig. + * The following codes are configuration structures for the ProfilingParameters parameter. To learn more about + * how to configure the ProfilingParameters parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job. + *

                                                        */ - AlgorithmName: string | undefined; + ProfilingParameters?: { [key: string]: string }; } -export namespace DeleteAlgorithmInput { +export namespace ProfilerConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteAlgorithmInput): any => ({ + export const filterSensitiveLog = (obj: ProfilerConfig): any => ({ ...obj, }); } -export interface DeleteAppRequest { +/** + *

                                                        Configuration information for profiling rules.

                                                        + */ +export interface ProfilerRuleConfiguration { + /** + *

                                                        The name of the rule configuration. It must be unique relative to other rule configuration names.

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

                                                        Path to local storage location for output of rules. Defaults to /opt/ml/processing/output/rule/.

                                                        + */ + LocalPath?: string; + + /** + *

                                                        Path to Amazon S3 storage location for rules.

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

                                                        The domain ID.

                                                        + *

                                                        The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

                                                        */ - DomainId: string | undefined; + RuleEvaluatorImage: string | undefined; /** - *

                                                        The user profile name.

                                                        + *

                                                        The instance type to deploy a Debugger custom rule for profiling a training job.

                                                        */ - UserProfileName: string | undefined; + InstanceType?: ProcessingInstanceType | string; /** - *

                                                        The type of app.

                                                        + *

                                                        The size, in GB, of the ML storage volume attached to the processing instance.

                                                        */ - AppType: AppType | string | undefined; + VolumeSizeInGB?: number; /** - *

                                                        The name of the app.

                                                        + *

                                                        Runtime configuration for rule container.

                                                        */ - AppName: string | undefined; + RuleParameters?: { [key: string]: string }; } -export namespace DeleteAppRequest { +export namespace ProfilerRuleConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteAppRequest): any => ({ + export const filterSensitiveLog = (obj: ProfilerRuleConfiguration): any => ({ ...obj, }); } -export interface DeleteAppImageConfigRequest { +/** + *

                                                        Configuration of storage locations for the Debugger TensorBoard output data.

                                                        + */ +export interface TensorBoardOutputConfig { /** - *

                                                        The name of the AppImageConfig to delete.

                                                        + *

                                                        Path to local storage location for tensorBoard output. Defaults to + * /opt/ml/output/tensorboard.

                                                        */ - AppImageConfigName: string | undefined; + LocalPath?: string; + + /** + *

                                                        Path to Amazon S3 storage location for TensorBoard output.

                                                        + */ + S3OutputPath: string | undefined; } -export namespace DeleteAppImageConfigRequest { +export namespace TensorBoardOutputConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteAppImageConfigRequest): any => ({ + export const filterSensitiveLog = (obj: TensorBoardOutputConfig): any => ({ ...obj, }); } -export interface DeleteArtifactRequest { +export interface CreateTrainingJobRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the artifact to delete.

                                                        + *

                                                        The name of the training job. The name must be unique within an Amazon Web Services Region in an + * Amazon Web Services account.

                                                        */ - ArtifactArn?: string; + TrainingJobName: string | undefined; /** - *

                                                        The URI of the source.

                                                        + *

                                                        Algorithm-specific parameters that influence the quality of the model. You set + * hyperparameters before you start the learning process. For a list of hyperparameters for + * each training algorithm provided by Amazon SageMaker, see Algorithms.

                                                        + *

                                                        You can specify a maximum of 100 hyperparameters. Each hyperparameter is a + * key-value pair. Each key and value is limited to 256 characters, as specified by the + * Length Constraint.

                                                        */ - Source?: ArtifactSource; -} + HyperParameters?: { [key: string]: string }; -export namespace DeleteArtifactRequest { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: DeleteArtifactRequest): any => ({ - ...obj, - }); -} + AlgorithmSpecification: AlgorithmSpecification | undefined; -export interface DeleteArtifactResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the artifact.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform + * tasks on your behalf.

                                                        + *

                                                        During model training, Amazon SageMaker needs your permission to read input data from an S3 + * bucket, download a Docker image that contains training code, write model artifacts to an + * S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant + * permissions for all of these tasks to an IAM 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.

                                                        + *
                                                        */ - ArtifactArn?: string; -} + RoleArn: string | undefined; -export namespace DeleteArtifactResponse { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: DeleteArtifactResponse): any => ({ - ...obj, - }); -} + InputDataConfig?: Channel[]; -export interface DeleteAssociationRequest { /** - *

                                                        The ARN of the source.

                                                        + *

                                                        Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker + * creates subfolders for the artifacts.

                                                        */ - SourceArn: string | undefined; + OutputDataConfig: OutputDataConfig | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the destination.

                                                        + *

                                                        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.

                                                        */ - DestinationArn: string | undefined; -} + ResourceConfig: ResourceConfig | undefined; -export namespace DeleteAssociationRequest { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: DeleteAssociationRequest): any => ({ - ...obj, - }); -} + VpcConfig?: VpcConfig; -export interface DeleteAssociationResponse { /** - *

                                                        The ARN of the source.

                                                        + *

                                                        Specifies a limit to how long a model training job can run. It also specifies how long + * a managed Spot training job has to complete. 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.

                                                        */ - SourceArn?: string; + StoppingCondition: StoppingCondition | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the destination.

                                                        + *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

                                                        */ - DestinationArn?: string; -} + Tags?: Tag[]; -export namespace DeleteAssociationResponse { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: DeleteAssociationResponse): any => ({ - ...obj, - }); -} + EnableNetworkIsolation?: boolean; -export interface DeleteCodeRepositoryInput { /** - *

                                                        The name of the Git repository to delete.

                                                        + *

                                                        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.

                                                        */ - CodeRepositoryName: string | undefined; -} + EnableInterContainerTrafficEncryption?: boolean; -export namespace DeleteCodeRepositoryInput { /** - * @internal + *

                                                        To train models using managed spot training, choose True. Managed spot + * training provides a fully managed and scalable infrastructure for training machine + * learning models. this option is useful when training jobs can be interrupted and when + * there is flexibility when the training job is run.

                                                        + *

                                                        The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be + * used as a starting point to train models incrementally. Amazon SageMaker provides metrics and + * logs in CloudWatch. They can be used to see when managed spot training jobs are running, + * interrupted, resumed, or completed.

                                                        */ - export const filterSensitiveLog = (obj: DeleteCodeRepositoryInput): any => ({ - ...obj, - }); -} + EnableManagedSpotTraining?: boolean; -export interface DeleteContextRequest { /** - *

                                                        The name of the context to delete.

                                                        + *

                                                        Contains information about the output location for managed spot training checkpoint + * data.

                                                        */ - ContextName: string | undefined; -} + CheckpointConfig?: CheckpointConfig; -export namespace DeleteContextRequest { /** - * @internal + *

                                                        Configuration information for the Debugger hook parameters, metric and tensor collections, and + * storage paths. To learn more about + * how to configure the DebugHookConfig parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                        */ - export const filterSensitiveLog = (obj: DeleteContextRequest): any => ({ - ...obj, - }); -} + DebugHookConfig?: DebugHookConfig; -export interface DeleteContextResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the context.

                                                        + *

                                                        Configuration information for Debugger rules for debugging output tensors.

                                                        */ - ContextArn?: string; -} + DebugRuleConfigurations?: DebugRuleConfiguration[]; + + /** + *

                                                        Configuration of storage locations for the Debugger TensorBoard output data.

                                                        + */ + TensorBoardOutputConfig?: TensorBoardOutputConfig; + + /** + *

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                        + * + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

                                                        Configuration information for Debugger system monitoring, framework profiling, and + * storage paths.

                                                        + */ + ProfilerConfig?: ProfilerConfig; + + /** + *

                                                        Configuration information for Debugger rules for profiling system and framework + * metrics.

                                                        + */ + ProfilerRuleConfigurations?: ProfilerRuleConfiguration[]; -export namespace DeleteContextResponse { /** - * @internal + *

                                                        The environment variables to set in the Docker container.

                                                        */ - export const filterSensitiveLog = (obj: DeleteContextResponse): any => ({ - ...obj, - }); -} + Environment?: { [key: string]: string }; -export interface DeleteDataQualityJobDefinitionRequest { /** - *

                                                        The name of the data quality monitoring job definition to delete.

                                                        + *

                                                        The number of times to retry the job when the job fails due to an + * InternalServerError.

                                                        */ - JobDefinitionName: string | undefined; + RetryStrategy?: RetryStrategy; } -export namespace DeleteDataQualityJobDefinitionRequest { +export namespace CreateTrainingJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteDataQualityJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrainingJobRequest): any => ({ ...obj, }); } -export interface DeleteDeviceFleetRequest { +export interface CreateTrainingJobResponse { /** - *

                                                        The name of the fleet to delete.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the training job.

                                                        */ - DeviceFleetName: string | undefined; + TrainingJobArn: string | undefined; } -export namespace DeleteDeviceFleetRequest { +export namespace CreateTrainingJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteDeviceFleetRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrainingJobResponse): any => ({ ...obj, }); } -export enum RetentionType { - Delete = "Delete", - Retain = "Retain", +export enum JoinSource { + INPUT = "Input", + NONE = "None", } /** - *

                                                        The retention policy for data stored on an Amazon Elastic File System (EFS) volume.

                                                        + *

                                                        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.

                                                        */ -export interface RetentionPolicy { - /** - *

                                                        The default is Retain, which specifies to keep the data stored on the EFS volume.

                                                        - *

                                                        Specify Delete to delete the data stored on the EFS volume.

                                                        - */ - HomeEfsFileSystem?: RetentionType | string; -} - -export namespace RetentionPolicy { +export interface DataProcessing { /** - * @internal + *

                                                        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" + *

                                                        */ - export const filterSensitiveLog = (obj: RetentionPolicy): any => ({ - ...obj, - }); -} + InputFilter?: string; -export interface DeleteDomainRequest { /** - *

                                                        The domain ID.

                                                        + *

                                                        A JSONPath expression used to select a portion of the joined dataset to save + * in the output file for a batch transform job. If you want Amazon SageMaker to store the entire input + * dataset in the output file, leave the default value, $. If you specify + * indexes that aren't within the dimension size of the joined dataset, you get an + * error.

                                                        + *

                                                        Examples: "$", "$[0,5:]", + * "$['id','SageMakerOutput']" + *

                                                        */ - DomainId: string | undefined; + OutputFilter?: string; /** - *

                                                        The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. - * By default, all resources are retained (not automatically deleted). - *

                                                        + *

                                                        Specifies the source of the data to join with the transformed data. The valid values + * are None and Input. The default value is None, + * which specifies not to join the input with the transformed data. If you want the batch + * transform job to join the original input data with the transformed data, set + * JoinSource to Input. You can specify + * OutputFilter as an additional filter to select a portion of the joined + * dataset and store it in the output file.

                                                        + *

                                                        For JSON or JSONLines objects, such as a JSON array, SageMaker adds the transformed data to + * the input JSON object in an attribute called SageMakerOutput. The joined + * result for JSON must be a key-value pair object. If the input is not a key-value pair + * object, SageMaker creates a new JSON file. In the new JSON file, and the input data is stored + * under the SageMakerInput key and the results are stored in + * SageMakerOutput.

                                                        + *

                                                        For CSV data, SageMaker takes each row as a JSON array and joins the transformed data with + * the input by appending each transformed row to the end of the input. The joined data has + * the original input data followed by the transformed data and the output is a CSV + * file.

                                                        + *

                                                        For information on how joining in applied, see Workflow for Associating Inferences with Input Records.

                                                        */ - RetentionPolicy?: RetentionPolicy; + JoinSource?: JoinSource | string; } -export namespace DeleteDomainRequest { +export namespace DataProcessing { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteDomainRequest): any => ({ + export const filterSensitiveLog = (obj: DataProcessing): any => ({ ...obj, }); } -export interface DeleteEndpointInput { +/** + *

                                                        Configures the timeout and maximum number of retries for processing a transform job + * invocation.

                                                        + */ +export interface ModelClientConfig { /** - *

                                                        The name of the endpoint that you want to delete.

                                                        + *

                                                        The timeout value in seconds for an invocation request.

                                                        */ - EndpointName: string | undefined; + InvocationsTimeoutInSeconds?: number; + + /** + *

                                                        The maximum number of retries when invocation requests are failing.

                                                        + */ + InvocationsMaxRetries?: number; } -export namespace DeleteEndpointInput { +export namespace ModelClientConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteEndpointInput): any => ({ + export const filterSensitiveLog = (obj: ModelClientConfig): any => ({ ...obj, }); } -export interface DeleteEndpointConfigInput { +export interface CreateTransformJobRequest { /** - *

                                                        The name of the endpoint configuration that you want to delete.

                                                        + *

                                                        The name of the transform job. The name must be unique within an Amazon Web Services Region in an + * Amazon Web Services account.

                                                        */ - EndpointConfigName: string | undefined; -} + TransformJobName: string | undefined; -export namespace DeleteEndpointConfigInput { /** - * @internal + *

                                                        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 Amazon Web Services + * Region in an Amazon Web Services account.

                                                        */ - export const filterSensitiveLog = (obj: DeleteEndpointConfigInput): any => ({ - ...obj, - }); -} + ModelName: string | undefined; -export interface DeleteExperimentRequest { /** - *

                                                        The name of the experiment to delete.

                                                        + *

                                                        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.

                                                        */ - ExperimentName: string | undefined; -} + MaxConcurrentTransforms?: number; -export namespace DeleteExperimentRequest { /** - * @internal + *

                                                        Configures the timeout and maximum number of retries for processing a transform job + * invocation.

                                                        */ - export const filterSensitiveLog = (obj: DeleteExperimentRequest): any => ({ - ...obj, - }); -} + ModelClientConfig?: ModelClientConfig; -export interface DeleteExperimentResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the experiment that is being deleted.

                                                        + *

                                                        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.

                                                        */ - ExperimentArn?: string; -} + MaxPayloadInMB?: number; -export namespace DeleteExperimentResponse { /** - * @internal + *

                                                        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.

                                                        + *

                                                        To enable the batch strategy, you must set the SplitType property to + * Line, RecordIO, or TFRecord.

                                                        + *

                                                        To use only one record when making an HTTP invocation request to a container, set + * BatchStrategy to SingleRecord and SplitType + * to Line.

                                                        + *

                                                        To fit as many records in a mini-batch as can fit within the + * MaxPayloadInMB limit, set BatchStrategy to + * MultiRecord and SplitType to Line.

                                                        */ - export const filterSensitiveLog = (obj: DeleteExperimentResponse): any => ({ - ...obj, - }); -} + BatchStrategy?: BatchStrategy | string; -export interface DeleteFeatureGroupRequest { /** - *

                                                        The name of the FeatureGroup you want to delete. The name must be unique - * within an Amazon Web Services Region in an Amazon Web Services account.

                                                        + *

                                                        The environment variables to set in the Docker container. We support up to 16 key and + * values entries in the map.

                                                        */ - FeatureGroupName: string | undefined; -} + Environment?: { [key: string]: string }; -export namespace DeleteFeatureGroupRequest { /** - * @internal + *

                                                        Describes the input source and + * the + * way the transform job consumes it.

                                                        */ - export const filterSensitiveLog = (obj: DeleteFeatureGroupRequest): any => ({ - ...obj, - }); -} + TransformInput: TransformInput | undefined; -export interface DeleteFlowDefinitionRequest { /** - *

                                                        The name of the flow definition you are deleting.

                                                        + *

                                                        Describes the results of the transform job.

                                                        */ - FlowDefinitionName: string | undefined; -} + TransformOutput: TransformOutput | undefined; -export namespace DeleteFlowDefinitionRequest { /** - * @internal + *

                                                        Describes the resources, including + * ML + * instance types and ML instance count, to use for the transform + * job.

                                                        */ - export const filterSensitiveLog = (obj: DeleteFlowDefinitionRequest): any => ({ - ...obj, - }); -} - -export interface DeleteFlowDefinitionResponse {} + TransformResources: TransformResources | undefined; -export namespace DeleteFlowDefinitionResponse { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: DeleteFlowDefinitionResponse): any => ({ - ...obj, - }); -} + DataProcessing?: DataProcessing; -export interface DeleteHumanTaskUiRequest { /** - *

                                                        The name of the human task user interface (work task template) you want to delete.

                                                        + *

                                                        (Optional) + * An + * array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User + * Guide.

                                                        */ - HumanTaskUiName: string | undefined; -} + Tags?: Tag[]; -export namespace DeleteHumanTaskUiRequest { /** - * @internal + *

                                                        Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                        + * */ - export const filterSensitiveLog = (obj: DeleteHumanTaskUiRequest): any => ({ - ...obj, - }); + ExperimentConfig?: ExperimentConfig; } -export interface DeleteHumanTaskUiResponse {} - -export namespace DeleteHumanTaskUiResponse { +export namespace CreateTransformJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteHumanTaskUiResponse): any => ({ + export const filterSensitiveLog = (obj: CreateTransformJobRequest): any => ({ ...obj, }); } -export interface DeleteImageRequest { +export interface CreateTransformJobResponse { /** - *

                                                        The name of the image to delete.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the transform job.

                                                        */ - ImageName: string | undefined; + TransformJobArn: string | undefined; } -export namespace DeleteImageRequest { +export namespace CreateTransformJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteImageRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransformJobResponse): any => ({ ...obj, }); } -export interface DeleteImageResponse {} +export interface CreateTrialRequest { + /** + *

                                                        The name of the trial. The name must be unique in your Amazon Web Services account and is not + * case-sensitive.

                                                        + */ + TrialName: string | undefined; -export namespace DeleteImageResponse { /** - * @internal + *

                                                        The name of the trial as displayed. The name doesn't need to be unique. If + * DisplayName isn't specified, TrialName is displayed.

                                                        */ - export const filterSensitiveLog = (obj: DeleteImageResponse): any => ({ - ...obj, - }); -} + DisplayName?: string; -export interface DeleteImageVersionRequest { /** - *

                                                        The name of the image.

                                                        + *

                                                        The name of the experiment to associate the trial with.

                                                        */ - ImageName: string | undefined; + ExperimentName: string | undefined; /** - *

                                                        The version to delete.

                                                        + *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        */ - Version: number | undefined; -} + MetadataProperties?: MetadataProperties; -export namespace DeleteImageVersionRequest { /** - * @internal + *

                                                        A list of tags to associate with the trial. You can use Search API to + * search on the tags.

                                                        */ - export const filterSensitiveLog = (obj: DeleteImageVersionRequest): any => ({ - ...obj, - }); + Tags?: Tag[]; } -export interface DeleteImageVersionResponse {} - -export namespace DeleteImageVersionResponse { +export namespace CreateTrialRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteImageVersionResponse): any => ({ + export const filterSensitiveLog = (obj: CreateTrialRequest): any => ({ ...obj, }); } -export interface DeleteModelInput { +export interface CreateTrialResponse { /** - *

                                                        The name of the model to delete.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the trial.

                                                        */ - ModelName: string | undefined; + TrialArn?: string; } -export namespace DeleteModelInput { +export namespace CreateTrialResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteModelInput): any => ({ + export const filterSensitiveLog = (obj: CreateTrialResponse): any => ({ ...obj, }); } -export interface DeleteModelBiasJobDefinitionRequest { +/** + *

                                                        Represents an input or output artifact of a trial component. You specify + * 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 name of the model bias job definition to delete.

                                                        + *

                                                        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 + * concatenated with a slash (/) character, for example, text/csv, image/jpeg, and s3/uri. The + * type specifies the category of the media. The subtype specifies the kind of data.

                                                        */ - JobDefinitionName: string | undefined; + MediaType?: string; + + /** + *

                                                        The location of the artifact.

                                                        + */ + Value: string | undefined; } -export namespace DeleteModelBiasJobDefinitionRequest { +export namespace TrialComponentArtifact { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteModelBiasJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: TrialComponentArtifact): any => ({ ...obj, }); } -export interface DeleteModelExplainabilityJobDefinitionRequest { - /** - *

                                                        The name of the model explainability job definition to delete.

                                                        - */ - JobDefinitionName: string | undefined; -} +/** + *

                                                        The value of a hyperparameter. Only one of NumberValue or + * StringValue can be specified.

                                                        + *

                                                        This object is specified in the CreateTrialComponent request.

                                                        + */ +export type TrialComponentParameterValue = + | TrialComponentParameterValue.NumberValueMember + | TrialComponentParameterValue.StringValueMember + | TrialComponentParameterValue.$UnknownMember; -export namespace DeleteModelExplainabilityJobDefinitionRequest { +export namespace TrialComponentParameterValue { /** - * @internal + *

                                                        The string value of a categorical hyperparameter. If you specify a value for this + * parameter, you can't specify the NumberValue parameter.

                                                        */ - export const filterSensitiveLog = (obj: DeleteModelExplainabilityJobDefinitionRequest): any => ({ - ...obj, - }); -} + export interface StringValueMember { + StringValue: string; + NumberValue?: never; + $unknown?: never; + } -export interface DeleteModelPackageInput { /** - *

                                                        The name or Amazon Resource Name (ARN) of the model package to delete.

                                                        - *

                                                        When you specify a name, the name must have 1 to 63 characters. Valid - * characters are a-z, A-Z, 0-9, and - (hyphen).

                                                        + *

                                                        The numeric value of a numeric hyperparameter. If you specify a value for this parameter, + * you can't specify the StringValue parameter.

                                                        */ - ModelPackageName: string | undefined; -} + export interface NumberValueMember { + StringValue?: never; + NumberValue: number; + $unknown?: never; + } + + export interface $UnknownMember { + StringValue?: never; + NumberValue?: never; + $unknown: [string, any]; + } + + export interface Visitor { + StringValue: (value: string) => T; + NumberValue: (value: number) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: TrialComponentParameterValue, visitor: Visitor): T => { + if (value.StringValue !== undefined) return visitor.StringValue(value.StringValue); + if (value.NumberValue !== undefined) return visitor.NumberValue(value.NumberValue); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; -export namespace DeleteModelPackageInput { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteModelPackageInput): any => ({ - ...obj, - }); + export const filterSensitiveLog = (obj: TrialComponentParameterValue): any => { + if (obj.StringValue !== undefined) return { StringValue: obj.StringValue }; + if (obj.NumberValue !== undefined) return { NumberValue: obj.NumberValue }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } -export interface DeleteModelPackageGroupInput { - /** - *

                                                        The name of the model group to delete.

                                                        - */ - ModelPackageGroupName: string | undefined; +export enum TrialComponentPrimaryStatus { + COMPLETED = "Completed", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + STOPPED = "Stopped", + STOPPING = "Stopping", } -export namespace DeleteModelPackageGroupInput { +/** + *

                                                        The status of the trial component.

                                                        + */ +export interface TrialComponentStatus { /** - * @internal + *

                                                        The status of the trial component.

                                                        */ - export const filterSensitiveLog = (obj: DeleteModelPackageGroupInput): any => ({ - ...obj, - }); -} + PrimaryStatus?: TrialComponentPrimaryStatus | string; -export interface DeleteModelPackageGroupPolicyInput { /** - *

                                                        The name of the model group for which to delete the policy.

                                                        + *

                                                        If the component failed, a message describing why.

                                                        */ - ModelPackageGroupName: string | undefined; + Message?: string; } -export namespace DeleteModelPackageGroupPolicyInput { +export namespace TrialComponentStatus { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteModelPackageGroupPolicyInput): any => ({ + export const filterSensitiveLog = (obj: TrialComponentStatus): any => ({ ...obj, }); } -export interface DeleteModelQualityJobDefinitionRequest { +export interface CreateTrialComponentRequest { /** - *

                                                        The name of the model quality monitoring job definition to delete.

                                                        + *

                                                        The name of the component. The name must be unique in your Amazon Web Services account and is not + * case-sensitive.

                                                        */ - JobDefinitionName: string | undefined; -} + TrialComponentName: string | undefined; -export namespace DeleteModelQualityJobDefinitionRequest { /** - * @internal + *

                                                        The name of the component as displayed. The name doesn't need to be unique. If + * DisplayName isn't specified, TrialComponentName is + * displayed.

                                                        */ - export const filterSensitiveLog = (obj: DeleteModelQualityJobDefinitionRequest): any => ({ - ...obj, - }); -} + DisplayName?: string; -export interface DeleteMonitoringScheduleRequest { /** - *

                                                        The name of the monitoring schedule to delete.

                                                        + *

                                                        The status of the component. States include:

                                                        + *
                                                          + *
                                                        • + *

                                                          InProgress

                                                          + *
                                                        • + *
                                                        • + *

                                                          Completed

                                                          + *
                                                        • + *
                                                        • + *

                                                          Failed

                                                          + *
                                                        • + *
                                                        */ - MonitoringScheduleName: string | undefined; -} + Status?: TrialComponentStatus; -export namespace DeleteMonitoringScheduleRequest { /** - * @internal + *

                                                        When the component started.

                                                        */ - export const filterSensitiveLog = (obj: DeleteMonitoringScheduleRequest): any => ({ - ...obj, - }); -} + StartTime?: Date; -export interface DeleteNotebookInstanceInput { /** - *

                                                        The name of the Amazon SageMaker notebook instance to delete.

                                                        + *

                                                        When the component ended.

                                                        */ - NotebookInstanceName: string | undefined; -} + EndTime?: Date; -export namespace DeleteNotebookInstanceInput { /** - * @internal + *

                                                        The hyperparameters for the component.

                                                        */ - export const filterSensitiveLog = (obj: DeleteNotebookInstanceInput): any => ({ - ...obj, - }); -} + Parameters?: { [key: string]: TrialComponentParameterValue }; -export interface DeleteNotebookInstanceLifecycleConfigInput { /** - *

                                                        The name of the lifecycle configuration to delete.

                                                        + *

                                                        The input artifacts for the component. Examples of input artifacts are datasets, + * algorithms, hyperparameters, source code, and instance types.

                                                        */ - NotebookInstanceLifecycleConfigName: string | undefined; -} + InputArtifacts?: { [key: string]: TrialComponentArtifact }; -export namespace DeleteNotebookInstanceLifecycleConfigInput { /** - * @internal + *

                                                        The output artifacts for the component. Examples of output artifacts are metrics, + * snapshots, logs, and images.

                                                        */ - export const filterSensitiveLog = (obj: DeleteNotebookInstanceLifecycleConfigInput): any => ({ - ...obj, - }); -} + OutputArtifacts?: { [key: string]: TrialComponentArtifact }; -export interface DeletePipelineRequest { /** - *

                                                        The name of the pipeline to delete.

                                                        + *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        */ - PipelineName: string | undefined; + MetadataProperties?: MetadataProperties; /** - *

                                                        A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * operation. An idempotent operation completes no more than one time.

                                                        + *

                                                        A list of tags to associate with the component. You can use Search API + * to search on the tags.

                                                        */ - ClientRequestToken?: string; + Tags?: Tag[]; } -export namespace DeletePipelineRequest { +export namespace CreateTrialComponentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeletePipelineRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrialComponentRequest): any => ({ ...obj, + ...(obj.Parameters && { + Parameters: Object.entries(obj.Parameters).reduce( + (acc: any, [key, value]: [string, TrialComponentParameterValue]) => ({ + ...acc, + [key]: TrialComponentParameterValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } -export interface DeletePipelineResponse { +export interface CreateTrialComponentResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the pipeline to delete.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the trial component.

                                                        */ - PipelineArn?: string; + TrialComponentArn?: string; } -export namespace DeletePipelineResponse { +export namespace CreateTrialComponentResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeletePipelineResponse): any => ({ + export const filterSensitiveLog = (obj: CreateTrialComponentResponse): any => ({ ...obj, }); } -export interface DeleteProjectInput { - /** - *

                                                        The name of the project to delete.

                                                        - */ - ProjectName: string | undefined; -} - -export namespace DeleteProjectInput { +export interface CreateUserProfileRequest { /** - * @internal + *

                                                        The ID of the associated Domain.

                                                        */ - export const filterSensitiveLog = (obj: DeleteProjectInput): any => ({ - ...obj, - }); -} + DomainId: string | undefined; -export interface DeleteStudioLifecycleConfigRequest { /** - *

                                                        The name of the Studio Lifecycle Configuration to delete.

                                                        + *

                                                        A name for the UserProfile. This value is not case sensitive.

                                                        */ - StudioLifecycleConfigName: string | undefined; -} + UserProfileName: string | undefined; -export namespace DeleteStudioLifecycleConfigRequest { /** - * @internal + *

                                                        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. + *

                                                        */ - export const filterSensitiveLog = (obj: DeleteStudioLifecycleConfigRequest): any => ({ - ...obj, - }); -} + SingleSignOnUserIdentifier?: string; -export interface DeleteTagsInput { /** - *

                                                        The Amazon Resource Name (ARN) of the resource whose tags you want to - * delete.

                                                        + *

                                                        The username of the associated Amazon Web Services 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. + *

                                                        */ - ResourceArn: string | undefined; + SingleSignOnUserValue?: string; /** - *

                                                        An array or one or more tag keys to delete.

                                                        + *

                                                        Each tag consists of a key and an optional value. + * Tag keys must be unique per resource.

                                                        + *

                                                        Tags that you specify for the User Profile are also added to all Apps that the + * User Profile launches.

                                                        */ - TagKeys: string[] | undefined; -} + Tags?: Tag[]; -export namespace DeleteTagsInput { /** - * @internal + *

                                                        A collection of settings.

                                                        */ - export const filterSensitiveLog = (obj: DeleteTagsInput): any => ({ - ...obj, - }); + UserSettings?: UserSettings; } -export interface DeleteTagsOutput {} - -export namespace DeleteTagsOutput { +export namespace CreateUserProfileRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTagsOutput): any => ({ + export const filterSensitiveLog = (obj: CreateUserProfileRequest): any => ({ ...obj, }); } -export interface DeleteTrialRequest { +export interface CreateUserProfileResponse { /** - *

                                                        The name of the trial to delete.

                                                        + *

                                                        The user profile Amazon Resource Name (ARN).

                                                        */ - TrialName: string | undefined; + UserProfileArn?: string; } -export namespace DeleteTrialRequest { +export namespace CreateUserProfileResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrialRequest): any => ({ + export const filterSensitiveLog = (obj: CreateUserProfileResponse): any => ({ ...obj, }); } -export interface DeleteTrialResponse { +/** + *

                                                        Use this parameter to configure your OIDC Identity Provider (IdP).

                                                        + */ +export interface OidcConfig { /** - *

                                                        The Amazon Resource Name (ARN) of the trial that is being deleted.

                                                        + *

                                                        The OIDC IdP client ID used to configure your private workforce.

                                                        */ - TrialArn?: string; -} + ClientId: string | undefined; -export namespace DeleteTrialResponse { /** - * @internal + *

                                                        The OIDC IdP client secret used to configure your private workforce.

                                                        */ - export const filterSensitiveLog = (obj: DeleteTrialResponse): any => ({ - ...obj, - }); -} + ClientSecret: string | undefined; -export interface DeleteTrialComponentRequest { /** - *

                                                        The name of the component to delete.

                                                        + *

                                                        The OIDC IdP issuer used to configure your private workforce.

                                                        */ - TrialComponentName: string | undefined; -} + Issuer: string | undefined; -export namespace DeleteTrialComponentRequest { /** - * @internal + *

                                                        The OIDC IdP authorization endpoint used to configure your private workforce.

                                                        */ - export const filterSensitiveLog = (obj: DeleteTrialComponentRequest): any => ({ - ...obj, - }); -} + AuthorizationEndpoint: string | undefined; -export interface DeleteTrialComponentResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the component is being deleted.

                                                        + *

                                                        The OIDC IdP token endpoint used to configure your private workforce.

                                                        */ - TrialComponentArn?: string; -} + TokenEndpoint: string | undefined; -export namespace DeleteTrialComponentResponse { /** - * @internal + *

                                                        The OIDC IdP user information endpoint used to configure your private workforce.

                                                        */ - export const filterSensitiveLog = (obj: DeleteTrialComponentResponse): any => ({ - ...obj, - }); -} + UserInfoEndpoint: string | undefined; -export interface DeleteUserProfileRequest { /** - *

                                                        The domain ID.

                                                        + *

                                                        The OIDC IdP logout endpoint used to configure your private workforce.

                                                        */ - DomainId: string | undefined; + LogoutEndpoint: string | undefined; /** - *

                                                        The user profile name.

                                                        + *

                                                        The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce.

                                                        */ - UserProfileName: string | undefined; + JwksUri: string | undefined; } -export namespace DeleteUserProfileRequest { +export namespace OidcConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteUserProfileRequest): any => ({ + export const filterSensitiveLog = (obj: OidcConfig): any => ({ ...obj, + ...(obj.ClientSecret && { ClientSecret: SENSITIVE_STRING }), }); } -export interface DeleteWorkforceRequest { +/** + *

                                                        A list of IP address ranges (CIDRs). Used to create an allow + * 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 { /** - *

                                                        The name of the workforce.

                                                        + *

                                                        A list of one to ten Classless Inter-Domain Routing (CIDR) values.

                                                        + *

                                                        Maximum: Ten CIDR values

                                                        + * + *

                                                        The following Length Constraints apply to individual CIDR values in + * the CIDR value list.

                                                        + *
                                                        */ - WorkforceName: string | undefined; + Cidrs: string[] | undefined; } -export namespace DeleteWorkforceRequest { +export namespace SourceIpConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteWorkforceRequest): any => ({ + export const filterSensitiveLog = (obj: SourceIpConfig): any => ({ ...obj, }); } -export interface DeleteWorkforceResponse {} +export interface CreateWorkforceRequest { + /** + *

                                                        Use this parameter to configure an Amazon Cognito private workforce. + * A single Cognito workforce is created using and corresponds to a single + * + * Amazon Cognito user pool.

                                                        + * + *

                                                        Do not use OidcConfig if you specify values for + * CognitoConfig.

                                                        + */ + CognitoConfig?: CognitoConfig; -export namespace DeleteWorkforceResponse { /** - * @internal + *

                                                        Use this parameter to configure a private workforce using your own OIDC Identity Provider.

                                                        + *

                                                        Do not use CognitoConfig if you specify values for + * OidcConfig.

                                                        */ - export const filterSensitiveLog = (obj: DeleteWorkforceResponse): any => ({ - ...obj, - }); -} + OidcConfig?: OidcConfig; + + /** + *

                                                        A list of IP address ranges (CIDRs). Used to create an allow + * 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.

                                                        + */ + WorkforceName: string | undefined; -export interface DeleteWorkteamRequest { /** - *

                                                        The name of the work team to delete.

                                                        + *

                                                        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.

                                                        */ - WorkteamName: string | undefined; + Tags?: Tag[]; } -export namespace DeleteWorkteamRequest { +export namespace CreateWorkforceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteWorkteamRequest): any => ({ + export const filterSensitiveLog = (obj: CreateWorkforceRequest): any => ({ ...obj, + ...(obj.OidcConfig && { OidcConfig: OidcConfig.filterSensitiveLog(obj.OidcConfig) }), }); } -export interface DeleteWorkteamResponse { +export interface CreateWorkforceResponse { /** - *

                                                        Returns true if the work team was successfully deleted; otherwise, - * returns false.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the workforce.

                                                        */ - Success: boolean | undefined; + WorkforceArn: string | undefined; } -export namespace DeleteWorkteamResponse { +export namespace CreateWorkforceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteWorkteamResponse): any => ({ + export const filterSensitiveLog = (obj: CreateWorkforceResponse): any => ({ ...obj, }); } /** - *

                                                        Gets the Amazon EC2 Container Registry path of the docker image of the model that is hosted in this ProductionVariant.

                                                        - *

                                                        If you used the registry/repository[:tag] form to specify the image path - * of the primary container when you created the model hosted in this - * ProductionVariant, the path resolves to a path of the form - * registry/repository[@digest]. A digest is a hash value that identifies - * a specific version of an image. For information about Amazon ECR paths, see Pulling an Image in the Amazon ECR User Guide.

                                                        + *

                                                        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 DeployedImage { - /** - *

                                                        The image path you specified when you created the model.

                                                        - */ - SpecifiedImage?: string; - - /** - *

                                                        The specific digest path of the image hosted in this - * ProductionVariant.

                                                        - */ - ResolvedImage?: string; - +export interface OidcMemberDefinition { /** - *

                                                        The date and time when the image path for the model resolved to the - * ResolvedImage - *

                                                        + *

                                                        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.

                                                        */ - ResolutionTime?: Date; + Groups: string[] | undefined; } -export namespace DeployedImage { +export namespace OidcMemberDefinition { /** * @internal */ - export const filterSensitiveLog = (obj: DeployedImage): any => ({ + export const filterSensitiveLog = (obj: OidcMemberDefinition): any => ({ ...obj, }); } -export interface DeregisterDevicesRequest { +/** + *

                                                        Defines an Amazon Cognito or your own OIDC IdP user group that is part of a work team.

                                                        + */ +export interface MemberDefinition { /** - *

                                                        The name of the fleet the devices belong to.

                                                        + *

                                                        The Amazon Cognito user group that is part of the work team.

                                                        */ - DeviceFleetName: string | undefined; + CognitoMemberDefinition?: CognitoMemberDefinition; /** - *

                                                        The unique IDs of the devices.

                                                        + *

                                                        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.

                                                        */ - DeviceNames: string[] | undefined; + OidcMemberDefinition?: OidcMemberDefinition; } -export namespace DeregisterDevicesRequest { +export namespace MemberDefinition { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterDevicesRequest): any => ({ + export const filterSensitiveLog = (obj: MemberDefinition): any => ({ ...obj, }); } -export interface DescribeActionRequest { +/** + *

                                                        Configures Amazon SNS notifications of available or expiring work items for work + * teams.

                                                        + */ +export interface NotificationConfiguration { /** - *

                                                        The name of the action to describe.

                                                        + *

                                                        The ARN for the Amazon SNS topic to which notifications should be published.

                                                        */ - ActionName: string | undefined; + NotificationTopicArn?: string; } -export namespace DescribeActionRequest { +export namespace NotificationConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeActionRequest): any => ({ + export const filterSensitiveLog = (obj: NotificationConfiguration): any => ({ ...obj, }); } -export interface DescribeActionResponse { +export interface CreateWorkteamRequest { /** - *

                                                        The name of the action.

                                                        + *

                                                        The name of the work team. Use this name to identify the work team.

                                                        */ - ActionName?: string; + WorkteamName: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the action.

                                                        + *

                                                        The name of the workforce.

                                                        */ - ActionArn?: string; + WorkforceName?: string; /** - *

                                                        The source of the action.

                                                        + *

                                                        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.

                                                        */ - Source?: ActionSource; + MemberDefinitions: MemberDefinition[] | undefined; /** - *

                                                        The type of the action.

                                                        + *

                                                        A description of the work team.

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

                                                        The description of the action.

                                                        + *

                                                        Configures notification of workers regarding available or expiring work items.

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

                                                        The status of the action.

                                                        + *

                                                        An array of key-value pairs.

                                                        + *

                                                        For more information, see Resource + * Tag and Using + * Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User + * Guide.

                                                        */ - Status?: ActionStatus | string; + Tags?: Tag[]; +} +export namespace CreateWorkteamRequest { /** - *

                                                        A list of the action's properties.

                                                        + * @internal */ - Properties?: { [key: string]: string }; + export const filterSensitiveLog = (obj: CreateWorkteamRequest): any => ({ + ...obj, + }); +} +export interface CreateWorkteamResponse { /** - *

                                                        When the action was created.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the work team. You can use this ARN to identify the + * work team.

                                                        */ - CreationTime?: Date; + WorkteamArn?: string; +} +export namespace CreateWorkteamResponse { /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + * @internal */ - CreatedBy?: UserContext; + export const filterSensitiveLog = (obj: CreateWorkteamResponse): any => ({ + ...obj, + }); +} +/** + *

                                                        + */ +export interface DataCaptureConfigSummary { /** - *

                                                        When the action was last modified.

                                                        + *

                                                        */ - LastModifiedTime?: Date; + EnableCapture: boolean | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        */ - LastModifiedBy?: UserContext; + CaptureStatus: CaptureStatus | string | undefined; /** - *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + *

                                                        */ - MetadataProperties?: MetadataProperties; -} + CurrentSamplingPercentage: number | undefined; -export namespace DescribeActionResponse { /** - * @internal + *

                                                        */ - export const filterSensitiveLog = (obj: DescribeActionResponse): any => ({ - ...obj, - }); -} + DestinationS3Uri: string | undefined; -export interface DescribeAlgorithmInput { /** - *

                                                        The name of the algorithm to describe.

                                                        + *

                                                        */ - AlgorithmName: string | undefined; + KmsKeyId: string | undefined; } -export namespace DescribeAlgorithmInput { +export namespace DataCaptureConfigSummary { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAlgorithmInput): any => ({ + export const filterSensitiveLog = (obj: DataCaptureConfigSummary): any => ({ ...obj, }); } -export interface DescribeAlgorithmOutput { +export enum RuleEvaluationStatus { + ERROR = "Error", + IN_PROGRESS = "InProgress", + ISSUES_FOUND = "IssuesFound", + NO_ISSUES_FOUND = "NoIssuesFound", + STOPPED = "Stopped", + STOPPING = "Stopping", +} + +/** + *

                                                        Information about the status of the rule evaluation.

                                                        + */ +export interface DebugRuleEvaluationStatus { /** - *

                                                        The name of the algorithm being described.

                                                        + *

                                                        The name of the rule configuration.

                                                        */ - AlgorithmName: string | undefined; + RuleConfigurationName?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the algorithm.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the rule evaluation job.

                                                        */ - AlgorithmArn: string | undefined; + RuleEvaluationJobArn?: string; /** - *

                                                        A brief summary about the algorithm.

                                                        + *

                                                        Status of the rule evaluation.

                                                        */ - AlgorithmDescription?: string; + RuleEvaluationStatus?: RuleEvaluationStatus | string; /** - *

                                                        A timestamp specifying when the algorithm was created.

                                                        + *

                                                        Details from the rule evaluation.

                                                        */ - CreationTime: Date | undefined; + StatusDetails?: string; /** - *

                                                        Details about training jobs run by this algorithm.

                                                        + *

                                                        Timestamp when the rule evaluation status was last modified.

                                                        */ - TrainingSpecification: TrainingSpecification | undefined; + LastModifiedTime?: Date; +} +export namespace DebugRuleEvaluationStatus { /** - *

                                                        Details about inference jobs that the algorithm runs.

                                                        + * @internal */ - InferenceSpecification?: InferenceSpecification; + export const filterSensitiveLog = (obj: DebugRuleEvaluationStatus): any => ({ + ...obj, + }); +} +export interface DeleteActionRequest { /** - *

                                                        Details about configurations for one or more training jobs that Amazon SageMaker runs to test the - * algorithm.

                                                        + *

                                                        The name of the action to delete.

                                                        */ - ValidationSpecification?: AlgorithmValidationSpecification; + ActionName: string | undefined; +} +export namespace DeleteActionRequest { /** - *

                                                        The current status of the algorithm.

                                                        + * @internal */ - AlgorithmStatus: AlgorithmStatus | string | undefined; + export const filterSensitiveLog = (obj: DeleteActionRequest): any => ({ + ...obj, + }); +} +export interface DeleteActionResponse { /** - *

                                                        Details about the current status of the algorithm.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the action.

                                                        */ - AlgorithmStatusDetails: AlgorithmStatusDetails | undefined; + ActionArn?: string; +} +export namespace DeleteActionResponse { /** - *

                                                        The product identifier of the algorithm.

                                                        + * @internal */ - ProductId?: string; + export const filterSensitiveLog = (obj: DeleteActionResponse): any => ({ + ...obj, + }); +} +export interface DeleteAlgorithmInput { /** - *

                                                        Whether the algorithm is certified to be listed in Amazon Web Services Marketplace.

                                                        + *

                                                        The name of the algorithm to delete.

                                                        */ - CertifyForMarketplace?: boolean; + AlgorithmName: string | undefined; } -export namespace DescribeAlgorithmOutput { +export namespace DeleteAlgorithmInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAlgorithmOutput): any => ({ + export const filterSensitiveLog = (obj: DeleteAlgorithmInput): any => ({ ...obj, }); } -export interface DescribeAppRequest { +export interface DeleteAppRequest { /** *

                                                        The domain ID.

                                                        */ @@ -5698,4228 +6936,4515 @@ export interface DescribeAppRequest { AppName: string | undefined; } -export namespace DescribeAppRequest { +export namespace DeleteAppRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAppRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteAppRequest): any => ({ ...obj, }); } -export interface DescribeAppResponse { +export interface DeleteAppImageConfigRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the app.

                                                        + *

                                                        The name of the AppImageConfig to delete.

                                                        */ - AppArn?: string; + AppImageConfigName: string | undefined; +} +export namespace DeleteAppImageConfigRequest { /** - *

                                                        The type of app.

                                                        + * @internal */ - AppType?: AppType | string; + export const filterSensitiveLog = (obj: DeleteAppImageConfigRequest): any => ({ + ...obj, + }); +} +export interface DeleteArtifactRequest { /** - *

                                                        The name of the app.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the artifact to delete.

                                                        */ - AppName?: string; + ArtifactArn?: string; /** - *

                                                        The domain ID.

                                                        + *

                                                        The URI of the source.

                                                        */ - DomainId?: string; + Source?: ArtifactSource; +} +export namespace DeleteArtifactRequest { /** - *

                                                        The user profile name.

                                                        + * @internal */ - UserProfileName?: string; + export const filterSensitiveLog = (obj: DeleteArtifactRequest): any => ({ + ...obj, + }); +} + +export interface DeleteArtifactResponse { + /** + *

                                                        The Amazon Resource Name (ARN) of the artifact.

                                                        + */ + ArtifactArn?: string; +} +export namespace DeleteArtifactResponse { /** - *

                                                        The status.

                                                        + * @internal */ - Status?: AppStatus | string; + export const filterSensitiveLog = (obj: DeleteArtifactResponse): any => ({ + ...obj, + }); +} +export interface DeleteAssociationRequest { /** - *

                                                        The timestamp of the last health check.

                                                        + *

                                                        The ARN of the source.

                                                        */ - LastHealthCheckTimestamp?: Date; + SourceArn: string | undefined; /** - *

                                                        The timestamp of the last user's activity. LastUserActivityTimestamp is also updated when SageMaker performs health checks without user activity. As a result, this value is set to the same value as LastHealthCheckTimestamp.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the destination.

                                                        */ - LastUserActivityTimestamp?: Date; + DestinationArn: string | undefined; +} +export namespace DeleteAssociationRequest { /** - *

                                                        The creation time.

                                                        + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: DeleteAssociationRequest): any => ({ + ...obj, + }); +} +export interface DeleteAssociationResponse { /** - *

                                                        The failure reason.

                                                        + *

                                                        The ARN of the source.

                                                        */ - FailureReason?: string; + SourceArn?: string; /** - *

                                                        The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the destination.

                                                        */ - ResourceSpec?: ResourceSpec; + DestinationArn?: string; } -export namespace DescribeAppResponse { +export namespace DeleteAssociationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAppResponse): any => ({ + export const filterSensitiveLog = (obj: DeleteAssociationResponse): any => ({ ...obj, }); } -export interface DescribeAppImageConfigRequest { +export interface DeleteCodeRepositoryInput { /** - *

                                                        The name of the AppImageConfig to describe.

                                                        + *

                                                        The name of the Git repository to delete.

                                                        */ - AppImageConfigName: string | undefined; + CodeRepositoryName: string | undefined; } -export namespace DescribeAppImageConfigRequest { +export namespace DeleteCodeRepositoryInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAppImageConfigRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteCodeRepositoryInput): any => ({ ...obj, }); } -export interface DescribeAppImageConfigResponse { +export interface DeleteContextRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the AppImageConfig.

                                                        + *

                                                        The name of the context to delete.

                                                        */ - AppImageConfigArn?: string; + ContextName: string | undefined; +} +export namespace DeleteContextRequest { /** - *

                                                        The name of the AppImageConfig.

                                                        + * @internal */ - AppImageConfigName?: string; + export const filterSensitiveLog = (obj: DeleteContextRequest): any => ({ + ...obj, + }); +} +export interface DeleteContextResponse { /** - *

                                                        When the AppImageConfig was created.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the context.

                                                        */ - CreationTime?: Date; + ContextArn?: string; +} +export namespace DeleteContextResponse { /** - *

                                                        When the AppImageConfig was last modified.

                                                        + * @internal */ - LastModifiedTime?: Date; + export const filterSensitiveLog = (obj: DeleteContextResponse): any => ({ + ...obj, + }); +} +export interface DeleteDataQualityJobDefinitionRequest { /** - *

                                                        The configuration of a KernelGateway app.

                                                        + *

                                                        The name of the data quality monitoring job definition to delete.

                                                        */ - KernelGatewayImageConfig?: KernelGatewayImageConfig; + JobDefinitionName: string | undefined; } -export namespace DescribeAppImageConfigResponse { +export namespace DeleteDataQualityJobDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAppImageConfigResponse): any => ({ + export const filterSensitiveLog = (obj: DeleteDataQualityJobDefinitionRequest): any => ({ ...obj, }); } -export interface DescribeArtifactRequest { +export interface DeleteDeviceFleetRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the artifact to describe.

                                                        + *

                                                        The name of the fleet to delete.

                                                        */ - ArtifactArn: string | undefined; + DeviceFleetName: string | undefined; } -export namespace DescribeArtifactRequest { +export namespace DeleteDeviceFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeArtifactRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteDeviceFleetRequest): any => ({ ...obj, }); } -export interface DescribeArtifactResponse { +export enum RetentionType { + Delete = "Delete", + Retain = "Retain", +} + +/** + *

                                                        The retention policy for data stored on an Amazon Elastic File System (EFS) volume.

                                                        + */ +export interface RetentionPolicy { /** - *

                                                        The name of the artifact.

                                                        + *

                                                        The default is Retain, which specifies to keep the data stored on the EFS volume.

                                                        + *

                                                        Specify Delete to delete the data stored on the EFS volume.

                                                        */ - ArtifactName?: string; + HomeEfsFileSystem?: RetentionType | string; +} +export namespace RetentionPolicy { /** - *

                                                        The Amazon Resource Name (ARN) of the artifact.

                                                        + * @internal */ - ArtifactArn?: string; + export const filterSensitiveLog = (obj: RetentionPolicy): any => ({ + ...obj, + }); +} + +export interface DeleteDomainRequest { + /** + *

                                                        The domain ID.

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

                                                        The source of the artifact.

                                                        + *

                                                        The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. + * By default, all resources are retained (not automatically deleted). + *

                                                        */ - Source?: ArtifactSource; + RetentionPolicy?: RetentionPolicy; +} +export namespace DeleteDomainRequest { /** - *

                                                        The type of the artifact.

                                                        + * @internal */ - ArtifactType?: string; + export const filterSensitiveLog = (obj: DeleteDomainRequest): any => ({ + ...obj, + }); +} +export interface DeleteEndpointInput { /** - *

                                                        A list of the artifact's properties.

                                                        + *

                                                        The name of the endpoint that you want to delete.

                                                        */ - Properties?: { [key: string]: string }; + EndpointName: string | undefined; +} +export namespace DeleteEndpointInput { /** - *

                                                        When the artifact was created.

                                                        + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: DeleteEndpointInput): any => ({ + ...obj, + }); +} +export interface DeleteEndpointConfigInput { /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        The name of the endpoint configuration that you want to delete.

                                                        */ - CreatedBy?: UserContext; + EndpointConfigName: string | undefined; +} +export namespace DeleteEndpointConfigInput { /** - *

                                                        When the artifact was last modified.

                                                        + * @internal */ - LastModifiedTime?: Date; + export const filterSensitiveLog = (obj: DeleteEndpointConfigInput): any => ({ + ...obj, + }); +} +export interface DeleteExperimentRequest { /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        The name of the experiment to delete.

                                                        */ - LastModifiedBy?: UserContext; + ExperimentName: string | undefined; +} + +export namespace DeleteExperimentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteExperimentRequest): any => ({ + ...obj, + }); +} +export interface DeleteExperimentResponse { /** - *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the experiment that is being deleted.

                                                        */ - MetadataProperties?: MetadataProperties; + ExperimentArn?: string; } -export namespace DescribeArtifactResponse { +export namespace DeleteExperimentResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeArtifactResponse): any => ({ + export const filterSensitiveLog = (obj: DeleteExperimentResponse): any => ({ ...obj, }); } -export interface DescribeAutoMLJobRequest { +export interface DeleteFeatureGroupRequest { /** - *

                                                        Requests information about an AutoML job using its unique name.

                                                        + *

                                                        The name of the FeatureGroup you want to delete. The name must be unique + * within an Amazon Web Services Region in an Amazon Web Services account.

                                                        */ - AutoMLJobName: string | undefined; + FeatureGroupName: string | undefined; } -export namespace DescribeAutoMLJobRequest { +export namespace DeleteFeatureGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAutoMLJobRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFeatureGroupRequest): any => ({ ...obj, }); } -/** - *

                                                        Provides information about the endpoint of the model deployment.

                                                        - */ -export interface ModelDeployResult { +export interface DeleteFlowDefinitionRequest { /** - *

                                                        The name of the endpoint to which the model has been deployed.

                                                        - * - *

                                                        If model deployment fails, this field is omitted from the response.

                                                        - *
                                                        + *

                                                        The name of the flow definition you are deleting.

                                                        */ - EndpointName?: string; + FlowDefinitionName: string | undefined; } -export namespace ModelDeployResult { +export namespace DeleteFlowDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModelDeployResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFlowDefinitionRequest): any => ({ ...obj, }); } -/** - *

                                                        The resolved attributes.

                                                        - */ -export interface ResolvedAttributes { - /** - *

                                                        Specifies a metric to minimize or maximize as the objective of a job.

                                                        - */ - AutoMLJobObjective?: AutoMLJobObjective; +export interface DeleteFlowDefinitionResponse {} +export namespace DeleteFlowDefinitionResponse { /** - *

                                                        The problem type.

                                                        + * @internal */ - ProblemType?: ProblemType | string; + export const filterSensitiveLog = (obj: DeleteFlowDefinitionResponse): any => ({ + ...obj, + }); +} +export interface DeleteHumanTaskUiRequest { /** - *

                                                        How long a job is allowed to run, or how many candidates a job is allowed to - * generate.

                                                        + *

                                                        The name of the human task user interface (work task template) you want to delete.

                                                        */ - CompletionCriteria?: AutoMLJobCompletionCriteria; + HumanTaskUiName: string | undefined; } -export namespace ResolvedAttributes { +export namespace DeleteHumanTaskUiRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResolvedAttributes): any => ({ + export const filterSensitiveLog = (obj: DeleteHumanTaskUiRequest): any => ({ ...obj, }); } -export interface DescribeAutoMLJobResponse { +export interface DeleteHumanTaskUiResponse {} + +export namespace DeleteHumanTaskUiResponse { /** - *

                                                        Returns the name of the AutoML job.

                                                        + * @internal */ - AutoMLJobName: string | undefined; + export const filterSensitiveLog = (obj: DeleteHumanTaskUiResponse): any => ({ + ...obj, + }); +} +export interface DeleteImageRequest { /** - *

                                                        Returns the ARN of the AutoML job.

                                                        + *

                                                        The name of the image to delete.

                                                        */ - AutoMLJobArn: string | undefined; + ImageName: string | undefined; +} +export namespace DeleteImageRequest { /** - *

                                                        Returns the input data configuration for the AutoML job..

                                                        + * @internal */ - InputDataConfig: AutoMLChannel[] | undefined; + export const filterSensitiveLog = (obj: DeleteImageRequest): any => ({ + ...obj, + }); +} + +export interface DeleteImageResponse {} +export namespace DeleteImageResponse { /** - *

                                                        Returns the job's output data config.

                                                        + * @internal */ - OutputDataConfig: AutoMLOutputDataConfig | undefined; + export const filterSensitiveLog = (obj: DeleteImageResponse): any => ({ + ...obj, + }); +} +export interface DeleteImageVersionRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services 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.

                                                        + *

                                                        The name of the image.

                                                        */ - RoleArn: string | undefined; + ImageName: string | undefined; /** - *

                                                        Returns the job's objective.

                                                        + *

                                                        The version to delete.

                                                        */ - AutoMLJobObjective?: AutoMLJobObjective; + Version: number | undefined; +} +export namespace DeleteImageVersionRequest { /** - *

                                                        Returns the job's problem type.

                                                        + * @internal */ - ProblemType?: ProblemType | string; + export const filterSensitiveLog = (obj: DeleteImageVersionRequest): any => ({ + ...obj, + }); +} + +export interface DeleteImageVersionResponse {} +export namespace DeleteImageVersionResponse { /** - *

                                                        Returns the configuration for the AutoML job.

                                                        + * @internal */ - AutoMLJobConfig?: AutoMLJobConfig; + export const filterSensitiveLog = (obj: DeleteImageVersionResponse): any => ({ + ...obj, + }); +} +export interface DeleteModelInput { /** - *

                                                        Returns the creation time of the AutoML job.

                                                        + *

                                                        The name of the model to delete.

                                                        */ - CreationTime: Date | undefined; + ModelName: string | undefined; +} +export namespace DeleteModelInput { /** - *

                                                        Returns the end time of the AutoML job.

                                                        + * @internal */ - EndTime?: Date; + export const filterSensitiveLog = (obj: DeleteModelInput): any => ({ + ...obj, + }); +} +export interface DeleteModelBiasJobDefinitionRequest { /** - *

                                                        Returns the job's last modified time.

                                                        + *

                                                        The name of the model bias job definition to delete.

                                                        */ - LastModifiedTime: Date | undefined; + JobDefinitionName: string | undefined; +} +export namespace DeleteModelBiasJobDefinitionRequest { /** - *

                                                        Returns the failure reason for an AutoML job, when applicable.

                                                        + * @internal */ - FailureReason?: string; + export const filterSensitiveLog = (obj: DeleteModelBiasJobDefinitionRequest): any => ({ + ...obj, + }); +} +export interface DeleteModelExplainabilityJobDefinitionRequest { /** - *

                                                        Returns a list of reasons for partial failures within an AutoML job.

                                                        + *

                                                        The name of the model explainability job definition to delete.

                                                        */ - PartialFailureReasons?: AutoMLPartialFailureReason[]; + JobDefinitionName: string | undefined; +} +export namespace DeleteModelExplainabilityJobDefinitionRequest { /** - *

                                                        Returns the job's best AutoMLCandidate.

                                                        + * @internal */ - BestCandidate?: AutoMLCandidate; + export const filterSensitiveLog = (obj: DeleteModelExplainabilityJobDefinitionRequest): any => ({ + ...obj, + }); +} +export interface DeleteModelPackageInput { /** - *

                                                        Returns the status of the AutoML job.

                                                        + *

                                                        The name or Amazon Resource Name (ARN) of the model package to delete.

                                                        + *

                                                        When you specify a name, the name must have 1 to 63 characters. Valid + * characters are a-z, A-Z, 0-9, and - (hyphen).

                                                        */ - AutoMLJobStatus: AutoMLJobStatus | string | undefined; + ModelPackageName: string | undefined; +} +export namespace DeleteModelPackageInput { /** - *

                                                        Returns the secondary status of the AutoML job.

                                                        + * @internal */ - AutoMLJobSecondaryStatus: AutoMLJobSecondaryStatus | string | undefined; + export const filterSensitiveLog = (obj: DeleteModelPackageInput): any => ({ + ...obj, + }); +} +export interface DeleteModelPackageGroupInput { /** - *

                                                        Indicates whether the output for an AutoML job generates candidate definitions - * only.

                                                        + *

                                                        The name of the model group to delete.

                                                        */ - GenerateCandidateDefinitionsOnly?: boolean; + ModelPackageGroupName: string | undefined; +} +export namespace DeleteModelPackageGroupInput { /** - *

                                                        Returns information on the job's artifacts found in - * AutoMLJobArtifacts.

                                                        + * @internal */ - AutoMLJobArtifacts?: AutoMLJobArtifacts; + export const filterSensitiveLog = (obj: DeleteModelPackageGroupInput): any => ({ + ...obj, + }); +} +export interface DeleteModelPackageGroupPolicyInput { /** - *

                                                        This contains ProblemType, AutoMLJobObjective, and - * CompletionCriteria. If you do not provide these values, they are - * auto-inferred. If you do provide them, the values used are the ones you provide.

                                                        + *

                                                        The name of the model group for which to delete the policy.

                                                        */ - ResolvedAttributes?: ResolvedAttributes; + ModelPackageGroupName: string | undefined; +} +export namespace DeleteModelPackageGroupPolicyInput { /** - *

                                                        Indicates whether the model was deployed automatically to an endpoint and the name of - * that endpoint if deployed automatically.

                                                        + * @internal */ - ModelDeployConfig?: ModelDeployConfig; + export const filterSensitiveLog = (obj: DeleteModelPackageGroupPolicyInput): any => ({ + ...obj, + }); +} +export interface DeleteModelQualityJobDefinitionRequest { /** - *

                                                        Provides information about endpoint for the model deployment.

                                                        + *

                                                        The name of the model quality monitoring job definition to delete.

                                                        */ - ModelDeployResult?: ModelDeployResult; + JobDefinitionName: string | undefined; } -export namespace DescribeAutoMLJobResponse { +export namespace DeleteModelQualityJobDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAutoMLJobResponse): any => ({ + export const filterSensitiveLog = (obj: DeleteModelQualityJobDefinitionRequest): any => ({ ...obj, }); } -export interface DescribeCodeRepositoryInput { +export interface DeleteMonitoringScheduleRequest { /** - *

                                                        The name of the Git repository to describe.

                                                        + *

                                                        The name of the monitoring schedule to delete.

                                                        */ - CodeRepositoryName: string | undefined; + MonitoringScheduleName: string | undefined; } -export namespace DescribeCodeRepositoryInput { +export namespace DeleteMonitoringScheduleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCodeRepositoryInput): any => ({ + export const filterSensitiveLog = (obj: DeleteMonitoringScheduleRequest): any => ({ ...obj, }); } -export interface DescribeCodeRepositoryOutput { +export interface DeleteNotebookInstanceInput { /** - *

                                                        The name of the Git repository.

                                                        + *

                                                        The name of the Amazon SageMaker notebook instance to delete.

                                                        */ - CodeRepositoryName: string | undefined; + NotebookInstanceName: string | undefined; +} +export namespace DeleteNotebookInstanceInput { /** - *

                                                        The Amazon Resource Name (ARN) of the Git repository.

                                                        + * @internal + */ + export const filterSensitiveLog = (obj: DeleteNotebookInstanceInput): any => ({ + ...obj, + }); +} + +export interface DeleteNotebookInstanceLifecycleConfigInput { + /** + *

                                                        The name of the lifecycle configuration to delete.

                                                        */ - CodeRepositoryArn: string | undefined; + NotebookInstanceLifecycleConfigName: string | undefined; +} +export namespace DeleteNotebookInstanceLifecycleConfigInput { /** - *

                                                        The date and time that the repository was created.

                                                        + * @internal */ - CreationTime: Date | undefined; + export const filterSensitiveLog = (obj: DeleteNotebookInstanceLifecycleConfigInput): any => ({ + ...obj, + }); +} +export interface DeletePipelineRequest { /** - *

                                                        The date and time that the repository was last changed.

                                                        + *

                                                        The name of the pipeline to delete.

                                                        */ - LastModifiedTime: Date | undefined; + PipelineName: 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 Amazon Web Services Secrets - * Manager secret that contains the credentials used to access the repository.

                                                        + *

                                                        A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * operation. An idempotent operation completes no more than one time.

                                                        */ - GitConfig?: GitConfig; + ClientRequestToken?: string; } -export namespace DescribeCodeRepositoryOutput { +export namespace DeletePipelineRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCodeRepositoryOutput): any => ({ + export const filterSensitiveLog = (obj: DeletePipelineRequest): any => ({ ...obj, }); } -export interface DescribeCompilationJobRequest { +export interface DeletePipelineResponse { /** - *

                                                        The name of the model compilation job that you want information about.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the pipeline to delete.

                                                        */ - CompilationJobName: string | undefined; + PipelineArn?: string; } -export namespace DescribeCompilationJobRequest { +export namespace DeletePipelineResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCompilationJobRequest): any => ({ + export const filterSensitiveLog = (obj: DeletePipelineResponse): any => ({ ...obj, }); } -/** - *

                                                        Provides information about the location that is configured for storing model - * artifacts.

                                                        - *

                                                        Model artifacts are the output that results from training a model, and typically - * consist of trained parameters, a model definition that describes how to compute - * inferences, and other metadata.

                                                        - */ -export interface ModelArtifacts { +export interface DeleteProjectInput { /** - *

                                                        The path of the S3 object that contains the model artifacts. For example, - * s3://bucket-name/keynameprefix/model.tar.gz.

                                                        + *

                                                        The name of the project to delete.

                                                        */ - S3ModelArtifacts: string | undefined; + ProjectName: string | undefined; } -export namespace ModelArtifacts { +export namespace DeleteProjectInput { /** * @internal */ - export const filterSensitiveLog = (obj: ModelArtifacts): any => ({ + export const filterSensitiveLog = (obj: DeleteProjectInput): any => ({ ...obj, }); } -/** - *

                                                        Provides information to verify the integrity of stored model artifacts.

                                                        - */ -export interface ModelDigests { +export interface DeleteStudioLifecycleConfigRequest { /** - *

                                                        Provides a hash value that uniquely identifies the stored model - * artifacts.

                                                        + *

                                                        The name of the Studio Lifecycle Configuration to delete.

                                                        */ - ArtifactDigest?: string; + StudioLifecycleConfigName: string | undefined; } -export namespace ModelDigests { +export namespace DeleteStudioLifecycleConfigRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModelDigests): any => ({ + export const filterSensitiveLog = (obj: DeleteStudioLifecycleConfigRequest): any => ({ ...obj, }); } -export interface DescribeCompilationJobResponse { +export interface DeleteTagsInput { /** - *

                                                        The name of the model compilation job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the resource whose tags you want to + * delete.

                                                        */ - CompilationJobName: string | undefined; + ResourceArn: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the model compilation job.

                                                        + *

                                                        An array or one or more tag keys to delete.

                                                        */ - CompilationJobArn: string | undefined; + TagKeys: string[] | undefined; +} +export namespace DeleteTagsInput { /** - *

                                                        The status of the model compilation job.

                                                        + * @internal */ - CompilationJobStatus: CompilationJobStatus | string | undefined; + export const filterSensitiveLog = (obj: DeleteTagsInput): any => ({ + ...obj, + }); +} + +export interface DeleteTagsOutput {} +export namespace DeleteTagsOutput { /** - *

                                                        The time when the model compilation job started the CompilationJob - * instances.

                                                        - *

                                                        You are billed for the time between this timestamp and the timestamp in the DescribeCompilationJobResponse$CompilationEndTime field. In Amazon CloudWatch Logs, - * the start time might be later than this time. That's because it takes time to download - * the compilation job, which depends on the size of the compilation job container.

                                                        + * @internal */ - CompilationStartTime?: Date; + export const filterSensitiveLog = (obj: DeleteTagsOutput): any => ({ + ...obj, + }); +} +export interface DeleteTrialRequest { /** - *

                                                        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 trial to delete.

                                                        */ - CompilationEndTime?: Date; + TrialName: string | undefined; +} +export namespace DeleteTrialRequest { /** - *

                                                        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.

                                                        + * @internal */ - StoppingCondition: StoppingCondition | undefined; + export const filterSensitiveLog = (obj: DeleteTrialRequest): any => ({ + ...obj, + }); +} +export interface DeleteTrialResponse { /** - *

                                                        The inference image to use when compiling a model. - * Specify an image only if the target device is a cloud instance.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the trial that is being deleted.

                                                        */ - InferenceImage?: string; + TrialArn?: string; +} +export namespace DeleteTrialResponse { /** - *

                                                        The time that the model compilation job was created.

                                                        + * @internal */ - CreationTime: Date | undefined; + export const filterSensitiveLog = (obj: DeleteTrialResponse): any => ({ + ...obj, + }); +} +export interface DeleteTrialComponentRequest { /** - *

                                                        The time that the status - * of - * the model compilation job was last modified.

                                                        + *

                                                        The name of the component to delete.

                                                        */ - LastModifiedTime: Date | undefined; + TrialComponentName: string | undefined; +} +export namespace DeleteTrialComponentRequest { /** - *

                                                        If a model compilation job failed, the reason it failed.

                                                        + * @internal */ - FailureReason: string | undefined; + export const filterSensitiveLog = (obj: DeleteTrialComponentRequest): any => ({ + ...obj, + }); +} +export interface DeleteTrialComponentResponse { /** - *

                                                        Information about the location in Amazon S3 that has been configured for storing the model - * artifacts used in the compilation job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the component is being deleted.

                                                        */ - ModelArtifacts: ModelArtifacts | undefined; + TrialComponentArn?: string; +} +export namespace DeleteTrialComponentResponse { /** - *

                                                        Provides a BLAKE2 hash value that identifies the compiled model artifacts in Amazon S3.

                                                        + * @internal */ - ModelDigests?: ModelDigests; + export const filterSensitiveLog = (obj: DeleteTrialComponentResponse): any => ({ + ...obj, + }); +} +export interface DeleteUserProfileRequest { /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes to perform the model - * compilation job.

                                                        + *

                                                        The domain ID.

                                                        */ - RoleArn: string | undefined; + DomainId: string | undefined; /** - *

                                                        Information about the location in Amazon S3 of the input model artifacts, the name and - * shape of the expected data inputs, and the framework in which the model was - * trained.

                                                        + *

                                                        The user profile name.

                                                        */ - InputConfig: InputConfig | undefined; + UserProfileName: string | undefined; +} +export namespace DeleteUserProfileRequest { /** - *

                                                        Information about the output location for the compiled model and the target device - * that the model runs on.

                                                        + * @internal */ - OutputConfig: OutputConfig | undefined; + export const filterSensitiveLog = (obj: DeleteUserProfileRequest): any => ({ + ...obj, + }); +} +export interface DeleteWorkforceRequest { /** - *

                                                        A VpcConfig object that specifies the VPC that you want your - * compilation job to connect to. Control access to your models by - * configuring the VPC. For more information, see Protect Compilation Jobs by Using an Amazon - * Virtual Private Cloud.

                                                        + *

                                                        The name of the workforce.

                                                        */ - VpcConfig?: NeoVpcConfig; + WorkforceName: string | undefined; } -export namespace DescribeCompilationJobResponse { +export namespace DeleteWorkforceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCompilationJobResponse): any => ({ + export const filterSensitiveLog = (obj: DeleteWorkforceRequest): any => ({ ...obj, }); } -export interface DescribeContextRequest { - /** - *

                                                        The name of the context to describe.

                                                        - */ - ContextName: string | undefined; -} +export interface DeleteWorkforceResponse {} -export namespace DescribeContextRequest { +export namespace DeleteWorkforceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeContextRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteWorkforceResponse): any => ({ ...obj, }); } -export interface DescribeContextResponse { +export interface DeleteWorkteamRequest { /** - *

                                                        The name of the context.

                                                        + *

                                                        The name of the work team to delete.

                                                        */ - ContextName?: string; + WorkteamName: string | undefined; +} +export namespace DeleteWorkteamRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the context.

                                                        + * @internal */ - ContextArn?: string; + export const filterSensitiveLog = (obj: DeleteWorkteamRequest): any => ({ + ...obj, + }); +} +export interface DeleteWorkteamResponse { /** - *

                                                        The source of the context.

                                                        + *

                                                        Returns true if the work team was successfully deleted; otherwise, + * returns false.

                                                        */ - Source?: ContextSource; + Success: boolean | undefined; +} +export namespace DeleteWorkteamResponse { /** - *

                                                        The type of the context.

                                                        + * @internal */ - ContextType?: string; + export const filterSensitiveLog = (obj: DeleteWorkteamResponse): any => ({ + ...obj, + }); +} +/** + *

                                                        Gets the Amazon EC2 Container Registry path of the docker image of the model that is hosted in this ProductionVariant.

                                                        + *

                                                        If you used the registry/repository[:tag] form to specify the image path + * of the primary container when you created the model hosted in this + * ProductionVariant, the path resolves to a path of the form + * registry/repository[@digest]. A digest is a hash value that identifies + * 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 description of the context.

                                                        + *

                                                        The image path you specified when you created the model.

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

                                                        A list of the context's properties.

                                                        + *

                                                        The specific digest path of the image hosted in this + * ProductionVariant.

                                                        */ - Properties?: { [key: string]: string }; + ResolvedImage?: string; /** - *

                                                        When the context was created.

                                                        + *

                                                        The date and time when the image path for the model resolved to the + * ResolvedImage + *

                                                        */ - CreationTime?: Date; + ResolutionTime?: Date; +} +export namespace DeployedImage { /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + * @internal */ - CreatedBy?: UserContext; + export const filterSensitiveLog = (obj: DeployedImage): any => ({ + ...obj, + }); +} +export interface DeregisterDevicesRequest { /** - *

                                                        When the context was last modified.

                                                        + *

                                                        The name of the fleet the devices belong to.

                                                        */ - LastModifiedTime?: Date; + DeviceFleetName: string | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        The unique IDs of the devices.

                                                        */ - LastModifiedBy?: UserContext; + DeviceNames: string[] | undefined; } -export namespace DescribeContextResponse { +export namespace DeregisterDevicesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeContextResponse): any => ({ + export const filterSensitiveLog = (obj: DeregisterDevicesRequest): any => ({ ...obj, }); } -export interface DescribeDataQualityJobDefinitionRequest { +export interface DescribeActionRequest { /** - *

                                                        The name of the data quality monitoring job definition to describe.

                                                        + *

                                                        The name of the action to describe.

                                                        */ - JobDefinitionName: string | undefined; + ActionName: string | undefined; } -export namespace DescribeDataQualityJobDefinitionRequest { +export namespace DescribeActionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDataQualityJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeActionRequest): any => ({ ...obj, }); } -export interface DescribeDataQualityJobDefinitionResponse { +export interface DescribeActionResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the data quality monitoring job definition.

                                                        + *

                                                        The name of the action.

                                                        */ - JobDefinitionArn: string | undefined; + ActionName?: string; /** - *

                                                        The name of the data quality monitoring job definition.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the action.

                                                        */ - JobDefinitionName: string | undefined; + ActionArn?: string; /** - *

                                                        The time that the data quality monitoring job definition was created.

                                                        + *

                                                        The source of the action.

                                                        */ - CreationTime: Date | undefined; + Source?: ActionSource; /** - *

                                                        The constraints and baselines for the data quality monitoring job definition.

                                                        + *

                                                        The type of the action.

                                                        */ - DataQualityBaselineConfig?: DataQualityBaselineConfig; + ActionType?: string; /** - *

                                                        Information about the container that runs the data quality monitoring job.

                                                        + *

                                                        The description of the action.

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

                                                        The list of inputs for the data quality monitoring job. Currently endpoints are - * supported.

                                                        + *

                                                        The status of the action.

                                                        */ - DataQualityJobInput: DataQualityJobInput | undefined; + Status?: ActionStatus | string; /** - *

                                                        The output configuration for monitoring jobs.

                                                        + *

                                                        A list of the action's properties.

                                                        */ - DataQualityJobOutputConfig: MonitoringOutputConfig | undefined; + Properties?: { [key: string]: string }; /** - *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + *

                                                        When the action was created.

                                                        */ - JobResources: MonitoringResources | undefined; + CreationTime?: Date; /** - *

                                                        The networking configuration for the data quality monitoring job.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - NetworkConfig?: MonitoringNetworkConfig; + CreatedBy?: UserContext; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to - * perform tasks on your behalf.

                                                        + *

                                                        When the action was last modified.

                                                        */ - RoleArn: string | undefined; + LastModifiedTime?: Date; /** - *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - StoppingCondition?: MonitoringStoppingCondition; -} + LastModifiedBy?: UserContext; -export namespace DescribeDataQualityJobDefinitionResponse { /** - * @internal + *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        */ - export const filterSensitiveLog = (obj: DescribeDataQualityJobDefinitionResponse): any => ({ - ...obj, - }); -} + MetadataProperties?: MetadataProperties; -export interface DescribeDeviceRequest { /** - *

                                                        Next token of device description.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the lineage group.

                                                        */ - NextToken?: string; + LineageGroupArn?: string; +} +export namespace DescribeActionResponse { /** - *

                                                        The unique ID of the device.

                                                        + * @internal */ - DeviceName: string | undefined; + export const filterSensitiveLog = (obj: DescribeActionResponse): any => ({ + ...obj, + }); +} +export interface DescribeAlgorithmInput { /** - *

                                                        The name of the fleet the devices belong to.

                                                        + *

                                                        The name of the algorithm to describe.

                                                        */ - DeviceFleetName: string | undefined; + AlgorithmName: string | undefined; } -export namespace DescribeDeviceRequest { +export namespace DescribeAlgorithmInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDeviceRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAlgorithmInput): any => ({ ...obj, }); } -/** - *

                                                        The model on the edge device.

                                                        - */ -export interface EdgeModel { +export interface DescribeAlgorithmOutput { /** - *

                                                        The name of the model.

                                                        + *

                                                        The name of the algorithm being described.

                                                        */ - ModelName: string | undefined; + AlgorithmName: string | undefined; /** - *

                                                        The model version.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the algorithm.

                                                        */ - ModelVersion: string | undefined; + AlgorithmArn: string | undefined; /** - *

                                                        The timestamp of the last data sample taken.

                                                        + *

                                                        A brief summary about the algorithm.

                                                        */ - LatestSampleTime?: Date; + AlgorithmDescription?: string; /** - *

                                                        The timestamp of the last inference that was made.

                                                        + *

                                                        A timestamp specifying when the algorithm was created.

                                                        */ - LatestInference?: Date; -} + CreationTime: Date | undefined; -export namespace EdgeModel { /** - * @internal + *

                                                        Details about training jobs run by this algorithm.

                                                        */ - export const filterSensitiveLog = (obj: EdgeModel): any => ({ - ...obj, - }); -} + TrainingSpecification: TrainingSpecification | undefined; -export interface DescribeDeviceResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the device.

                                                        + *

                                                        Details about inference jobs that the algorithm runs.

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

                                                        The unique identifier of the device.

                                                        + *

                                                        Details about configurations for one or more training jobs that Amazon SageMaker runs to test the + * algorithm.

                                                        */ - DeviceName: string | undefined; + ValidationSpecification?: AlgorithmValidationSpecification; /** - *

                                                        A description of the device.

                                                        + *

                                                        The current status of the algorithm.

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

                                                        The name of the fleet the device belongs to.

                                                        + *

                                                        Details about the current status of the algorithm.

                                                        */ - DeviceFleetName: string | undefined; + AlgorithmStatusDetails: AlgorithmStatusDetails | undefined; /** - *

                                                        The Amazon Web Services Internet of Things (IoT) object thing name associated with the device.

                                                        + *

                                                        The product identifier of the algorithm.

                                                        */ - IotThingName?: string; + ProductId?: string; /** - *

                                                        The timestamp of the last registration or de-reregistration.

                                                        + *

                                                        Whether the algorithm is certified to be listed in Amazon Web Services Marketplace.

                                                        */ - RegistrationTime: Date | undefined; + CertifyForMarketplace?: boolean; +} +export namespace DescribeAlgorithmOutput { /** - *

                                                        The last heartbeat received from the device.

                                                        + * @internal */ - LatestHeartbeat?: Date; + export const filterSensitiveLog = (obj: DescribeAlgorithmOutput): any => ({ + ...obj, + }); +} +export interface DescribeAppRequest { /** - *

                                                        Models on the device.

                                                        + *

                                                        The domain ID.

                                                        */ - Models?: EdgeModel[]; + DomainId: string | undefined; /** - *

                                                        The maximum number of models.

                                                        + *

                                                        The user profile name.

                                                        */ - MaxModels?: number; + UserProfileName: string | undefined; /** - *

                                                        The response from the last list when returning a list large enough to need tokening.

                                                        + *

                                                        The type of app.

                                                        */ - NextToken?: string; + AppType: AppType | string | undefined; /** - *

                                                        Edge Manager agent version.

                                                        + *

                                                        The name of the app.

                                                        */ - AgentVersion?: string; + AppName: string | undefined; } -export namespace DescribeDeviceResponse { +export namespace DescribeAppRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDeviceResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeAppRequest): any => ({ ...obj, }); } -export interface DescribeDeviceFleetRequest { +export interface DescribeAppResponse { /** - *

                                                        The name of the fleet.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the app.

                                                        */ - DeviceFleetName: string | undefined; -} + AppArn?: string; -export namespace DescribeDeviceFleetRequest { /** - * @internal + *

                                                        The type of app.

                                                        */ - export const filterSensitiveLog = (obj: DescribeDeviceFleetRequest): any => ({ - ...obj, - }); -} + AppType?: AppType | string; -export interface DescribeDeviceFleetResponse { /** - *

                                                        The name of the fleet.

                                                        + *

                                                        The name of the app.

                                                        */ - DeviceFleetName: string | undefined; + AppName?: string; /** - *

                                                        The The Amazon Resource Name (ARN) of the fleet.

                                                        + *

                                                        The domain ID.

                                                        */ - DeviceFleetArn: string | undefined; + DomainId?: string; /** - *

                                                        The output configuration for storing sampled data.

                                                        + *

                                                        The user profile name.

                                                        */ - OutputConfig: EdgeOutputConfig | undefined; + UserProfileName?: string; /** - *

                                                        A description of the fleet.

                                                        + *

                                                        The status.

                                                        */ - Description?: string; + Status?: AppStatus | string; /** - *

                                                        Timestamp of when the device fleet was created.

                                                        + *

                                                        The timestamp of the last health check.

                                                        */ - CreationTime: Date | undefined; + LastHealthCheckTimestamp?: Date; /** - *

                                                        Timestamp of when the device fleet was last updated.

                                                        + *

                                                        The timestamp of the last user's activity. LastUserActivityTimestamp is also updated when SageMaker performs health checks without user activity. As a result, this value is set to the same value as LastHealthCheckTimestamp.

                                                        */ - LastModifiedTime: Date | undefined; + LastUserActivityTimestamp?: Date; /** - *

                                                        The Amazon Resource Name (ARN) that has access to Amazon Web Services Internet of Things (IoT).

                                                        + *

                                                        The creation time.

                                                        */ - RoleArn?: string; + CreationTime?: Date; /** - *

                                                        The Amazon Resource Name (ARN) alias created in Amazon Web Services Internet of Things (IoT).

                                                        + *

                                                        The failure reason.

                                                        + */ + FailureReason?: string; + + /** + *

                                                        The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

                                                        */ - IotRoleAlias?: string; + ResourceSpec?: ResourceSpec; } -export namespace DescribeDeviceFleetResponse { +export namespace DescribeAppResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDeviceFleetResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeAppResponse): any => ({ ...obj, }); } -export interface DescribeDomainRequest { +export interface DescribeAppImageConfigRequest { /** - *

                                                        The domain ID.

                                                        + *

                                                        The name of the AppImageConfig to describe.

                                                        */ - DomainId: string | undefined; + AppImageConfigName: string | undefined; } -export namespace DescribeDomainRequest { +export namespace DescribeAppImageConfigRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDomainRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAppImageConfigRequest): any => ({ ...obj, }); } -export enum DomainStatus { - Delete_Failed = "Delete_Failed", - Deleting = "Deleting", - Failed = "Failed", - InService = "InService", - Pending = "Pending", - Update_Failed = "Update_Failed", - Updating = "Updating", -} - -export interface DescribeDomainResponse { - /** - *

                                                        The domain's Amazon Resource Name (ARN).

                                                        - */ - DomainArn?: string; - +export interface DescribeAppImageConfigResponse { /** - *

                                                        The domain ID.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AppImageConfig.

                                                        */ - DomainId?: string; + AppImageConfigArn?: string; /** - *

                                                        The domain name.

                                                        + *

                                                        The name of the AppImageConfig.

                                                        */ - DomainName?: string; + AppImageConfigName?: string; /** - *

                                                        The ID of the Amazon Elastic File System (EFS) managed by this Domain.

                                                        + *

                                                        When the AppImageConfig was created.

                                                        */ - HomeEfsFileSystemId?: string; + CreationTime?: Date; /** - *

                                                        The SSO managed application instance ID.

                                                        + *

                                                        When the AppImageConfig was last modified.

                                                        */ - SingleSignOnManagedApplicationInstanceId?: string; + LastModifiedTime?: Date; /** - *

                                                        The status.

                                                        + *

                                                        The configuration of a KernelGateway app.

                                                        */ - Status?: DomainStatus | string; + KernelGatewayImageConfig?: KernelGatewayImageConfig; +} +export namespace DescribeAppImageConfigResponse { /** - *

                                                        The creation time.

                                                        + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: DescribeAppImageConfigResponse): any => ({ + ...obj, + }); +} +export interface DescribeArtifactRequest { /** - *

                                                        The last modified time.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the artifact to describe.

                                                        */ - LastModifiedTime?: Date; + ArtifactArn: string | undefined; +} +export namespace DescribeArtifactRequest { /** - *

                                                        The failure reason.

                                                        + * @internal */ - FailureReason?: string; + export const filterSensitiveLog = (obj: DescribeArtifactRequest): any => ({ + ...obj, + }); +} +export interface DescribeArtifactResponse { /** - *

                                                        The domain's authentication mode.

                                                        + *

                                                        The name of the artifact.

                                                        */ - AuthMode?: AuthMode | string; + ArtifactName?: string; /** - *

                                                        Settings which are applied to UserProfiles in this domain if settings are not explicitly specified - * in a given UserProfile. - *

                                                        + *

                                                        The Amazon Resource Name (ARN) of the artifact.

                                                        */ - DefaultUserSettings?: UserSettings; + ArtifactArn?: string; /** - *

                                                        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

                                                          - *
                                                        • - *
                                                        + *

                                                        The source of the artifact.

                                                        */ - AppNetworkAccessType?: AppNetworkAccessType | string; + Source?: ArtifactSource; /** - * @deprecated - * - *

                                                        This member is deprecated and replaced with KmsKeyId.

                                                        + *

                                                        The type of the artifact.

                                                        */ - HomeEfsFileSystemKmsKeyId?: string; + ArtifactType?: string; /** - *

                                                        The VPC subnets that Studio uses for communication.

                                                        + *

                                                        A list of the artifact's properties.

                                                        */ - SubnetIds?: string[]; + Properties?: { [key: string]: string }; /** - *

                                                        The domain's URL.

                                                        + *

                                                        When the artifact was created.

                                                        */ - Url?: string; + CreationTime?: Date; /** - *

                                                        The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - VpcId?: string; + CreatedBy?: UserContext; /** - *

                                                        The Amazon Web Services KMS customer managed key used to encrypt - * the EFS volume attached to the domain.

                                                        + *

                                                        When the artifact was last modified.

                                                        */ - KmsKeyId?: string; + LastModifiedTime?: Date; /** - *

                                                        A collection of Domain settings.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - DomainSettings?: DomainSettings; + LastModifiedBy?: UserContext; /** - *

                                                        The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. - * Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

                                                        + *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        */ - AppSecurityGroupManagement?: AppSecurityGroupManagement | string; + MetadataProperties?: MetadataProperties; /** - *

                                                        The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the lineage group.

                                                        */ - SecurityGroupIdForDomainBoundary?: string; + LineageGroupArn?: string; } -export namespace DescribeDomainResponse { +export namespace DescribeArtifactResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDomainResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeArtifactResponse): any => ({ ...obj, }); } -export interface DescribeEdgePackagingJobRequest { +export interface DescribeAutoMLJobRequest { /** - *

                                                        The name of the edge packaging job.

                                                        + *

                                                        Requests information about an AutoML job using its unique name.

                                                        */ - EdgePackagingJobName: string | undefined; + AutoMLJobName: string | undefined; } -export namespace DescribeEdgePackagingJobRequest { +export namespace DescribeAutoMLJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEdgePackagingJobRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAutoMLJobRequest): any => ({ ...obj, }); } -export enum EdgePackagingJobStatus { - Completed = "COMPLETED", - Failed = "FAILED", - InProgress = "INPROGRESS", - Starting = "STARTING", - Stopped = "STOPPED", - Stopping = "STOPPING", +/** + *

                                                        Provides information about the endpoint of the model deployment.

                                                        + */ +export interface ModelDeployResult { + /** + *

                                                        The name of the endpoint to which the model has been deployed.

                                                        + * + *

                                                        If model deployment fails, this field is omitted from the response.

                                                        + *
                                                        + */ + EndpointName?: string; } -export enum EdgePresetDeploymentStatus { - Completed = "COMPLETED", - Failed = "FAILED", +export namespace ModelDeployResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelDeployResult): any => ({ + ...obj, + }); } /** - *

                                                        The output of a SageMaker Edge Manager deployable resource.

                                                        + *

                                                        The resolved attributes.

                                                        */ -export interface EdgePresetDeploymentOutput { - /** - *

                                                        The deployment type created by SageMaker Edge Manager. Currently only - * supports Amazon Web Services IoT Greengrass Version 2 components.

                                                        - */ - Type: EdgePresetDeploymentType | string | undefined; - +export interface ResolvedAttributes { /** - *

                                                        The Amazon Resource Name (ARN) of the generated deployable resource.

                                                        + *

                                                        Specifies a metric to minimize or maximize as the objective of a job.

                                                        */ - Artifact?: string; + AutoMLJobObjective?: AutoMLJobObjective; /** - *

                                                        The status of the deployable resource.

                                                        + *

                                                        The problem type.

                                                        */ - Status?: EdgePresetDeploymentStatus | string; + ProblemType?: ProblemType | string; /** - *

                                                        Returns a message describing the status of the deployed resource.

                                                        + *

                                                        How long a job is allowed to run, or how many candidates a job is allowed to + * generate.

                                                        */ - StatusMessage?: string; + CompletionCriteria?: AutoMLJobCompletionCriteria; } -export namespace EdgePresetDeploymentOutput { +export namespace ResolvedAttributes { /** * @internal */ - export const filterSensitiveLog = (obj: EdgePresetDeploymentOutput): any => ({ + export const filterSensitiveLog = (obj: ResolvedAttributes): any => ({ ...obj, }); } -export interface DescribeEdgePackagingJobResponse { +export interface DescribeAutoMLJobResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the edge packaging job.

                                                        + *

                                                        Returns the name of the AutoML job.

                                                        */ - EdgePackagingJobArn: string | undefined; + AutoMLJobName: string | undefined; /** - *

                                                        The name of the edge packaging job.

                                                        + *

                                                        Returns the ARN of the AutoML job.

                                                        */ - EdgePackagingJobName: string | undefined; + AutoMLJobArn: string | undefined; /** - *

                                                        The name of the SageMaker Neo compilation job that is used to locate model artifacts that are being packaged.

                                                        + *

                                                        Returns the input data configuration for the AutoML job..

                                                        */ - CompilationJobName?: string; + InputDataConfig: AutoMLChannel[] | undefined; /** - *

                                                        The name of the model.

                                                        + *

                                                        Returns the job's output data config.

                                                        */ - ModelName?: string; + OutputDataConfig: AutoMLOutputDataConfig | undefined; + + /** + *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services 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.

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

                                                        Returns the job's objective.

                                                        + */ + AutoMLJobObjective?: AutoMLJobObjective; + + /** + *

                                                        Returns the job's problem type.

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

                                                        Returns the configuration for the AutoML job.

                                                        + */ + AutoMLJobConfig?: AutoMLJobConfig; + + /** + *

                                                        Returns the creation time of the AutoML job.

                                                        + */ + CreationTime: Date | undefined; + + /** + *

                                                        Returns the end time of the AutoML job.

                                                        + */ + EndTime?: Date; /** - *

                                                        The version of the model.

                                                        + *

                                                        Returns the job's last modified time.

                                                        */ - ModelVersion?: string; + LastModifiedTime: Date | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact Neo.

                                                        + *

                                                        Returns the failure reason for an AutoML job, when applicable.

                                                        */ - RoleArn?: string; + FailureReason?: string; /** - *

                                                        The output configuration for the edge packaging job.

                                                        + *

                                                        Returns a list of reasons for partial failures within an AutoML job.

                                                        */ - OutputConfig?: EdgeOutputConfig; + PartialFailureReasons?: AutoMLPartialFailureReason[]; /** - *

                                                        The Amazon Web Services KMS key to use when encrypting the EBS volume the job run on.

                                                        + *

                                                        Returns the job's best AutoMLCandidate.

                                                        */ - ResourceKey?: string; + BestCandidate?: AutoMLCandidate; /** - *

                                                        The current status of the packaging job.

                                                        + *

                                                        Returns the status of the AutoML job.

                                                        */ - EdgePackagingJobStatus: EdgePackagingJobStatus | string | undefined; + AutoMLJobStatus: AutoMLJobStatus | string | undefined; /** - *

                                                        Returns a message describing the job status and error messages.

                                                        + *

                                                        Returns the secondary status of the AutoML job.

                                                        */ - EdgePackagingJobStatusMessage?: string; + AutoMLJobSecondaryStatus: AutoMLJobSecondaryStatus | string | undefined; /** - *

                                                        The timestamp of when the packaging job was created.

                                                        + *

                                                        Indicates whether the output for an AutoML job generates candidate definitions + * only.

                                                        */ - CreationTime?: Date; + GenerateCandidateDefinitionsOnly?: boolean; /** - *

                                                        The timestamp of when the job was last updated.

                                                        + *

                                                        Returns information on the job's artifacts found in + * AutoMLJobArtifacts.

                                                        */ - LastModifiedTime?: Date; + AutoMLJobArtifacts?: AutoMLJobArtifacts; /** - *

                                                        The Amazon Simple Storage (S3) URI where model artifacts ares stored.

                                                        + *

                                                        This contains ProblemType, AutoMLJobObjective, and + * CompletionCriteria. If you do not provide these values, they are + * auto-inferred. If you do provide them, the values used are the ones you provide.

                                                        */ - ModelArtifact?: string; + ResolvedAttributes?: ResolvedAttributes; /** - *

                                                        The signature document of files in the model artifact.

                                                        + *

                                                        Indicates whether the model was deployed automatically to an endpoint and the name of + * that endpoint if deployed automatically.

                                                        */ - ModelSignature?: string; + ModelDeployConfig?: ModelDeployConfig; /** - *

                                                        The output of a SageMaker Edge Manager deployable resource.

                                                        + *

                                                        Provides information about endpoint for the model deployment.

                                                        */ - PresetDeploymentOutput?: EdgePresetDeploymentOutput; + ModelDeployResult?: ModelDeployResult; } -export namespace DescribeEdgePackagingJobResponse { +export namespace DescribeAutoMLJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEdgePackagingJobResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeAutoMLJobResponse): any => ({ ...obj, }); } -export interface DescribeEndpointInput { +export interface DescribeCodeRepositoryInput { /** - *

                                                        The name of the endpoint.

                                                        + *

                                                        The name of the Git repository to describe.

                                                        */ - EndpointName: string | undefined; + CodeRepositoryName: string | undefined; } -export namespace DescribeEndpointInput { +export namespace DescribeCodeRepositoryInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEndpointInput): any => ({ + export const filterSensitiveLog = (obj: DescribeCodeRepositoryInput): any => ({ ...obj, }); } -export enum EndpointStatus { - CREATING = "Creating", - DELETING = "Deleting", - FAILED = "Failed", - IN_SERVICE = "InService", - OUT_OF_SERVICE = "OutOfService", - ROLLING_BACK = "RollingBack", - SYSTEM_UPDATING = "SystemUpdating", - UPDATING = "Updating", -} +export interface DescribeCodeRepositoryOutput { + /** + *

                                                        The name of the Git repository.

                                                        + */ + CodeRepositoryName: string | undefined; -export enum VariantStatus { - ACTIVATING_TRAFFIC = "ActivatingTraffic", - BAKING = "Baking", - CREATING = "Creating", - DELETING = "Deleting", - UPDATING = "Updating", -} + /** + *

                                                        The Amazon Resource Name (ARN) of the Git repository.

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

                                                        Describes the status of the production variant.

                                                        - */ -export interface ProductionVariantStatus { /** - *

                                                        The endpoint variant status which describes the current deployment stage status or operational status.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * Creating: Creating inference resources for the production variant.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Deleting: Terminating inference resources for the production variant.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Updating: Updating capacity for the production variant.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ActivatingTraffic: Turning on traffic for the production variant.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Baking: Waiting period to monitor the CloudWatch alarms in the - * automatic rollback configuration.

                                                          - *
                                                        • - *
                                                        + *

                                                        The date and time that the repository was created.

                                                        */ - Status: VariantStatus | string | undefined; + CreationTime: Date | undefined; /** - *

                                                        A message that describes the status of the production variant.

                                                        + *

                                                        The date and time that the repository was last changed.

                                                        */ - StatusMessage?: string; + LastModifiedTime: Date | undefined; /** - *

                                                        The start time of the current status change.

                                                        + *

                                                        Configuration details about the repository, including the URL where the repository is + * located, the default branch, and the Amazon Resource Name (ARN) of the Amazon Web Services Secrets + * Manager secret that contains the credentials used to access the repository.

                                                        */ - StartTime?: Date; + GitConfig?: GitConfig; } -export namespace ProductionVariantStatus { +export namespace DescribeCodeRepositoryOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ProductionVariantStatus): any => ({ + export const filterSensitiveLog = (obj: DescribeCodeRepositoryOutput): any => ({ + ...obj, + }); +} + +export interface DescribeCompilationJobRequest { + /** + *

                                                        The name of the model compilation job that you want information about.

                                                        + */ + CompilationJobName: string | undefined; +} + +export namespace DescribeCompilationJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeCompilationJobRequest): any => ({ ...obj, }); } /** - *

                                                        The production variant summary for a deployment when an endpoint is - * creating or updating with the - * CreateEndpoint - * - * or - * UpdateEndpoint - * operations. - * Describes the VariantStatus , weight and capacity for a production - * variant associated with an endpoint. - *

                                                        + *

                                                        Provides information about the location that is configured for storing model + * artifacts.

                                                        + *

                                                        Model artifacts are the output that results from training a model, and typically + * consist of trained parameters, a model definition that describes how to compute + * inferences, and other metadata.

                                                        */ -export interface PendingProductionVariantSummary { +export interface ModelArtifacts { /** - *

                                                        The name of the variant.

                                                        + *

                                                        The path of the S3 object that contains the model artifacts. For example, + * s3://bucket-name/keynameprefix/model.tar.gz.

                                                        */ - VariantName: string | undefined; + S3ModelArtifacts: string | undefined; +} +export namespace ModelArtifacts { /** - *

                                                        An array of DeployedImage objects that specify the Amazon EC2 - * Container Registry paths of the inference images deployed on instances of this - * ProductionVariant.

                                                        + * @internal */ - DeployedImages?: DeployedImage[]; + export const filterSensitiveLog = (obj: ModelArtifacts): any => ({ + ...obj, + }); +} +/** + *

                                                        Provides information to verify the integrity of stored model artifacts.

                                                        + */ +export interface ModelDigests { /** - *

                                                        The weight associated with the variant.

                                                        + *

                                                        Provides a hash value that uniquely identifies the stored model + * artifacts.

                                                        */ - CurrentWeight?: number; + ArtifactDigest?: string; +} +export namespace ModelDigests { /** - *

                                                        The requested weight for the variant in this deployment, as specified in the endpoint configuration - * for the endpoint. The value is taken from the request to the - * CreateEndpointConfig - * operation.

                                                        + * @internal */ - DesiredWeight?: number; + export const filterSensitiveLog = (obj: ModelDigests): any => ({ + ...obj, + }); +} +export interface DescribeCompilationJobResponse { /** - *

                                                        The number of instances associated with the variant.

                                                        + *

                                                        The name of the model compilation job.

                                                        */ - CurrentInstanceCount?: number; + CompilationJobName: string | undefined; /** - *

                                                        The number of instances requested in this deployment, as specified in the endpoint configuration - * for the endpoint. The value is taken from the request to the - * CreateEndpointConfig - * operation.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the model compilation job.

                                                        */ - DesiredInstanceCount?: number; + CompilationJobArn: string | undefined; /** - *

                                                        The type of instances associated with the variant.

                                                        + *

                                                        The status of the model compilation job.

                                                        */ - InstanceType?: ProductionVariantInstanceType | string; + CompilationJobStatus: CompilationJobStatus | string | 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 time when the model compilation job started the CompilationJob + * instances.

                                                        + *

                                                        You are billed for the time between this timestamp and the timestamp in the DescribeCompilationJobResponse$CompilationEndTime field. In Amazon CloudWatch Logs, + * the start time might be later than this time. That's because it takes time to download + * the compilation job, which depends on the size of the compilation job container.

                                                        */ - AcceleratorType?: ProductionVariantAcceleratorType | string; + CompilationStartTime?: Date; /** - *

                                                        The endpoint variant status which describes the current deployment stage status or operational status.

                                                        + *

                                                        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.

                                                        */ - VariantStatus?: ProductionVariantStatus[]; -} + CompilationEndTime?: Date; -export namespace PendingProductionVariantSummary { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: PendingProductionVariantSummary): any => ({ - ...obj, - }); -} + StoppingCondition: StoppingCondition | undefined; -/** - *

                                                        The summary of an in-progress deployment when an endpoint is creating or - * updating with a new endpoint configuration.

                                                        - */ -export interface PendingDeploymentSummary { /** - *

                                                        The name of the endpoint configuration used in the deployment.

                                                        + *

                                                        The inference image to use when compiling a model. + * Specify an image only if the target device is a cloud instance.

                                                        */ - EndpointConfigName: string | undefined; + InferenceImage?: string; /** - *

                                                        List of PendingProductionVariantSummary objects.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the versioned model package that was + * provided to SageMaker Neo when you initiated a compilation job.

                                                        */ - ProductionVariants?: PendingProductionVariantSummary[]; + ModelPackageVersionArn?: string; /** - *

                                                        The start time of the deployment.

                                                        + *

                                                        The time that the model compilation job was created.

                                                        */ - StartTime?: Date; -} + CreationTime: Date | undefined; -export namespace PendingDeploymentSummary { /** - * @internal + *

                                                        The time that the status + * of + * the model compilation job was last modified.

                                                        */ - export const filterSensitiveLog = (obj: PendingDeploymentSummary): any => ({ - ...obj, - }); -} + LastModifiedTime: Date | undefined; -/** - *

                                                        Describes weight and capacities for a production variant associated with an - * endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities - * API and the endpoint status is Updating, you get different desired and - * current values.

                                                        - */ -export interface ProductionVariantSummary { /** - *

                                                        The name of the variant.

                                                        + *

                                                        If a model compilation job failed, the reason it failed.

                                                        */ - VariantName: string | undefined; + FailureReason: 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.

                                                        + *

                                                        Information about the location in Amazon S3 that has been configured for storing the model + * artifacts used in the compilation job.

                                                        */ - DeployedImages?: DeployedImage[]; + ModelArtifacts: ModelArtifacts | undefined; /** - *

                                                        The weight associated with the variant.

                                                        + *

                                                        Provides a BLAKE2 hash value that identifies the compiled model artifacts in Amazon S3.

                                                        */ - CurrentWeight?: number; + ModelDigests?: ModelDigests; /** - *

                                                        The requested weight, as specified in the - * UpdateEndpointWeightsAndCapacities request.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes to perform the model + * compilation job.

                                                        */ - DesiredWeight?: number; + RoleArn: string | undefined; /** - *

                                                        The number of instances associated with the variant.

                                                        + *

                                                        Information about the location in Amazon S3 of the input model artifacts, the name and + * shape of the expected data inputs, and the framework in which the model was + * trained.

                                                        */ - CurrentInstanceCount?: number; + InputConfig: InputConfig | undefined; /** - *

                                                        The number of instances requested in the - * UpdateEndpointWeightsAndCapacities request.

                                                        + *

                                                        Information about the output location for the compiled model and the target device + * that the model runs on.

                                                        */ - DesiredInstanceCount?: number; + OutputConfig: OutputConfig | undefined; /** - *

                                                        The endpoint variant status which describes the current deployment stage status or operational status.

                                                        + *

                                                        A VpcConfig object that specifies the VPC that you want your + * compilation job to connect to. Control access to your models by + * configuring the VPC. For more information, see Protect Compilation Jobs by Using an Amazon + * Virtual Private Cloud.

                                                        */ - VariantStatus?: ProductionVariantStatus[]; + VpcConfig?: NeoVpcConfig; } -export namespace ProductionVariantSummary { +export namespace DescribeCompilationJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ProductionVariantSummary): any => ({ + export const filterSensitiveLog = (obj: DescribeCompilationJobResponse): any => ({ ...obj, }); } -export interface DescribeEndpointOutput { +export interface DescribeContextRequest { /** - *

                                                        Name of the endpoint.

                                                        + *

                                                        The name of the context to describe.

                                                        */ - EndpointName: string | undefined; + ContextName: string | undefined; +} +export namespace DescribeContextRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the endpoint.

                                                        + * @internal */ - EndpointArn: string | undefined; + export const filterSensitiveLog = (obj: DescribeContextRequest): any => ({ + ...obj, + }); +} +export interface DescribeContextResponse { /** - *

                                                        The name of the endpoint configuration associated with this endpoint.

                                                        + *

                                                        The name of the context.

                                                        */ - EndpointConfigName: string | undefined; + ContextName?: string; /** - *

                                                        An array of ProductionVariantSummary objects, one for each model - * hosted behind this endpoint.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the context.

                                                        */ - ProductionVariants?: ProductionVariantSummary[]; + ContextArn?: string; /** - *

                                                        + *

                                                        The source of the context.

                                                        */ - DataCaptureConfig?: DataCaptureConfigSummary; + Source?: ContextSource; /** - *

                                                        The status of the endpoint.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * OutOfService: Endpoint is not available to take incoming - * requests.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Creating: CreateEndpoint is executing.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * SystemUpdating: Endpoint is undergoing maintenance and cannot be - * updated or deleted or re-scaled until it has completed. This maintenance - * operation does not change any customer-specified values such as VPC config, KMS - * encryption, model, instance type, or instance count.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * RollingBack: Endpoint fails to scale up or down or change its - * variant weight and is in the process of rolling back to its previous - * configuration. Once the rollback completes, endpoint returns to an - * InService status. This transitional status only applies to an - * endpoint that has autoscaling enabled and is undergoing variant weight or - * capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called - * explicitly.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * InService: Endpoint is available to process incoming - * requests.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Deleting: DeleteEndpoint is executing.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Failed: Endpoint could not be created, updated, or re-scaled. Use - * DescribeEndpointOutput$FailureReason for information about - * the failure. DeleteEndpoint is the only operation that can be - * performed on a failed endpoint.

                                                          - *
                                                        • - *
                                                        + *

                                                        The type of the context.

                                                        */ - EndpointStatus: EndpointStatus | string | undefined; + ContextType?: string; /** - *

                                                        If the status of the endpoint is Failed, the reason why it failed. - *

                                                        + *

                                                        The description of the context.

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

                                                        A timestamp that shows when the endpoint was created.

                                                        + *

                                                        A list of the context's properties.

                                                        */ - CreationTime: Date | undefined; + Properties?: { [key: string]: string }; /** - *

                                                        A timestamp that shows when the endpoint was last modified.

                                                        + *

                                                        When the context was created.

                                                        */ - LastModifiedTime: Date | undefined; + CreationTime?: Date; /** - *

                                                        The most recent deployment configuration for the endpoint.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - LastDeploymentConfig?: DeploymentConfig; + CreatedBy?: UserContext; /** - *

                                                        Returns the description of an endpoint configuration created - * using the - * CreateEndpointConfig - * API.

                                                        + *

                                                        When the context was last modified.

                                                        */ - AsyncInferenceConfig?: AsyncInferenceConfig; + LastModifiedTime?: Date; /** - *

                                                        Returns the summary of an in-progress deployment. This field is only returned when the - * endpoint is creating or updating with a new endpoint configuration.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - PendingDeploymentSummary?: PendingDeploymentSummary; + LastModifiedBy?: UserContext; + + /** + *

                                                        The Amazon Resource Name (ARN) of the lineage group.

                                                        + */ + LineageGroupArn?: string; } -export namespace DescribeEndpointOutput { +export namespace DescribeContextResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEndpointOutput): any => ({ + export const filterSensitiveLog = (obj: DescribeContextResponse): any => ({ ...obj, }); } -export interface DescribeEndpointConfigInput { +export interface DescribeDataQualityJobDefinitionRequest { /** - *

                                                        The name of the endpoint configuration.

                                                        + *

                                                        The name of the data quality monitoring job definition to describe.

                                                        */ - EndpointConfigName: string | undefined; + JobDefinitionName: string | undefined; } -export namespace DescribeEndpointConfigInput { +export namespace DescribeDataQualityJobDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEndpointConfigInput): any => ({ + export const filterSensitiveLog = (obj: DescribeDataQualityJobDefinitionRequest): any => ({ ...obj, }); } -export interface DescribeEndpointConfigOutput { +export interface DescribeDataQualityJobDefinitionResponse { /** - *

                                                        Name of the Amazon SageMaker endpoint configuration.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the data quality monitoring job definition.

                                                        */ - EndpointConfigName: string | undefined; + JobDefinitionArn: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the endpoint configuration.

                                                        + *

                                                        The name of the data quality monitoring job definition.

                                                        */ - EndpointConfigArn: string | undefined; + JobDefinitionName: string | undefined; /** - *

                                                        An array of ProductionVariant objects, one for each model that you - * want to host at this endpoint.

                                                        + *

                                                        The time that the data quality monitoring job definition was created.

                                                        */ - ProductionVariants: ProductionVariant[] | undefined; + CreationTime: Date | undefined; /** - *

                                                        + *

                                                        The constraints and baselines for the data quality monitoring job definition.

                                                        */ - DataCaptureConfig?: DataCaptureConfig; + DataQualityBaselineConfig?: DataQualityBaselineConfig; /** - *

                                                        Amazon Web Services KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage - * volume attached to the instance.

                                                        + *

                                                        Information about the container that runs the data quality monitoring job.

                                                        */ - KmsKeyId?: string; + DataQualityAppSpecification: DataQualityAppSpecification | undefined; /** - *

                                                        A timestamp that shows when the endpoint configuration was created.

                                                        + *

                                                        The list of inputs for the data quality monitoring job. Currently endpoints are + * supported.

                                                        */ - CreationTime: Date | undefined; + DataQualityJobInput: DataQualityJobInput | undefined; /** - *

                                                        Returns the description of an endpoint configuration created using the - * - * CreateEndpointConfig - * API.

                                                        + *

                                                        The output configuration for monitoring jobs.

                                                        */ - AsyncInferenceConfig?: AsyncInferenceConfig; + DataQualityJobOutputConfig: MonitoringOutputConfig | undefined; + + /** + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + */ + JobResources: MonitoringResources | undefined; + + /** + *

                                                        The networking configuration for the data quality monitoring job.

                                                        + */ + NetworkConfig?: MonitoringNetworkConfig; + + /** + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to + * perform tasks on your behalf.

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

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + */ + StoppingCondition?: MonitoringStoppingCondition; } -export namespace DescribeEndpointConfigOutput { +export namespace DescribeDataQualityJobDefinitionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEndpointConfigOutput): any => ({ + export const filterSensitiveLog = (obj: DescribeDataQualityJobDefinitionResponse): any => ({ ...obj, }); } -export interface DescribeExperimentRequest { +export interface DescribeDeviceRequest { /** - *

                                                        The name of the experiment to describe.

                                                        + *

                                                        Next token of device description.

                                                        */ - ExperimentName: string | undefined; + NextToken?: string; + + /** + *

                                                        The unique ID of the device.

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

                                                        The name of the fleet the devices belong to.

                                                        + */ + DeviceFleetName: string | undefined; } -export namespace DescribeExperimentRequest { +export namespace DescribeDeviceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeExperimentRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeDeviceRequest): any => ({ ...obj, }); } /** - *

                                                        The source of the experiment.

                                                        + *

                                                        The model on the edge device.

                                                        */ -export interface ExperimentSource { +export interface EdgeModel { /** - *

                                                        The Amazon Resource Name (ARN) of the source.

                                                        + *

                                                        The name of the model.

                                                        */ - SourceArn: string | undefined; + ModelName: string | undefined; /** - *

                                                        The source type.

                                                        + *

                                                        The model version.

                                                        */ - SourceType?: string; -} + ModelVersion: string | undefined; -export namespace ExperimentSource { /** - * @internal + *

                                                        The timestamp of the last data sample taken.

                                                        */ - export const filterSensitiveLog = (obj: ExperimentSource): any => ({ - ...obj, - }); -} + LatestSampleTime?: Date; -export interface DescribeExperimentResponse { /** - *

                                                        The name of the experiment.

                                                        + *

                                                        The timestamp of the last inference that was made.

                                                        */ - ExperimentName?: string; + LatestInference?: Date; +} +export namespace EdgeModel { /** - *

                                                        The Amazon Resource Name (ARN) of the experiment.

                                                        + * @internal */ - ExperimentArn?: string; + export const filterSensitiveLog = (obj: EdgeModel): any => ({ + ...obj, + }); +} +export interface DescribeDeviceResponse { /** - *

                                                        The name of the experiment as displayed. If DisplayName isn't specified, - * ExperimentName is displayed.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the device.

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

                                                        The ARN of the source and, optionally, the type.

                                                        + *

                                                        The unique identifier of the device.

                                                        */ - Source?: ExperimentSource; + DeviceName: string | undefined; /** - *

                                                        The description of the experiment.

                                                        + *

                                                        A description of the device.

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

                                                        When the experiment was created.

                                                        + *

                                                        The name of the fleet the device belongs to.

                                                        */ - CreationTime?: Date; + DeviceFleetName: string | undefined; /** - *

                                                        Who created the experiment.

                                                        + *

                                                        The Amazon Web Services Internet of Things (IoT) object thing name associated with the device.

                                                        */ - CreatedBy?: UserContext; + IotThingName?: string; /** - *

                                                        When the experiment was last modified.

                                                        + *

                                                        The timestamp of the last registration or de-reregistration.

                                                        */ - LastModifiedTime?: Date; + RegistrationTime: Date | undefined; /** - *

                                                        Who last modified the experiment.

                                                        + *

                                                        The last heartbeat received from the device.

                                                        */ - LastModifiedBy?: UserContext; -} + LatestHeartbeat?: Date; -export namespace DescribeExperimentResponse { /** - * @internal + *

                                                        Models on the device.

                                                        */ - export const filterSensitiveLog = (obj: DescribeExperimentResponse): any => ({ - ...obj, - }); -} + Models?: EdgeModel[]; -export interface DescribeFeatureGroupRequest { /** - *

                                                        The name of the FeatureGroup you want described.

                                                        + *

                                                        The maximum number of models.

                                                        */ - FeatureGroupName: string | undefined; + MaxModels?: number; /** - *

                                                        A token to resume pagination of the list of Features - * (FeatureDefinitions). 2,500 Features are returned by - * default.

                                                        + *

                                                        The response from the last list when returning a list large enough to need tokening.

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

                                                        Edge Manager agent version.

                                                        + */ + AgentVersion?: string; } -export namespace DescribeFeatureGroupRequest { +export namespace DescribeDeviceResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFeatureGroupRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeDeviceResponse): any => ({ ...obj, }); } -export enum FeatureGroupStatus { - CREATED = "Created", - CREATE_FAILED = "CreateFailed", - CREATING = "Creating", - DELETE_FAILED = "DeleteFailed", - DELETING = "Deleting", -} - -export enum OfflineStoreStatusValue { - ACTIVE = "Active", - BLOCKED = "Blocked", - DISABLED = "Disabled", -} - -/** - *

                                                        The status of OfflineStore.

                                                        - */ -export interface OfflineStoreStatus { - /** - *

                                                        An OfflineStore status.

                                                        - */ - Status: OfflineStoreStatusValue | string | undefined; - +export interface DescribeDeviceFleetRequest { /** - *

                                                        The justification for why the OfflineStoreStatus is Blocked (if applicable).

                                                        + *

                                                        The name of the fleet.

                                                        */ - BlockedReason?: string; + DeviceFleetName: string | undefined; } -export namespace OfflineStoreStatus { +export namespace DescribeDeviceFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: OfflineStoreStatus): any => ({ + export const filterSensitiveLog = (obj: DescribeDeviceFleetRequest): any => ({ ...obj, }); } -export interface DescribeFeatureGroupResponse { +export interface DescribeDeviceFleetResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the FeatureGroup.

                                                        + *

                                                        The name of the fleet.

                                                        */ - FeatureGroupArn: string | undefined; + DeviceFleetName: string | undefined; /** - *

                                                        he name of the FeatureGroup.

                                                        + *

                                                        The The Amazon Resource Name (ARN) of the fleet.

                                                        */ - FeatureGroupName: string | undefined; + DeviceFleetArn: string | undefined; /** - *

                                                        The name of the Feature used for RecordIdentifier, whose value - * uniquely identifies a record stored in the feature store.

                                                        + *

                                                        The output configuration for storing sampled data.

                                                        */ - RecordIdentifierFeatureName: string | undefined; + OutputConfig: EdgeOutputConfig | undefined; /** - *

                                                        The name of the feature that stores the EventTime of a Record in a - * FeatureGroup.

                                                        - *

                                                        An EventTime is a point in time when a new event occurs that - * corresponds to the creation or update of a Record in a - * FeatureGroup. All Records in the FeatureGroup - * have a corresponding EventTime.

                                                        + *

                                                        A description of the fleet.

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

                                                        A list of the Features in the FeatureGroup. - * Each feature is defined by a FeatureName and FeatureType.

                                                        + *

                                                        Timestamp of when the device fleet was created.

                                                        */ - FeatureDefinitions: FeatureDefinition[] | undefined; + CreationTime: Date | undefined; /** - *

                                                        A timestamp indicating when SageMaker created the FeatureGroup.

                                                        + *

                                                        Timestamp of when the device fleet was last updated.

                                                        */ - CreationTime: Date | undefined; + LastModifiedTime: Date | undefined; /** - *

                                                        The configuration for the OnlineStore.

                                                        + *

                                                        The Amazon Resource Name (ARN) that has access to Amazon Web Services Internet of Things (IoT).

                                                        */ - OnlineStoreConfig?: OnlineStoreConfig; + RoleArn?: string; /** - *

                                                        The configuration of the OfflineStore, inducing the S3 location of the - * OfflineStore, Amazon Web Services Glue or Amazon Web Services Hive data catalogue configurations, and the - * security configuration.

                                                        + *

                                                        The Amazon Resource Name (ARN) alias created in Amazon Web Services Internet of Things (IoT).

                                                        */ - OfflineStoreConfig?: OfflineStoreConfig; + IotRoleAlias?: string; +} +export namespace DescribeDeviceFleetResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the - * OfflineStore if an OfflineStoreConfig is provided.

                                                        + * @internal */ - RoleArn?: string; + export const filterSensitiveLog = (obj: DescribeDeviceFleetResponse): any => ({ + ...obj, + }); +} +export interface DescribeDomainRequest { /** - *

                                                        The status of the feature group.

                                                        + *

                                                        The domain ID.

                                                        */ - FeatureGroupStatus?: FeatureGroupStatus | string; + DomainId: string | undefined; +} +export namespace DescribeDomainRequest { /** - *

                                                        The status of the OfflineStore. Notifies you if replicating data into the - * OfflineStore has failed. Returns either: Active or - * Blocked - *

                                                        + * @internal */ - OfflineStoreStatus?: OfflineStoreStatus; + export const filterSensitiveLog = (obj: DescribeDomainRequest): any => ({ + ...obj, + }); +} + +export enum DomainStatus { + Delete_Failed = "Delete_Failed", + Deleting = "Deleting", + Failed = "Failed", + InService = "InService", + Pending = "Pending", + Update_Failed = "Update_Failed", + Updating = "Updating", +} +export interface DescribeDomainResponse { /** - *

                                                        The reason that the FeatureGroup failed to be replicated in the - * OfflineStore. This is failure can occur because:

                                                        - *
                                                          - *
                                                        • - *

                                                          The FeatureGroup could not be created in the - * OfflineStore.

                                                          - *
                                                        • - *
                                                        • - *

                                                          The FeatureGroup could not be deleted from the - * OfflineStore.

                                                          - *
                                                        • - *
                                                        + *

                                                        The domain's Amazon Resource Name (ARN).

                                                        */ - FailureReason?: string; + DomainArn?: string; /** - *

                                                        A free form description of the feature group.

                                                        + *

                                                        The domain ID.

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

                                                        A token to resume pagination of the list of Features - * (FeatureDefinitions).

                                                        + *

                                                        The domain name.

                                                        */ - NextToken: string | undefined; -} + DomainName?: string; + + /** + *

                                                        The ID of the Amazon Elastic File System (EFS) managed by this Domain.

                                                        + */ + HomeEfsFileSystemId?: string; -export namespace DescribeFeatureGroupResponse { /** - * @internal + *

                                                        The SSO managed application instance ID.

                                                        */ - export const filterSensitiveLog = (obj: DescribeFeatureGroupResponse): any => ({ - ...obj, - }); -} + SingleSignOnManagedApplicationInstanceId?: string; -export interface DescribeFlowDefinitionRequest { /** - *

                                                        The name of the flow definition.

                                                        + *

                                                        The status.

                                                        */ - FlowDefinitionName: string | undefined; -} + Status?: DomainStatus | string; -export namespace DescribeFlowDefinitionRequest { /** - * @internal + *

                                                        The creation time.

                                                        */ - export const filterSensitiveLog = (obj: DescribeFlowDefinitionRequest): any => ({ - ...obj, - }); -} + CreationTime?: Date; -export enum FlowDefinitionStatus { - ACTIVE = "Active", - DELETING = "Deleting", - FAILED = "Failed", - INITIALIZING = "Initializing", -} + /** + *

                                                        The last modified time.

                                                        + */ + LastModifiedTime?: Date; -export interface DescribeFlowDefinitionResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the flow defintion.

                                                        + *

                                                        The failure reason.

                                                        */ - FlowDefinitionArn: string | undefined; + FailureReason?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the flow definition.

                                                        + *

                                                        The domain's authentication mode.

                                                        */ - FlowDefinitionName: string | undefined; + AuthMode?: AuthMode | string; /** - *

                                                        The status of the flow definition. Valid values are listed below.

                                                        + *

                                                        Settings which are applied to UserProfiles in this domain if settings are not explicitly specified + * in a given UserProfile. + *

                                                        */ - FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; + DefaultUserSettings?: UserSettings; /** - *

                                                        The timestamp when the flow definition was created.

                                                        + *

                                                        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

                                                          + *
                                                        • + *
                                                        */ - CreationTime: Date | undefined; + AppNetworkAccessType?: AppNetworkAccessType | string; /** - *

                                                        Container for configuring the source of human task requests. Used to specify if - * Amazon Rekognition or Amazon Textract is used as an integration source.

                                                        + * @deprecated + * + *

                                                        This member is deprecated and replaced with KmsKeyId.

                                                        */ - HumanLoopRequestSource?: HumanLoopRequestSource; + HomeEfsFileSystemKmsKeyId?: string; /** - *

                                                        An object containing information about what triggers a human review workflow.

                                                        + *

                                                        The VPC subnets that Studio uses for communication.

                                                        */ - HumanLoopActivationConfig?: HumanLoopActivationConfig; + SubnetIds?: string[]; /** - *

                                                        An object containing information about who works on the task, the workforce task price, and other task details.

                                                        + *

                                                        The domain's URL.

                                                        */ - HumanLoopConfig: HumanLoopConfig | undefined; + Url?: string; /** - *

                                                        An object containing information about the output file.

                                                        + *

                                                        The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

                                                        */ - OutputConfig: FlowDefinitionOutputConfig | undefined; + VpcId?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) execution role for the flow definition.

                                                        + *

                                                        The Amazon Web Services KMS customer managed key used to encrypt + * the EFS volume attached to the domain.

                                                        */ - RoleArn: string | undefined; + KmsKeyId?: string; /** - *

                                                        The reason your flow definition failed.

                                                        + *

                                                        A collection of Domain settings.

                                                        */ - FailureReason?: string; -} + DomainSettings?: DomainSettings; -export namespace DescribeFlowDefinitionResponse { /** - * @internal + *

                                                        The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. + * Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

                                                        */ - export const filterSensitiveLog = (obj: DescribeFlowDefinitionResponse): any => ({ - ...obj, - }); -} + AppSecurityGroupManagement?: AppSecurityGroupManagement | string; -export interface DescribeHumanTaskUiRequest { /** - *

                                                        The name of the human task user interface - * (worker task template) you want information about.

                                                        + *

                                                        The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.

                                                        */ - HumanTaskUiName: string | undefined; + SecurityGroupIdForDomainBoundary?: string; } -export namespace DescribeHumanTaskUiRequest { +export namespace DescribeDomainResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHumanTaskUiRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeDomainResponse): any => ({ ...obj, }); } -export enum HumanTaskUiStatus { - ACTIVE = "Active", - DELETING = "Deleting", -} - -/** - *

                                                        Container for user interface template information.

                                                        - */ -export interface UiTemplateInfo { - /** - *

                                                        The URL for the user interface template.

                                                        - */ - Url?: string; - +export interface DescribeEdgePackagingJobRequest { /** - *

                                                        The SHA-256 digest of the contents of the template.

                                                        + *

                                                        The name of the edge packaging job.

                                                        */ - ContentSha256?: string; + EdgePackagingJobName: string | undefined; } -export namespace UiTemplateInfo { +export namespace DescribeEdgePackagingJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UiTemplateInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeEdgePackagingJobRequest): any => ({ ...obj, }); } -export interface DescribeHumanTaskUiResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the human task user interface (worker task template).

                                                        - */ - HumanTaskUiArn: string | undefined; +export enum EdgePackagingJobStatus { + Completed = "COMPLETED", + Failed = "FAILED", + InProgress = "INPROGRESS", + Starting = "STARTING", + Stopped = "STOPPED", + Stopping = "STOPPING", +} + +export enum EdgePresetDeploymentStatus { + Completed = "COMPLETED", + Failed = "FAILED", +} +/** + *

                                                        The output of a SageMaker Edge Manager deployable resource.

                                                        + */ +export interface EdgePresetDeploymentOutput { /** - *

                                                        The name of the human task user interface (worker task template).

                                                        + *

                                                        The deployment type created by SageMaker Edge Manager. Currently only + * supports Amazon Web Services IoT Greengrass Version 2 components.

                                                        */ - HumanTaskUiName: string | undefined; + Type: EdgePresetDeploymentType | string | undefined; /** - *

                                                        The status of the human task user interface (worker task template). Valid values are listed below.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the generated deployable resource.

                                                        */ - HumanTaskUiStatus?: HumanTaskUiStatus | string; + Artifact?: string; /** - *

                                                        The timestamp when the human task user interface was created.

                                                        + *

                                                        The status of the deployable resource.

                                                        */ - CreationTime: Date | undefined; + Status?: EdgePresetDeploymentStatus | string; /** - *

                                                        Container for user interface template information.

                                                        + *

                                                        Returns a message describing the status of the deployed resource.

                                                        */ - UiTemplate: UiTemplateInfo | undefined; + StatusMessage?: string; } -export namespace DescribeHumanTaskUiResponse { +export namespace EdgePresetDeploymentOutput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHumanTaskUiResponse): any => ({ + export const filterSensitiveLog = (obj: EdgePresetDeploymentOutput): any => ({ ...obj, }); } -export interface DescribeHyperParameterTuningJobRequest { +export interface DescribeEdgePackagingJobResponse { /** - *

                                                        The name of the tuning job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the edge packaging job.

                                                        */ - HyperParameterTuningJobName: string | undefined; -} + EdgePackagingJobArn: string | undefined; -export namespace DescribeHyperParameterTuningJobRequest { /** - * @internal + *

                                                        The name of the edge packaging job.

                                                        */ - export const filterSensitiveLog = (obj: DescribeHyperParameterTuningJobRequest): any => ({ - ...obj, - }); -} + EdgePackagingJobName: string | undefined; -/** - *

                                                        Shows the final value for the - * objective - * metric for a training job that was launched by a hyperparameter - * tuning job. You define the objective metric in the - * HyperParameterTuningJobObjective parameter of HyperParameterTuningJobConfig.

                                                        - */ -export interface FinalHyperParameterTuningJobObjectiveMetric { /** - *

                                                        Whether to - * minimize - * or maximize the objective metric. Valid values are Minimize and - * Maximize.

                                                        + *

                                                        The name of the SageMaker Neo compilation job that is used to locate model artifacts that are being packaged.

                                                        */ - Type?: HyperParameterTuningJobObjectiveType | string; + CompilationJobName?: string; /** - *

                                                        The name of the - * objective - * metric.

                                                        + *

                                                        The name of the model.

                                                        */ - MetricName: string | undefined; + ModelName?: string; /** - *

                                                        The value of the objective metric.

                                                        + *

                                                        The version of the model.

                                                        */ - Value: number | undefined; -} + ModelVersion?: string; -export namespace FinalHyperParameterTuningJobObjectiveMetric { /** - * @internal + *

                                                        The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact Neo.

                                                        */ - export const filterSensitiveLog = (obj: FinalHyperParameterTuningJobObjectiveMetric): any => ({ - ...obj, - }); -} + RoleArn?: string; -export enum TrainingJobStatus { - COMPLETED = "Completed", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} + /** + *

                                                        The output configuration for the edge packaging job.

                                                        + */ + OutputConfig?: EdgeOutputConfig; -/** - *

                                                        Specifies - * summary information about a training job.

                                                        - */ -export interface HyperParameterTrainingJobSummary { /** - *

                                                        The training job definition name.

                                                        + *

                                                        The Amazon Web Services KMS key to use when encrypting the EBS volume the job run on.

                                                        */ - TrainingJobDefinitionName?: string; + ResourceKey?: string; /** - *

                                                        The name of the training job.

                                                        + *

                                                        The current status of the packaging job.

                                                        */ - TrainingJobName: string | undefined; + EdgePackagingJobStatus: EdgePackagingJobStatus | string | undefined; /** - *

                                                        The - * Amazon - * Resource Name (ARN) of the training job.

                                                        + *

                                                        Returns a message describing the job status and error messages.

                                                        */ - TrainingJobArn: string | undefined; + EdgePackagingJobStatusMessage?: string; /** - *

                                                        The HyperParameter tuning job that launched the training job.

                                                        + *

                                                        The timestamp of when the packaging job was created.

                                                        */ - TuningJobName?: string; + CreationTime?: Date; /** - *

                                                        The date and time that the training job was created.

                                                        + *

                                                        The timestamp of when the job was last updated.

                                                        */ - CreationTime: Date | undefined; + LastModifiedTime?: Date; /** - *

                                                        The date and time that the training job started.

                                                        + *

                                                        The Amazon Simple Storage (S3) URI where model artifacts ares stored.

                                                        */ - TrainingStartTime?: Date; + ModelArtifact?: string; /** - *

                                                        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 signature document of files in the model artifact.

                                                        */ - TrainingEndTime?: Date; + ModelSignature?: string; /** - *

                                                        The - * status - * of the training job.

                                                        + *

                                                        The output of a SageMaker Edge Manager deployable resource.

                                                        */ - TrainingJobStatus: TrainingJobStatus | string | undefined; + PresetDeploymentOutput?: EdgePresetDeploymentOutput; +} +export namespace DescribeEdgePackagingJobResponse { /** - *

                                                        A - * list of the hyperparameters for which you specified ranges to - * search.

                                                        + * @internal */ - TunedHyperParameters: { [key: string]: string } | undefined; + export const filterSensitiveLog = (obj: DescribeEdgePackagingJobResponse): any => ({ + ...obj, + }); +} +export interface DescribeEndpointInput { /** - *

                                                        The - * reason that the training job failed. - *

                                                        + *

                                                        The name of the endpoint.

                                                        */ - FailureReason?: string; + EndpointName: string | undefined; +} +export namespace DescribeEndpointInput { /** - *

                                                        The FinalHyperParameterTuningJobObjectiveMetric object that - * specifies the - * value - * of the - * objective - * metric of the tuning job that launched this training job.

                                                        + * @internal */ - FinalHyperParameterTuningJobObjectiveMetric?: FinalHyperParameterTuningJobObjectiveMetric; + export const filterSensitiveLog = (obj: DescribeEndpointInput): any => ({ + ...obj, + }); +} + +export enum EndpointStatus { + CREATING = "Creating", + DELETING = "Deleting", + FAILED = "Failed", + IN_SERVICE = "InService", + OUT_OF_SERVICE = "OutOfService", + ROLLING_BACK = "RollingBack", + SYSTEM_UPDATING = "SystemUpdating", + UPDATING = "Updating", +} + +export enum VariantStatus { + ACTIVATING_TRAFFIC = "ActivatingTraffic", + BAKING = "Baking", + CREATING = "Creating", + DELETING = "Deleting", + UPDATING = "Updating", +} +/** + *

                                                        Describes the status of the production variant.

                                                        + */ +export interface ProductionVariantStatus { /** - *

                                                        The status of the objective metric for the training job:

                                                        + *

                                                        The endpoint variant status which describes the current deployment stage status or operational status.

                                                        *
                                                          *
                                                        • - *

                                                          Succeeded: The - * final - * objective metric for the training job was evaluated by the - * hyperparameter tuning job and - * used - * in the hyperparameter tuning process.

                                                          + *

                                                          + * Creating: Creating inference resources for the production variant.

                                                          *
                                                        • - *
                                                        - *
                                                          *
                                                        • - *

                                                          Pending: The training job is in progress and evaluation of its final objective - * metric is pending.

                                                          + *

                                                          + * Deleting: Terminating inference resources for the production variant.

                                                          *
                                                        • - *
                                                        - *
                                                          *
                                                        • - *

                                                          Failed: - * The final objective metric for the training job was not evaluated, and was not - * used in the hyperparameter tuning process. This typically occurs when the - * training job failed or did not emit an objective - * metric.

                                                          + *

                                                          + * Updating: Updating capacity for the production variant.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * ActivatingTraffic: Turning on traffic for the production variant.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Baking: Waiting period to monitor the CloudWatch alarms in the + * automatic rollback configuration.

                                                          *
                                                        • *
                                                        */ - ObjectiveStatus?: ObjectiveStatus | string; + Status: VariantStatus | string | undefined; + + /** + *

                                                        A message that describes the status of the production variant.

                                                        + */ + StatusMessage?: string; + + /** + *

                                                        The start time of the current status change.

                                                        + */ + StartTime?: Date; } -export namespace HyperParameterTrainingJobSummary { +export namespace ProductionVariantStatus { /** * @internal */ - export const filterSensitiveLog = (obj: HyperParameterTrainingJobSummary): any => ({ + export const filterSensitiveLog = (obj: ProductionVariantStatus): any => ({ ...obj, }); } -export enum HyperParameterTuningJobStatus { - COMPLETED = "Completed", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} - /** - *

                                                        Specifies the number of training jobs that this hyperparameter tuning job launched, - * categorized by the status of their objective metric. The objective metric status shows - * whether the - * final - * objective metric for the training job has been evaluated by the - * tuning job and used in the hyperparameter tuning process.

                                                        + *

                                                        The production variant summary for a deployment when an endpoint is + * creating or updating with the + * CreateEndpoint + * + * or + * UpdateEndpoint + * operations. + * Describes the VariantStatus , weight and capacity for a production + * variant associated with an endpoint. + *

                                                        */ -export interface ObjectiveStatusCounters { +export interface PendingProductionVariantSummary { /** - *

                                                        The number of training jobs whose final objective metric was evaluated by the - * hyperparameter tuning job and used in the hyperparameter tuning process.

                                                        + *

                                                        The name of the variant.

                                                        */ - Succeeded?: number; + VariantName: string | undefined; /** - *

                                                        The number of training jobs that are in progress and pending evaluation of their final - * objective metric.

                                                        + *

                                                        An array of DeployedImage objects that specify the Amazon EC2 + * Container Registry paths of the inference images deployed on instances of this + * ProductionVariant.

                                                        */ - Pending?: number; + DeployedImages?: DeployedImage[]; /** - *

                                                        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 - * did not emit an objective metric.

                                                        + *

                                                        The weight associated with the variant.

                                                        */ - Failed?: number; -} + CurrentWeight?: number; -export namespace ObjectiveStatusCounters { /** - * @internal + *

                                                        The requested weight for the variant in this deployment, as specified in the endpoint configuration + * for the endpoint. The value is taken from the request to the + * CreateEndpointConfig + * operation.

                                                        */ - export const filterSensitiveLog = (obj: ObjectiveStatusCounters): any => ({ - ...obj, - }); -} + DesiredWeight?: number; -/** - *

                                                        The numbers of training jobs launched by a hyperparameter tuning job, categorized by - * status.

                                                        - */ -export interface TrainingJobStatusCounters { /** - *

                                                        The number of completed training jobs launched by the hyperparameter tuning - * job.

                                                        + *

                                                        The number of instances associated with the variant.

                                                        */ - Completed?: number; + CurrentInstanceCount?: number; /** - *

                                                        The number of in-progress training jobs launched by a hyperparameter tuning - * job.

                                                        + *

                                                        The number of instances requested in this deployment, as specified in the endpoint configuration + * for the endpoint. The value is taken from the request to the + * CreateEndpointConfig + * operation.

                                                        */ - InProgress?: number; + DesiredInstanceCount?: number; /** - *

                                                        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 type of instances associated with the variant.

                                                        */ - RetryableError?: number; + InstanceType?: ProductionVariantInstanceType | string; /** - *

                                                        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 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.

                                                        */ - NonRetryableError?: number; + AcceleratorType?: ProductionVariantAcceleratorType | string; /** - *

                                                        The number of training jobs launched by a hyperparameter tuning job that were - * manually - * stopped.

                                                        + *

                                                        The endpoint variant status which describes the current deployment stage status or operational status.

                                                        */ - Stopped?: number; -} + VariantStatus?: ProductionVariantStatus[]; -export namespace TrainingJobStatusCounters { /** - * @internal + *

                                                        The serverless configuration for the endpoint.

                                                        + * + *

                                                        Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                        + *
                                                        */ - export const filterSensitiveLog = (obj: TrainingJobStatusCounters): any => ({ - ...obj, - }); -} + CurrentServerlessConfig?: ProductionVariantServerlessConfig; -export interface DescribeHyperParameterTuningJobResponse { /** - *

                                                        The name of the tuning job.

                                                        + *

                                                        The serverless configuration requested for this deployment, as specified in the endpoint configuration for the endpoint.

                                                        + * + *

                                                        Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                        + *
                                                        */ - HyperParameterTuningJobName: string | undefined; + DesiredServerlessConfig?: ProductionVariantServerlessConfig; +} +export namespace PendingProductionVariantSummary { /** - *

                                                        The - * Amazon Resource Name (ARN) of the tuning job.

                                                        + * @internal */ - HyperParameterTuningJobArn: string | undefined; + export const filterSensitiveLog = (obj: PendingProductionVariantSummary): any => ({ + ...obj, + }); +} +/** + *

                                                        The summary of an in-progress deployment when an endpoint is creating or + * updating with a new endpoint configuration.

                                                        + */ +export interface PendingDeploymentSummary { /** - *

                                                        The HyperParameterTuningJobConfig object that specifies the - * configuration of the tuning job.

                                                        + *

                                                        The name of the endpoint configuration used in the deployment.

                                                        */ - HyperParameterTuningJobConfig: HyperParameterTuningJobConfig | undefined; + EndpointConfigName: string | undefined; /** - *

                                                        The HyperParameterTrainingJobDefinition object that specifies the - * definition of the training jobs that this tuning job launches.

                                                        + *

                                                        List of PendingProductionVariantSummary objects.

                                                        */ - TrainingJobDefinition?: HyperParameterTrainingJobDefinition; + ProductionVariants?: PendingProductionVariantSummary[]; /** - *

                                                        A list of the HyperParameterTrainingJobDefinition objects launched - * for this tuning job.

                                                        + *

                                                        The start time of the deployment.

                                                        */ - TrainingJobDefinitions?: HyperParameterTrainingJobDefinition[]; + StartTime?: Date; +} +export namespace PendingDeploymentSummary { /** - *

                                                        The status of the tuning job: InProgress, Completed, Failed, Stopping, or - * Stopped.

                                                        + * @internal */ - HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; + export const filterSensitiveLog = (obj: PendingDeploymentSummary): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes weight and capacities for a production variant associated with an + * endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities + * API and the endpoint status is Updating, you get different desired and + * current values.

                                                        + */ +export interface ProductionVariantSummary { /** - *

                                                        The date and time that the tuning job started.

                                                        + *

                                                        The name of the variant.

                                                        */ - CreationTime: Date | undefined; + VariantName: string | undefined; /** - *

                                                        The date and time that the tuning job ended.

                                                        + *

                                                        An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the + * inference images deployed on instances of this ProductionVariant.

                                                        */ - HyperParameterTuningEndTime?: Date; + DeployedImages?: DeployedImage[]; /** - *

                                                        The date and time that the status of the tuning job was modified.

                                                        + *

                                                        The weight associated with the variant.

                                                        */ - LastModifiedTime?: Date; + CurrentWeight?: number; /** - *

                                                        The TrainingJobStatusCounters object that specifies the number of - * training jobs, categorized by status, that this tuning job launched.

                                                        + *

                                                        The requested weight, as specified in the + * UpdateEndpointWeightsAndCapacities request.

                                                        */ - TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; + DesiredWeight?: number; /** - *

                                                        The ObjectiveStatusCounters object that specifies the number of - * training jobs, categorized by the status of their final objective metric, that this - * tuning job launched.

                                                        + *

                                                        The number of instances associated with the variant.

                                                        */ - ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; + CurrentInstanceCount?: number; /** - *

                                                        A TrainingJobSummary object that describes the training job that - * completed with the best current HyperParameterTuningJobObjective.

                                                        + *

                                                        The number of instances requested in the + * UpdateEndpointWeightsAndCapacities request.

                                                        */ - BestTrainingJob?: HyperParameterTrainingJobSummary; + DesiredInstanceCount?: number; /** - *

                                                        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.

                                                        + *

                                                        The endpoint variant status which describes the current deployment stage status or operational status.

                                                        */ - OverallBestTrainingJob?: HyperParameterTrainingJobSummary; + VariantStatus?: ProductionVariantStatus[]; /** - *

                                                        The configuration for starting the hyperparameter parameter tuning job using one or - * more previous tuning jobs as a starting point. The results of previous tuning jobs are - * used to inform which combinations of hyperparameters to search over in the new tuning - * job.

                                                        + *

                                                        The serverless configuration for the endpoint.

                                                        + * + *

                                                        Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                        + *
                                                        */ - WarmStartConfig?: HyperParameterTuningJobWarmStartConfig; + CurrentServerlessConfig?: ProductionVariantServerlessConfig; /** - *

                                                        If the tuning job failed, the reason it failed.

                                                        + *

                                                        The serverless configuration requested for the endpoint update.

                                                        + * + *

                                                        Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                        + *
                                                        */ - FailureReason?: string; + DesiredServerlessConfig?: ProductionVariantServerlessConfig; } -export namespace DescribeHyperParameterTuningJobResponse { +export namespace ProductionVariantSummary { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHyperParameterTuningJobResponse): any => ({ + export const filterSensitiveLog = (obj: ProductionVariantSummary): any => ({ ...obj, }); } -export interface DescribeImageRequest { +export interface DescribeEndpointOutput { /** - *

                                                        The name of the image to describe.

                                                        + *

                                                        Name of the endpoint.

                                                        */ - ImageName: string | undefined; -} + EndpointName: string | undefined; -export namespace DescribeImageRequest { /** - * @internal + *

                                                        The Amazon Resource Name (ARN) of the endpoint.

                                                        */ - export const filterSensitiveLog = (obj: DescribeImageRequest): any => ({ - ...obj, - }); -} + EndpointArn: string | undefined; -export enum ImageStatus { - CREATED = "CREATED", - CREATE_FAILED = "CREATE_FAILED", - CREATING = "CREATING", - DELETE_FAILED = "DELETE_FAILED", - DELETING = "DELETING", - UPDATE_FAILED = "UPDATE_FAILED", - UPDATING = "UPDATING", -} + /** + *

                                                        The name of the endpoint configuration associated with this endpoint.

                                                        + */ + EndpointConfigName: string | undefined; -export interface DescribeImageResponse { /** - *

                                                        When the image was created.

                                                        + *

                                                        An array of ProductionVariantSummary objects, one for each model + * hosted behind this endpoint.

                                                        */ - CreationTime?: Date; + ProductionVariants?: ProductionVariantSummary[]; /** - *

                                                        The description of the image.

                                                        + *

                                                        */ - Description?: string; + DataCaptureConfig?: DataCaptureConfigSummary; /** - *

                                                        The name of the image as displayed.

                                                        + *

                                                        The status of the endpoint.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * OutOfService: Endpoint is not available to take incoming + * requests.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Creating: CreateEndpoint is executing.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * SystemUpdating: Endpoint is undergoing maintenance and cannot be + * updated or deleted or re-scaled until it has completed. This maintenance + * operation does not change any customer-specified values such as VPC config, KMS + * encryption, model, instance type, or instance count.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * RollingBack: Endpoint fails to scale up or down or change its + * variant weight and is in the process of rolling back to its previous + * configuration. Once the rollback completes, endpoint returns to an + * InService status. This transitional status only applies to an + * endpoint that has autoscaling enabled and is undergoing variant weight or + * capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called + * explicitly.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * InService: Endpoint is available to process incoming + * requests.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Deleting: DeleteEndpoint is executing.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Failed: Endpoint could not be created, updated, or re-scaled. Use + * DescribeEndpointOutput$FailureReason for information about + * the failure. DeleteEndpoint is the only operation that can be + * performed on a failed endpoint.

                                                          + *
                                                        • + *
                                                        */ - DisplayName?: string; + EndpointStatus: EndpointStatus | string | undefined; /** - *

                                                        When a create, update, or delete operation fails, the reason for the failure.

                                                        + *

                                                        If the status of the endpoint is Failed, the reason why it failed. + *

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

                                                        The Amazon Resource Name (ARN) of the image.

                                                        + *

                                                        A timestamp that shows when the endpoint was created.

                                                        */ - ImageArn?: string; + CreationTime: Date | undefined; /** - *

                                                        The name of the image.

                                                        + *

                                                        A timestamp that shows when the endpoint was last modified.

                                                        */ - ImageName?: string; + LastModifiedTime: Date | undefined; /** - *

                                                        The status of the image.

                                                        + *

                                                        The most recent deployment configuration for the endpoint.

                                                        */ - ImageStatus?: ImageStatus | string; + LastDeploymentConfig?: DeploymentConfig; /** - *

                                                        When the image was last modified.

                                                        + *

                                                        Returns the description of an endpoint configuration created + * using the + * CreateEndpointConfig + * API.

                                                        */ - LastModifiedTime?: Date; + AsyncInferenceConfig?: AsyncInferenceConfig; /** - *

                                                        The Amazon Resource Name (ARN) of the IAM role that enables Amazon SageMaker to perform tasks on your behalf.

                                                        + *

                                                        Returns the summary of an in-progress deployment. This field is only returned when the + * endpoint is creating or updating with a new endpoint configuration.

                                                        */ - RoleArn?: string; + PendingDeploymentSummary?: PendingDeploymentSummary; } -export namespace DescribeImageResponse { +export namespace DescribeEndpointOutput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImageResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeEndpointOutput): any => ({ ...obj, }); } -export interface DescribeImageVersionRequest { - /** - *

                                                        The name of the image.

                                                        - */ - ImageName: string | undefined; - +export interface DescribeEndpointConfigInput { /** - *

                                                        The version of the image. If not specified, the latest version is described.

                                                        + *

                                                        The name of the endpoint configuration.

                                                        */ - Version?: number; + EndpointConfigName: string | undefined; } -export namespace DescribeImageVersionRequest { +export namespace DescribeEndpointConfigInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImageVersionRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeEndpointConfigInput): any => ({ ...obj, }); } -export enum ImageVersionStatus { - CREATED = "CREATED", - CREATE_FAILED = "CREATE_FAILED", - CREATING = "CREATING", - DELETE_FAILED = "DELETE_FAILED", - DELETING = "DELETING", -} - -export interface DescribeImageVersionResponse { +export interface DescribeEndpointConfigOutput { /** - *

                                                        The registry path of the container image on which this image version is based.

                                                        + *

                                                        Name of the Amazon SageMaker endpoint configuration.

                                                        */ - BaseImage?: string; + EndpointConfigName: string | undefined; /** - *

                                                        The registry path of the container image that contains this image version.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the endpoint configuration.

                                                        */ - ContainerImage?: string; + EndpointConfigArn: string | undefined; /** - *

                                                        When the version was created.

                                                        + *

                                                        An array of ProductionVariant objects, one for each model that you + * want to host at this endpoint.

                                                        */ - CreationTime?: Date; + ProductionVariants: ProductionVariant[] | undefined; /** - *

                                                        When a create or delete operation fails, the reason for the failure.

                                                        + *

                                                        */ - FailureReason?: string; + DataCaptureConfig?: DataCaptureConfig; /** - *

                                                        The Amazon Resource Name (ARN) of the image the version is based on.

                                                        + *

                                                        Amazon Web Services KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage + * volume attached to the instance.

                                                        */ - ImageArn?: string; + KmsKeyId?: string; /** - *

                                                        The ARN of the version.

                                                        + *

                                                        A timestamp that shows when the endpoint configuration was created.

                                                        */ - ImageVersionArn?: string; + CreationTime: Date | undefined; /** - *

                                                        The status of the version.

                                                        + *

                                                        Returns the description of an endpoint configuration created using the + * + * CreateEndpointConfig + * API.

                                                        */ - ImageVersionStatus?: ImageVersionStatus | string; + AsyncInferenceConfig?: AsyncInferenceConfig; +} +export namespace DescribeEndpointConfigOutput { /** - *

                                                        When the version was last modified.

                                                        + * @internal */ - LastModifiedTime?: Date; + export const filterSensitiveLog = (obj: DescribeEndpointConfigOutput): any => ({ + ...obj, + }); +} +export interface DescribeExperimentRequest { /** - *

                                                        The version number.

                                                        + *

                                                        The name of the experiment to describe.

                                                        */ - Version?: number; + ExperimentName: string | undefined; } -export namespace DescribeImageVersionResponse { +export namespace DescribeExperimentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImageVersionResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeExperimentRequest): any => ({ ...obj, }); } -export interface DescribeLabelingJobRequest { +/** + *

                                                        The source of the experiment.

                                                        + */ +export interface ExperimentSource { /** - *

                                                        The name of the labeling job to return information for.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the source.

                                                        */ - LabelingJobName: string | undefined; + SourceArn: string | undefined; + + /** + *

                                                        The source type.

                                                        + */ + SourceType?: string; } -export namespace DescribeLabelingJobRequest { +export namespace ExperimentSource { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLabelingJobRequest): any => ({ + export const filterSensitiveLog = (obj: ExperimentSource): any => ({ ...obj, }); } -/** - *

                                                        Provides a breakdown of the number of objects labeled.

                                                        - */ -export interface LabelCounters { +export interface DescribeExperimentResponse { /** - *

                                                        The total number of objects labeled.

                                                        + *

                                                        The name of the experiment.

                                                        */ - TotalLabeled?: number; + ExperimentName?: string; /** - *

                                                        The total number of objects labeled by a human worker.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the experiment.

                                                        */ - HumanLabeled?: number; + ExperimentArn?: string; /** - *

                                                        The total number of objects labeled by automated data labeling.

                                                        + *

                                                        The name of the experiment as displayed. If DisplayName isn't specified, + * ExperimentName is displayed.

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

                                                        The total number of objects that could not be labeled due to an error.

                                                        + *

                                                        The ARN of the source and, optionally, the type.

                                                        */ - FailedNonRetryableError?: number; + Source?: ExperimentSource; /** - *

                                                        The total number of objects not yet labeled.

                                                        + *

                                                        The description of the experiment.

                                                        */ - Unlabeled?: number; -} + Description?: string; -export namespace LabelCounters { /** - * @internal + *

                                                        When the experiment was created.

                                                        */ - export const filterSensitiveLog = (obj: LabelCounters): any => ({ - ...obj, - }); -} + CreationTime?: Date; -/** - *

                                                        Specifies the location of the output produced by the labeling job.

                                                        - */ -export interface LabelingJobOutput { /** - *

                                                        The Amazon S3 bucket location of the manifest file for labeled data.

                                                        + *

                                                        Who created the experiment.

                                                        */ - OutputDatasetS3Uri: string | undefined; + CreatedBy?: UserContext; /** - *

                                                        The Amazon Resource Name (ARN) for the most recent Amazon SageMaker model trained as part of - * automated data labeling.

                                                        + *

                                                        When the experiment was last modified.

                                                        */ - FinalActiveLearningModelArn?: string; + LastModifiedTime?: Date; + + /** + *

                                                        Who last modified the experiment.

                                                        + */ + LastModifiedBy?: UserContext; } -export namespace LabelingJobOutput { +export namespace DescribeExperimentResponse { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobOutput): any => ({ + export const filterSensitiveLog = (obj: DescribeExperimentResponse): any => ({ ...obj, }); } -export enum LabelingJobStatus { - COMPLETED = "Completed", - FAILED = "Failed", - INITIALIZING = "Initializing", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} - -export interface DescribeLabelingJobResponse { +export interface DescribeFeatureGroupRequest { /** - *

                                                        The processing status of the labeling job.

                                                        + *

                                                        The name of the FeatureGroup you want described.

                                                        */ - LabelingJobStatus: LabelingJobStatus | string | undefined; + FeatureGroupName: string | undefined; /** - *

                                                        Provides a breakdown of the number of data objects labeled by humans, the number of - * objects labeled by machine, the number of objects than couldn't be labeled, and the - * total number of objects labeled.

                                                        + *

                                                        A token to resume pagination of the list of Features + * (FeatureDefinitions). 2,500 Features are returned by + * default.

                                                        */ - LabelCounters: LabelCounters | undefined; + NextToken?: string; +} +export namespace DescribeFeatureGroupRequest { /** - *

                                                        If the job failed, the reason that it failed.

                                                        + * @internal */ - FailureReason?: string; + export const filterSensitiveLog = (obj: DescribeFeatureGroupRequest): any => ({ + ...obj, + }); +} - /** - *

                                                        The date and time that the labeling job was created.

                                                        - */ - CreationTime: Date | undefined; +export enum FeatureGroupStatus { + CREATED = "Created", + CREATE_FAILED = "CreateFailed", + CREATING = "Creating", + DELETE_FAILED = "DeleteFailed", + DELETING = "Deleting", +} + +export enum OfflineStoreStatusValue { + ACTIVE = "Active", + BLOCKED = "Blocked", + DISABLED = "Disabled", +} +/** + *

                                                        The status of OfflineStore.

                                                        + */ +export interface OfflineStoreStatus { /** - *

                                                        The date and time that the labeling job was last updated.

                                                        + *

                                                        An OfflineStore status.

                                                        */ - LastModifiedTime: Date | undefined; + Status: OfflineStoreStatusValue | string | undefined; /** - *

                                                        A unique identifier for work done as part of a labeling job.

                                                        + *

                                                        The justification for why the OfflineStoreStatus is Blocked (if applicable).

                                                        */ - JobReferenceCode: string | undefined; + BlockedReason?: string; +} +export namespace OfflineStoreStatus { /** - *

                                                        The name assigned to the labeling job when it was created.

                                                        + * @internal */ - LabelingJobName: string | undefined; + export const filterSensitiveLog = (obj: OfflineStoreStatus): any => ({ + ...obj, + }); +} +export interface DescribeFeatureGroupResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the labeling job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the FeatureGroup.

                                                        */ - LabelingJobArn: string | undefined; + FeatureGroupArn: string | undefined; /** - *

                                                        The attribute used as the label in the output manifest file.

                                                        + *

                                                        he name of the FeatureGroup.

                                                        */ - LabelAttributeName?: string; + FeatureGroupName: string | 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.

                                                        + *

                                                        The name of the Feature used for RecordIdentifier, whose value + * uniquely identifies a record stored in the feature store.

                                                        */ - InputConfig: LabelingJobInputConfig | undefined; + RecordIdentifierFeatureName: string | undefined; /** - *

                                                        The location of the job's output data and the Amazon Web Services Key Management Service key ID for the key used to - * encrypt the output data, if any.

                                                        + *

                                                        The name of the feature that stores the EventTime of a Record in a + * FeatureGroup.

                                                        + *

                                                        An EventTime is a point in time when a new event occurs that + * corresponds to the creation or update of a Record in a + * FeatureGroup. All Records in the FeatureGroup + * have a corresponding EventTime.

                                                        */ - OutputConfig: LabelingJobOutputConfig | undefined; + EventTimeFeatureName: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks on your behalf - * during data labeling.

                                                        + *

                                                        A list of the Features in the FeatureGroup. + * Each feature is defined by a FeatureName and FeatureType.

                                                        */ - RoleArn: string | undefined; + FeatureDefinitions: FeatureDefinition[] | undefined; - /** - *

                                                        The S3 location of the JSON file that defines the categories used to label data - * objects. Please note the following label-category limits:

                                                        - *
                                                          - *
                                                        • - *

                                                          Semantic segmentation labeling jobs using automated labeling: 20 labels

                                                          - *
                                                        • - *
                                                        • - *

                                                          Box bounding labeling jobs (all): 10 labels

                                                          - *
                                                        • - *
                                                        - *

                                                        The file is a JSON structure in the following format:

                                                        - *

                                                        - * { - *

                                                        - *

                                                        - * "document-version": "2018-11-28" - *

                                                        - *

                                                        - * "labels": [ - *

                                                        - *

                                                        - * { - *

                                                        - *

                                                        - * "label": "label 1" - *

                                                        - *

                                                        - * }, - *

                                                        - *

                                                        - * { - *

                                                        - *

                                                        - * "label": "label 2" - *

                                                        - *

                                                        - * }, - *

                                                        - *

                                                        - * ... - *

                                                        - *

                                                        - * { - *

                                                        - *

                                                        - * "label": "label n" - *

                                                        - *

                                                        - * } - *

                                                        - *

                                                        - * ] - *

                                                        - *

                                                        - * } - *

                                                        + /** + *

                                                        A timestamp indicating when SageMaker created the FeatureGroup.

                                                        */ - LabelCategoryConfigS3Uri?: string; + CreationTime: Date | undefined; /** - *

                                                        A set of conditions for stopping a labeling job. If any of the conditions are met, the - * job is automatically stopped.

                                                        + *

                                                        The configuration for the OnlineStore.

                                                        */ - StoppingConditions?: LabelingJobStoppingConditions; + OnlineStoreConfig?: OnlineStoreConfig; /** - *

                                                        Configuration information for automated data labeling.

                                                        + *

                                                        The configuration of the OfflineStore, inducing the S3 location of the + * OfflineStore, Amazon Web Services Glue or Amazon Web Services Hive data catalogue configurations, and the + * security configuration.

                                                        */ - LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; + OfflineStoreConfig?: OfflineStoreConfig; /** - *

                                                        Configuration information required for human workers to complete a labeling - * task.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the + * OfflineStore if an OfflineStoreConfig is provided.

                                                        */ - HumanTaskConfig: HumanTaskConfig | undefined; + RoleArn?: string; /** - *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                        + *

                                                        The status of the feature group.

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

                                                        The location of the output produced by the labeling job.

                                                        + *

                                                        The status of the OfflineStore. Notifies you if replicating data into the + * OfflineStore has failed. Returns either: Active or + * Blocked + *

                                                        */ - LabelingJobOutput?: LabelingJobOutput; + OfflineStoreStatus?: OfflineStoreStatus; + + /** + *

                                                        The reason that the FeatureGroup failed to be replicated in the + * OfflineStore. This is failure can occur because:

                                                        + *
                                                          + *
                                                        • + *

                                                          The FeatureGroup could not be created in the + * OfflineStore.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The FeatureGroup could not be deleted from the + * OfflineStore.

                                                          + *
                                                        • + *
                                                        + */ + FailureReason?: string; + + /** + *

                                                        A free form description of the feature group.

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

                                                        A token to resume pagination of the list of Features + * (FeatureDefinitions).

                                                        + */ + NextToken: string | undefined; } -export namespace DescribeLabelingJobResponse { +export namespace DescribeFeatureGroupResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLabelingJobResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeFeatureGroupResponse): any => ({ ...obj, }); } -export interface DescribeModelInput { +export interface DescribeFlowDefinitionRequest { /** - *

                                                        The name of the model.

                                                        + *

                                                        The name of the flow definition.

                                                        */ - ModelName: string | undefined; + FlowDefinitionName: string | undefined; } -export namespace DescribeModelInput { +export namespace DescribeFlowDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelInput): any => ({ + export const filterSensitiveLog = (obj: DescribeFlowDefinitionRequest): any => ({ ...obj, }); } -export interface DescribeModelOutput { +export enum FlowDefinitionStatus { + ACTIVE = "Active", + DELETING = "Deleting", + FAILED = "Failed", + INITIALIZING = "Initializing", +} + +export interface DescribeFlowDefinitionResponse { /** - *

                                                        Name of the Amazon SageMaker model.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the flow defintion.

                                                        */ - ModelName: string | undefined; + FlowDefinitionArn: string | undefined; /** - *

                                                        The location of the primary inference code, associated artifacts, and custom - * environment map that the inference code uses when it is deployed in production. - *

                                                        + *

                                                        The Amazon Resource Name (ARN) of the flow definition.

                                                        */ - PrimaryContainer?: ContainerDefinition; + FlowDefinitionName: string | undefined; /** - *

                                                        The containers in the inference pipeline.

                                                        + *

                                                        The status of the flow definition. Valid values are listed below.

                                                        */ - Containers?: ContainerDefinition[]; + FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; /** - *

                                                        Specifies details of how containers in a multi-container endpoint are called.

                                                        + *

                                                        The timestamp when the flow definition was created.

                                                        */ - InferenceExecutionConfig?: InferenceExecutionConfig; + CreationTime: Date | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the IAM role that you specified for the - * model.

                                                        + *

                                                        Container for configuring the source of human task requests. Used to specify if + * Amazon Rekognition or Amazon Textract is used as an integration source.

                                                        */ - ExecutionRoleArn: string | undefined; + HumanLoopRequestSource?: HumanLoopRequestSource; /** - *

                                                        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 - *

                                                        + *

                                                        An object containing information about what triggers a human review workflow.

                                                        */ - VpcConfig?: VpcConfig; + HumanLoopActivationConfig?: HumanLoopActivationConfig; /** - *

                                                        A timestamp that shows when the model was created.

                                                        + *

                                                        An object containing information about who works on the task, the workforce task price, and other task details.

                                                        */ - CreationTime: Date | undefined; + HumanLoopConfig: HumanLoopConfig | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the model.

                                                        + *

                                                        An object containing information about the output file.

                                                        */ - ModelArn: string | undefined; + OutputConfig: FlowDefinitionOutputConfig | undefined; /** - *

                                                        If True, no inbound or outbound network calls can be made to or from the - * model container.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) execution role for the flow definition.

                                                        */ - EnableNetworkIsolation?: boolean; + RoleArn: string | undefined; + + /** + *

                                                        The reason your flow definition failed.

                                                        + */ + FailureReason?: string; } -export namespace DescribeModelOutput { +export namespace DescribeFlowDefinitionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelOutput): any => ({ + export const filterSensitiveLog = (obj: DescribeFlowDefinitionResponse): any => ({ ...obj, }); } -export interface DescribeModelBiasJobDefinitionRequest { +export interface DescribeHumanTaskUiRequest { /** - *

                                                        The name of the model bias job definition. The name must be unique within an Amazon Web Services Region - * in the Amazon Web Services account.

                                                        + *

                                                        The name of the human task user interface + * (worker task template) you want information about.

                                                        */ - JobDefinitionName: string | undefined; + HumanTaskUiName: string | undefined; } -export namespace DescribeModelBiasJobDefinitionRequest { +export namespace DescribeHumanTaskUiRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelBiasJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeHumanTaskUiRequest): any => ({ ...obj, }); } -export interface DescribeModelBiasJobDefinitionResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the model bias job.

                                                        - */ - JobDefinitionArn: string | undefined; +export enum HumanTaskUiStatus { + ACTIVE = "Active", + DELETING = "Deleting", +} +/** + *

                                                        Container for user interface template information.

                                                        + */ +export interface UiTemplateInfo { /** - *

                                                        The name of the bias job definition. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

                                                        + *

                                                        The URL for the user interface template.

                                                        */ - JobDefinitionName: string | undefined; + Url?: string; /** - *

                                                        The time at which the model bias job was created.

                                                        + *

                                                        The SHA-256 digest of the contents of the template.

                                                        */ - CreationTime: Date | undefined; + ContentSha256?: string; +} +export namespace UiTemplateInfo { /** - *

                                                        The baseline configuration for a model bias job.

                                                        + * @internal */ - ModelBiasBaselineConfig?: ModelBiasBaselineConfig; + export const filterSensitiveLog = (obj: UiTemplateInfo): any => ({ + ...obj, + }); +} +export interface DescribeHumanTaskUiResponse { /** - *

                                                        Configures the model bias job to run a specified Docker container image.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the human task user interface (worker task template).

                                                        */ - ModelBiasAppSpecification: ModelBiasAppSpecification | undefined; + HumanTaskUiArn: string | undefined; /** - *

                                                        Inputs for the model bias job.

                                                        + *

                                                        The name of the human task user interface (worker task template).

                                                        */ - ModelBiasJobInput: ModelBiasJobInput | undefined; + HumanTaskUiName: string | undefined; /** - *

                                                        The output configuration for monitoring jobs.

                                                        + *

                                                        The status of the human task user interface (worker task template). Valid values are listed below.

                                                        */ - ModelBiasJobOutputConfig: MonitoringOutputConfig | undefined; + HumanTaskUiStatus?: HumanTaskUiStatus | string; /** - *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + *

                                                        The timestamp when the human task user interface was created.

                                                        */ - JobResources: MonitoringResources | undefined; + CreationTime: Date | undefined; /** - *

                                                        Networking options for a model bias job.

                                                        + *

                                                        Container for user interface template information.

                                                        */ - NetworkConfig?: MonitoringNetworkConfig; + UiTemplate: UiTemplateInfo | undefined; +} +export namespace DescribeHumanTaskUiResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services 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.

                                                        + * @internal */ - RoleArn: string | undefined; + export const filterSensitiveLog = (obj: DescribeHumanTaskUiResponse): any => ({ + ...obj, + }); +} +export interface DescribeHyperParameterTuningJobRequest { /** - *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + *

                                                        The name of the tuning job.

                                                        */ - StoppingCondition?: MonitoringStoppingCondition; + HyperParameterTuningJobName: string | undefined; } -export namespace DescribeModelBiasJobDefinitionResponse { +export namespace DescribeHyperParameterTuningJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelBiasJobDefinitionResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeHyperParameterTuningJobRequest): any => ({ ...obj, }); } -export interface DescribeModelExplainabilityJobDefinitionRequest { +/** + *

                                                        Shows the final value for the + * objective + * metric for a training job that was launched by a hyperparameter + * tuning job. You define the objective metric in the + * HyperParameterTuningJobObjective parameter of HyperParameterTuningJobConfig.

                                                        + */ +export interface FinalHyperParameterTuningJobObjectiveMetric { + /** + *

                                                        Whether to + * minimize + * or maximize the objective metric. Valid values are Minimize and + * Maximize.

                                                        + */ + Type?: HyperParameterTuningJobObjectiveType | string; + /** - *

                                                        The name of the model explainability job definition. The name must be unique within an - * Amazon Web Services Region in the Amazon Web Services account.

                                                        + *

                                                        The name of the + * objective + * metric.

                                                        */ - JobDefinitionName: string | undefined; + MetricName: string | undefined; + + /** + *

                                                        The value of the objective metric.

                                                        + */ + Value: number | undefined; } -export namespace DescribeModelExplainabilityJobDefinitionRequest { +export namespace FinalHyperParameterTuningJobObjectiveMetric { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelExplainabilityJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: FinalHyperParameterTuningJobObjectiveMetric): any => ({ ...obj, }); } -export interface DescribeModelExplainabilityJobDefinitionResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the model explainability job.

                                                        - */ - JobDefinitionArn: string | undefined; +export enum TrainingJobStatus { + COMPLETED = "Completed", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + STOPPED = "Stopped", + STOPPING = "Stopping", +} +/** + *

                                                        Specifies + * summary information about a training job.

                                                        + */ +export interface HyperParameterTrainingJobSummary { /** - *

                                                        The name of the explainability job definition. The name must be unique within an Amazon Web Services - * Region in the Amazon Web Services account.

                                                        + *

                                                        The training job definition name.

                                                        */ - JobDefinitionName: string | undefined; + TrainingJobDefinitionName?: string; /** - *

                                                        The time at which the model explainability job was created.

                                                        + *

                                                        The name of the training job.

                                                        */ - CreationTime: Date | undefined; + TrainingJobName: string | undefined; /** - *

                                                        The baseline configuration for a model explainability job.

                                                        + *

                                                        The + * Amazon + * Resource Name (ARN) of the training job.

                                                        */ - ModelExplainabilityBaselineConfig?: ModelExplainabilityBaselineConfig; + TrainingJobArn: string | undefined; /** - *

                                                        Configures the model explainability job to run a specified Docker container - * image.

                                                        + *

                                                        The HyperParameter tuning job that launched the training job.

                                                        */ - ModelExplainabilityAppSpecification: ModelExplainabilityAppSpecification | undefined; + TuningJobName?: string; /** - *

                                                        Inputs for the model explainability job.

                                                        + *

                                                        The date and time that the training job was created.

                                                        */ - ModelExplainabilityJobInput: ModelExplainabilityJobInput | undefined; + CreationTime: Date | undefined; /** - *

                                                        The output configuration for monitoring jobs.

                                                        + *

                                                        The date and time that the training job started.

                                                        */ - ModelExplainabilityJobOutputConfig: MonitoringOutputConfig | undefined; + TrainingStartTime?: Date; /** - *

                                                        Identifies the resources to deploy for a monitoring 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.

                                                        */ - JobResources: MonitoringResources | undefined; + TrainingEndTime?: Date; /** - *

                                                        Networking options for a model explainability job.

                                                        + *

                                                        The + * status + * of the training job.

                                                        */ - NetworkConfig?: MonitoringNetworkConfig; + TrainingJobStatus: TrainingJobStatus | string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services 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.

                                                        + *

                                                        A + * list of the hyperparameters for which you specified ranges to + * search.

                                                        */ - RoleArn: string | undefined; + TunedHyperParameters: { [key: string]: string } | undefined; /** - *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + *

                                                        The + * reason that the training job failed. + *

                                                        */ - StoppingCondition?: MonitoringStoppingCondition; -} + FailureReason?: string; -export namespace DescribeModelExplainabilityJobDefinitionResponse { /** - * @internal + *

                                                        The FinalHyperParameterTuningJobObjectiveMetric object that + * specifies the + * value + * of the + * objective + * metric of the tuning job that launched this training job.

                                                        */ - export const filterSensitiveLog = (obj: DescribeModelExplainabilityJobDefinitionResponse): any => ({ - ...obj, - }); -} + FinalHyperParameterTuningJobObjectiveMetric?: FinalHyperParameterTuningJobObjectiveMetric; -export interface DescribeModelPackageInput { /** - *

                                                        The name or Amazon Resource Name (ARN) of the model package to describe.

                                                        - *

                                                        When you specify a name, the name must have 1 to 63 characters. Valid - * characters are a-z, A-Z, 0-9, and - (hyphen).

                                                        + *

                                                        The status of the objective metric for the training job:

                                                        + *
                                                          + *
                                                        • + *

                                                          Succeeded: The + * final + * objective metric for the training job was evaluated by the + * hyperparameter tuning job and + * used + * in the hyperparameter tuning process.

                                                          + *
                                                        • + *
                                                        + *
                                                          + *
                                                        • + *

                                                          Pending: The training job is in progress and evaluation of its final objective + * metric is pending.

                                                          + *
                                                        • + *
                                                        + *
                                                          + *
                                                        • + *

                                                          Failed: + * The final objective metric for the training job was not evaluated, and was not + * used in the hyperparameter tuning process. This typically occurs when the + * training job failed or did not emit an objective + * metric.

                                                          + *
                                                        • + *
                                                        */ - ModelPackageName: string | undefined; + ObjectiveStatus?: ObjectiveStatus | string; } -export namespace DescribeModelPackageInput { +export namespace HyperParameterTrainingJobSummary { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelPackageInput): any => ({ + export const filterSensitiveLog = (obj: HyperParameterTrainingJobSummary): any => ({ ...obj, }); } -export enum DetailedModelPackageStatus { +export enum HyperParameterTuningJobStatus { COMPLETED = "Completed", FAILED = "Failed", IN_PROGRESS = "InProgress", - NOT_STARTED = "NotStarted", + STOPPED = "Stopped", + STOPPING = "Stopping", } /** - *

                                                        Represents the overall status of a model package.

                                                        + *

                                                        Specifies the number of training jobs that this hyperparameter tuning job launched, + * categorized by the status of their objective metric. The objective metric status shows + * whether the + * final + * objective metric for the training job has been evaluated by the + * tuning job and used in the hyperparameter tuning process.

                                                        */ -export interface ModelPackageStatusItem { +export interface ObjectiveStatusCounters { /** - *

                                                        The name of the model package for which the overall status is being reported.

                                                        + *

                                                        The number of training jobs whose final objective metric was evaluated by the + * hyperparameter tuning job and used in the hyperparameter tuning process.

                                                        */ - Name: string | undefined; + Succeeded?: number; /** - *

                                                        The current status.

                                                        + *

                                                        The number of training jobs that are in progress and pending evaluation of their final + * objective metric.

                                                        */ - Status: DetailedModelPackageStatus | string | undefined; + Pending?: number; /** - *

                                                        if the overall status is Failed, the reason for the failure.

                                                        + *

                                                        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 + * did not emit an objective metric.

                                                        */ - FailureReason?: string; + Failed?: number; } -export namespace ModelPackageStatusItem { +export namespace ObjectiveStatusCounters { /** * @internal */ - export const filterSensitiveLog = (obj: ModelPackageStatusItem): any => ({ + export const filterSensitiveLog = (obj: ObjectiveStatusCounters): any => ({ ...obj, }); } /** - *

                                                        Specifies the validation and image scan statuses of the model package.

                                                        + *

                                                        The numbers of training jobs launched by a hyperparameter tuning job, categorized by + * status.

                                                        */ -export interface ModelPackageStatusDetails { +export interface TrainingJobStatusCounters { /** - *

                                                        The validation status of the model package.

                                                        + *

                                                        The number of completed training jobs launched by the hyperparameter tuning + * job.

                                                        */ - ValidationStatuses: ModelPackageStatusItem[] | undefined; + Completed?: number; /** - *

                                                        The status of the scan of the Docker image container for the model package.

                                                        + *

                                                        The number of in-progress training jobs launched by a hyperparameter tuning + * job.

                                                        */ - ImageScanStatuses?: ModelPackageStatusItem[]; -} + InProgress?: number; -export namespace ModelPackageStatusDetails { /** - * @internal + *

                                                        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.

                                                        */ - export const filterSensitiveLog = (obj: ModelPackageStatusDetails): any => ({ - ...obj, - }); -} + RetryableError?: number; -export interface DescribeModelPackageOutput { /** - *

                                                        The name of the model package being described.

                                                        + *

                                                        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.

                                                        */ - ModelPackageName: string | undefined; + NonRetryableError?: number; /** - *

                                                        If the model is a versioned model, the name of the model group that the versioned - * model belongs to.

                                                        + *

                                                        The number of training jobs launched by a hyperparameter tuning job that were + * manually + * stopped.

                                                        */ - ModelPackageGroupName?: string; + Stopped?: number; +} +export namespace TrainingJobStatusCounters { /** - *

                                                        The version of the model package.

                                                        + * @internal */ - ModelPackageVersion?: number; + export const filterSensitiveLog = (obj: TrainingJobStatusCounters): any => ({ + ...obj, + }); +} +export interface DescribeHyperParameterTuningJobResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the model package.

                                                        + *

                                                        The name of the tuning job.

                                                        */ - ModelPackageArn: string | undefined; + HyperParameterTuningJobName: string | undefined; /** - *

                                                        A brief summary of the model package.

                                                        + *

                                                        The + * Amazon Resource Name (ARN) of the tuning job.

                                                        */ - ModelPackageDescription?: string; + HyperParameterTuningJobArn: string | undefined; /** - *

                                                        A timestamp specifying when the model package was created.

                                                        + *

                                                        The HyperParameterTuningJobConfig object that specifies the + * configuration of the tuning job.

                                                        */ - CreationTime: Date | undefined; + HyperParameterTuningJobConfig: HyperParameterTuningJobConfig | undefined; /** - *

                                                        Details about inference jobs that can be run with models based on this model - * package.

                                                        + *

                                                        The HyperParameterTrainingJobDefinition object that specifies the + * definition of the training jobs that this tuning job launches.

                                                        */ - InferenceSpecification?: InferenceSpecification; + TrainingJobDefinition?: HyperParameterTrainingJobDefinition; /** - *

                                                        Details about the algorithm that was used to create the model package.

                                                        + *

                                                        A list of the HyperParameterTrainingJobDefinition objects launched + * for this tuning job.

                                                        */ - SourceAlgorithmSpecification?: SourceAlgorithmSpecification; + TrainingJobDefinitions?: HyperParameterTrainingJobDefinition[]; /** - *

                                                        Configurations for one or more transform jobs that SageMaker runs to test the model - * package.

                                                        + *

                                                        The status of the tuning job: InProgress, Completed, Failed, Stopping, or + * Stopped.

                                                        */ - ValidationSpecification?: ModelPackageValidationSpecification; + HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; /** - *

                                                        The current status of the model package.

                                                        + *

                                                        The date and time that the tuning job started.

                                                        */ - ModelPackageStatus: ModelPackageStatus | string | undefined; + CreationTime: Date | undefined; /** - *

                                                        Details about the current status of the model package.

                                                        + *

                                                        The date and time that the tuning job ended.

                                                        */ - ModelPackageStatusDetails: ModelPackageStatusDetails | undefined; + HyperParameterTuningEndTime?: Date; /** - *

                                                        Whether the model package is certified for listing on Amazon Web Services Marketplace.

                                                        + *

                                                        The date and time that the status of the tuning job was modified.

                                                        */ - CertifyForMarketplace?: boolean; + LastModifiedTime?: Date; /** - *

                                                        The approval status of the model package.

                                                        + *

                                                        The TrainingJobStatusCounters object that specifies the number of + * training jobs, categorized by status, that this tuning job launched.

                                                        */ - ModelApprovalStatus?: ModelApprovalStatus | string; + TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        The ObjectiveStatusCounters object that specifies the number of + * training jobs, categorized by the status of their final objective metric, that this + * tuning job launched.

                                                        */ - CreatedBy?: UserContext; + ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; /** - *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        + *

                                                        A TrainingJobSummary object that describes the training job that + * completed with the best current HyperParameterTuningJobObjective.

                                                        */ - MetadataProperties?: MetadataProperties; + BestTrainingJob?: HyperParameterTrainingJobSummary; /** - *

                                                        Metrics for the model.

                                                        + *

                                                        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.

                                                        */ - ModelMetrics?: ModelMetrics; + OverallBestTrainingJob?: HyperParameterTrainingJobSummary; /** - *

                                                        The last time the model package was modified.

                                                        + *

                                                        The configuration for starting the hyperparameter parameter tuning job using one or + * more previous tuning jobs as a starting point. The results of previous tuning jobs are + * used to inform which combinations of hyperparameters to search over in the new tuning + * job.

                                                        */ - LastModifiedTime?: Date; + WarmStartConfig?: HyperParameterTuningJobWarmStartConfig; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        If the tuning job failed, the reason it failed.

                                                        */ - LastModifiedBy?: UserContext; + FailureReason?: string; +} +export namespace DescribeHyperParameterTuningJobResponse { /** - *

                                                        A description provided for the model approval.

                                                        + * @internal */ - ApprovalDescription?: string; + export const filterSensitiveLog = (obj: DescribeHyperParameterTuningJobResponse): any => ({ + ...obj, + }); +} +export interface DescribeImageRequest { /** - *

                                                        The metadata properties associated with the model package versions.

                                                        + *

                                                        The name of the image to describe.

                                                        */ - CustomerMetadataProperties?: { [key: string]: string }; + ImageName: string | undefined; } -export namespace DescribeModelPackageOutput { +export namespace DescribeImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelPackageOutput): any => ({ + export const filterSensitiveLog = (obj: DescribeImageRequest): any => ({ ...obj, }); } -export interface DescribeModelPackageGroupInput { +export enum ImageStatus { + CREATED = "CREATED", + CREATE_FAILED = "CREATE_FAILED", + CREATING = "CREATING", + DELETE_FAILED = "DELETE_FAILED", + DELETING = "DELETING", + UPDATE_FAILED = "UPDATE_FAILED", + UPDATING = "UPDATING", +} + +export interface DescribeImageResponse { + /** + *

                                                        When the image was created.

                                                        + */ + CreationTime?: Date; + /** - *

                                                        The name of the model group to describe.

                                                        + *

                                                        The description of the image.

                                                        */ - ModelPackageGroupName: string | undefined; -} + Description?: string; -export namespace DescribeModelPackageGroupInput { /** - * @internal + *

                                                        The name of the image as displayed.

                                                        */ - export const filterSensitiveLog = (obj: DescribeModelPackageGroupInput): any => ({ - ...obj, - }); -} - -export enum ModelPackageGroupStatus { - COMPLETED = "Completed", - DELETE_FAILED = "DeleteFailed", - DELETING = "Deleting", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - PENDING = "Pending", -} + DisplayName?: string; -export interface DescribeModelPackageGroupOutput { /** - *

                                                        The name of the model group.

                                                        + *

                                                        When a create, update, or delete operation fails, the reason for the failure.

                                                        */ - ModelPackageGroupName: string | undefined; + FailureReason?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the model group.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the image.

                                                        */ - ModelPackageGroupArn: string | undefined; + ImageArn?: string; /** - *

                                                        A description of the model group.

                                                        + *

                                                        The name of the image.

                                                        */ - ModelPackageGroupDescription?: string; + ImageName?: string; /** - *

                                                        The time that the model group was created.

                                                        + *

                                                        The status of the image.

                                                        */ - CreationTime: Date | undefined; + ImageStatus?: ImageStatus | string; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        When the image was last modified.

                                                        */ - CreatedBy: UserContext | undefined; + LastModifiedTime?: Date; /** - *

                                                        The status of the model group.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the IAM role that enables Amazon SageMaker to perform tasks on your behalf.

                                                        */ - ModelPackageGroupStatus: ModelPackageGroupStatus | string | undefined; + RoleArn?: string; } -export namespace DescribeModelPackageGroupOutput { +export namespace DescribeImageResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelPackageGroupOutput): any => ({ + export const filterSensitiveLog = (obj: DescribeImageResponse): any => ({ ...obj, }); } -export interface DescribeModelQualityJobDefinitionRequest { +export interface DescribeImageVersionRequest { /** - *

                                                        The name of the model quality job. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

                                                        + *

                                                        The name of the image.

                                                        */ - JobDefinitionName: string | undefined; + ImageName: string | undefined; + + /** + *

                                                        The version of the image. If not specified, the latest version is described.

                                                        + */ + Version?: number; } -export namespace DescribeModelQualityJobDefinitionRequest { +export namespace DescribeImageVersionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelQualityJobDefinitionRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeImageVersionRequest): any => ({ ...obj, }); } -export interface DescribeModelQualityJobDefinitionResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the model quality job.

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

                                                        The name of the quality job definition. The name must be unique within an Amazon Web Services Region in - * the Amazon Web Services account.

                                                        - */ - JobDefinitionName: string | undefined; +export enum ImageVersionStatus { + CREATED = "CREATED", + CREATE_FAILED = "CREATE_FAILED", + CREATING = "CREATING", + DELETE_FAILED = "DELETE_FAILED", + DELETING = "DELETING", +} +export interface DescribeImageVersionResponse { /** - *

                                                        The time at which the model quality job was created.

                                                        + *

                                                        The registry path of the container image on which this image version is based.

                                                        */ - CreationTime: Date | undefined; + BaseImage?: string; /** - *

                                                        The baseline configuration for a model quality job.

                                                        + *

                                                        The registry path of the container image that contains this image version.

                                                        */ - ModelQualityBaselineConfig?: ModelQualityBaselineConfig; + ContainerImage?: string; /** - *

                                                        Configures the model quality job to run a specified Docker container image.

                                                        + *

                                                        When the version was created.

                                                        */ - ModelQualityAppSpecification: ModelQualityAppSpecification | undefined; + CreationTime?: Date; /** - *

                                                        Inputs for the model quality job.

                                                        + *

                                                        When a create or delete operation fails, the reason for the failure.

                                                        */ - ModelQualityJobInput: ModelQualityJobInput | undefined; + FailureReason?: string; /** - *

                                                        The output configuration for monitoring jobs.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the image the version is based on.

                                                        */ - ModelQualityJobOutputConfig: MonitoringOutputConfig | undefined; + ImageArn?: string; /** - *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + *

                                                        The ARN of the version.

                                                        */ - JobResources: MonitoringResources | undefined; + ImageVersionArn?: string; /** - *

                                                        Networking options for a model quality job.

                                                        + *

                                                        The status of the version.

                                                        */ - NetworkConfig?: MonitoringNetworkConfig; + ImageVersionStatus?: ImageVersionStatus | string; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to - * perform tasks on your behalf.

                                                        + *

                                                        When the version was last modified.

                                                        */ - RoleArn: string | undefined; + LastModifiedTime?: Date; /** - *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + *

                                                        The version number.

                                                        */ - StoppingCondition?: MonitoringStoppingCondition; + Version?: number; } -export namespace DescribeModelQualityJobDefinitionResponse { +export namespace DescribeImageVersionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeModelQualityJobDefinitionResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeImageVersionResponse): any => ({ ...obj, }); } -export interface DescribeMonitoringScheduleRequest { +export interface DescribeInferenceRecommendationsJobRequest { /** - *

                                                        Name of a previously created monitoring schedule.

                                                        + *

                                                        The name of the job. The name must be unique within an + * Amazon Web Services Region in the Amazon Web Services account.

                                                        */ - MonitoringScheduleName: string | undefined; + JobName: string | undefined; } -export namespace DescribeMonitoringScheduleRequest { +export namespace DescribeInferenceRecommendationsJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeMonitoringScheduleRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeInferenceRecommendationsJobRequest): any => ({ ...obj, }); } -export enum ExecutionStatus { - COMPLETED = "Completed", - COMPLETED_WITH_VIOLATIONS = "CompletedWithViolations", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - PENDING = "Pending", - STOPPED = "Stopped", - STOPPING = "Stopping", -} - /** - *

                                                        Summary of information about the last monitoring job to run.

                                                        + *

                                                        The endpoint configuration made by Inference Recommender during a recommendation job.

                                                        */ -export interface MonitoringExecutionSummary { - /** - *

                                                        The name of the monitoring schedule.

                                                        - */ - MonitoringScheduleName: string | undefined; - +export interface EndpointOutputConfiguration { /** - *

                                                        The time the monitoring job was scheduled.

                                                        + *

                                                        The name of the endpoint made during a recommendation job.

                                                        */ - ScheduledTime: Date | undefined; + EndpointName: string | undefined; /** - *

                                                        The time at which the monitoring job was created.

                                                        + *

                                                        The name of the production variant (deployed model) made during a recommendation job.

                                                        */ - CreationTime: Date | undefined; + VariantName: string | undefined; /** - *

                                                        A timestamp that indicates the last time the monitoring job was modified.

                                                        + *

                                                        The instance type recommended by Amazon SageMaker Inference Recommender.

                                                        */ - LastModifiedTime: Date | undefined; + InstanceType: ProductionVariantInstanceType | string | undefined; /** - *

                                                        The status of the monitoring job.

                                                        + *

                                                        The number of instances recommended to launch initially.

                                                        */ - MonitoringExecutionStatus: ExecutionStatus | string | undefined; + InitialInstanceCount: number | undefined; +} +export namespace EndpointOutputConfiguration { /** - *

                                                        The Amazon Resource Name (ARN) of the monitoring job.

                                                        + * @internal */ - ProcessingJobArn?: string; + export const filterSensitiveLog = (obj: EndpointOutputConfiguration): any => ({ + ...obj, + }); +} +/** + *

                                                        The metrics of recommendations.

                                                        + */ +export interface RecommendationMetrics { /** - *

                                                        The name of the endpoint used to run the monitoring job.

                                                        + *

                                                        Defines the cost per hour for the instance.

                                                        */ - EndpointName?: string; + CostPerHour: number | undefined; /** - *

                                                        Contains the reason a monitoring job failed, if it failed.

                                                        + *

                                                        Defines the cost per inference for the instance .

                                                        */ - FailureReason?: string; + CostPerInference: number | undefined; /** - *

                                                        The name of the monitoring job.

                                                        + *

                                                        The expected maximum number of requests per minute for the instance.

                                                        */ - MonitoringJobDefinitionName?: string; + MaxInvocations: number | undefined; /** - *

                                                        The type of the monitoring job.

                                                        + *

                                                        The expected model latency at maximum invocation per minute for the instance.

                                                        */ - MonitoringType?: MonitoringType | string; + ModelLatency: number | undefined; } -export namespace MonitoringExecutionSummary { +export namespace RecommendationMetrics { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringExecutionSummary): any => ({ + export const filterSensitiveLog = (obj: RecommendationMetrics): any => ({ ...obj, }); } -export enum ScheduleStatus { - FAILED = "Failed", - PENDING = "Pending", - SCHEDULED = "Scheduled", - STOPPED = "Stopped", -} - -export interface DescribeMonitoringScheduleResponse { - /** - *

                                                        The Amazon Resource Name (ARN) of the monitoring schedule.

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

                                                        Name of the monitoring schedule.

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

                                                        A list of environment parameters suggested by the Amazon SageMaker Inference Recommender.

                                                        + */ +export interface EnvironmentParameter { /** - *

                                                        The status of an monitoring job.

                                                        + *

                                                        The environment key suggested by the Amazon SageMaker Inference Recommender.

                                                        */ - MonitoringScheduleStatus: ScheduleStatus | string | undefined; + Key: string | undefined; /** - *

                                                        The type of the monitoring job that this schedule runs. This is one of the following - * values.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * DATA_QUALITY - The schedule is for a data quality monitoring - * job.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * MODEL_QUALITY - The schedule is for a model quality monitoring - * job.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * MODEL_BIAS - The schedule is for a bias monitoring job.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * MODEL_EXPLAINABILITY - The schedule is for an explainability - * monitoring job.

                                                          - *
                                                        • - *
                                                        + *

                                                        The value type suggested by the Amazon SageMaker Inference Recommender.

                                                        */ - MonitoringType?: MonitoringType | string; + ValueType: string | undefined; /** - *

                                                        A string, up to one KB in size, that contains the reason a monitoring job failed, if it - * failed.

                                                        + *

                                                        The value suggested by the Amazon SageMaker Inference Recommender.

                                                        */ - FailureReason?: string; + Value: string | undefined; +} +export namespace EnvironmentParameter { /** - *

                                                        The time at which the monitoring job was created.

                                                        + * @internal */ - CreationTime: Date | undefined; + export const filterSensitiveLog = (obj: EnvironmentParameter): any => ({ + ...obj, + }); +} +/** + *

                                                        Defines the model configuration. Includes the specification name and environment parameters.

                                                        + */ +export interface ModelConfiguration { /** - *

                                                        The time at which the monitoring job was last modified.

                                                        + *

                                                        The inference specification name in the model package version.

                                                        */ - LastModifiedTime: Date | undefined; + InferenceSpecificationName?: string; /** - *

                                                        The configuration object that specifies the monitoring schedule and defines the - * monitoring job.

                                                        + *

                                                        Defines the environment parameters that includes key, value types, and values.

                                                        */ - MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; + EnvironmentParameters?: EnvironmentParameter[]; +} +export namespace ModelConfiguration { /** - *

                                                        The name of the endpoint for the monitoring job.

                                                        + * @internal */ - EndpointName?: string; + export const filterSensitiveLog = (obj: ModelConfiguration): any => ({ + ...obj, + }); +} +/** + *

                                                        A list of recommendations made by Amazon SageMaker Inference Recommender.

                                                        + */ +export interface InferenceRecommendation { /** - *

                                                        Describes metadata on the last execution to run, if there was one.

                                                        + *

                                                        The metrics used to decide what recommendation to make.

                                                        */ - LastMonitoringExecutionSummary?: MonitoringExecutionSummary; -} + Metrics: RecommendationMetrics | undefined; -export namespace DescribeMonitoringScheduleResponse { /** - * @internal + *

                                                        Defines the endpoint configuration parameters.

                                                        */ - export const filterSensitiveLog = (obj: DescribeMonitoringScheduleResponse): any => ({ - ...obj, - }); -} + EndpointConfiguration: EndpointOutputConfiguration | undefined; -export interface DescribeNotebookInstanceInput { /** - *

                                                        The name of the notebook instance that you want information about.

                                                        + *

                                                        Defines the model configuration.

                                                        */ - NotebookInstanceName: string | undefined; + ModelConfiguration: ModelConfiguration | undefined; } -export namespace DescribeNotebookInstanceInput { +export namespace InferenceRecommendation { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNotebookInstanceInput): any => ({ + export const filterSensitiveLog = (obj: InferenceRecommendation): any => ({ ...obj, }); } -export enum NotebookInstanceStatus { - Deleting = "Deleting", - Failed = "Failed", - InService = "InService", - Pending = "Pending", - Stopped = "Stopped", - Stopping = "Stopping", - Updating = "Updating", +export enum RecommendationJobStatus { + COMPLETED = "COMPLETED", + FAILED = "FAILED", + IN_PROGRESS = "IN_PROGRESS", + PENDING = "PENDING", + STOPPED = "STOPPED", + STOPPING = "STOPPING", } -export interface DescribeNotebookInstanceOutput { - /** - *

                                                        The Amazon Resource Name (ARN) of the notebook instance.

                                                        - */ - NotebookInstanceArn?: string; - - /** - *

                                                        The name of the Amazon SageMaker notebook instance.

                                                        - */ - NotebookInstanceName?: string; - +export interface DescribeInferenceRecommendationsJobResponse { /** - *

                                                        The status of the notebook instance.

                                                        + *

                                                        The name of the job. The name must be unique within an + * Amazon Web Services Region in the Amazon Web Services account.

                                                        */ - NotebookInstanceStatus?: NotebookInstanceStatus | string; + JobName: string | undefined; /** - *

                                                        If status is Failed, the reason it failed.

                                                        + *

                                                        The job description that you provided when you initiated the job.

                                                        */ - FailureReason?: string; + JobDescription?: string; /** - *

                                                        The URL that you use to connect to the Jupyter notebook that is running in your - * notebook instance.

                                                        + *

                                                        The job type that you provided when you initiated the job.

                                                        */ - Url?: string; + JobType: RecommendationJobType | string | undefined; /** - *

                                                        The type of ML compute instance running on the notebook instance.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the job.

                                                        */ - InstanceType?: _InstanceType | string; + JobArn: string | undefined; /** - *

                                                        The ID of the VPC subnet.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services + * Identity and Access Management (IAM) role you provided when you initiated the job.

                                                        */ - SubnetId?: string; + RoleArn: string | undefined; /** - *

                                                        The IDs of the VPC security groups.

                                                        + *

                                                        The status of the job.

                                                        */ - SecurityGroups?: string[]; + Status: RecommendationJobStatus | string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the IAM role associated with the instance. - *

                                                        + *

                                                        A timestamp that shows when the job was created.

                                                        */ - RoleArn?: string; + CreationTime: Date | undefined; /** - *

                                                        The Amazon Web Services 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 job completed.

                                                        */ - KmsKeyId?: string; + CompletionTime?: Date; /** - *

                                                        The network interface IDs that Amazon SageMaker created at the time of creating the instance. - *

                                                        + *

                                                        A timestamp that shows when the job was last modified.

                                                        */ - NetworkInterfaceId?: string; + LastModifiedTime: Date | undefined; /** - *

                                                        A timestamp. Use this parameter to retrieve the time when the notebook instance was - * last modified.

                                                        + *

                                                        If the job fails, provides information why the job failed.

                                                        */ - LastModifiedTime?: Date; + FailureReason?: string; /** - *

                                                        A timestamp. Use this parameter to return the time when the notebook instance was - * created

                                                        + *

                                                        Returns information about the versioned model package Amazon Resource Name (ARN), + * the traffic pattern, and endpoint configurations you provided when you initiated the job.

                                                        */ - CreationTime?: Date; + InputConfig: RecommendationJobInputConfig | undefined; /** - *

                                                        Returns the name of a notebook instance lifecycle configuration.

                                                        - *

                                                        For information about notebook instance lifestyle configurations, see Step - * 2.1: (Optional) Customize a Notebook Instance - *

                                                        + *

                                                        The stopping conditions that you provided when you initiated the job.

                                                        */ - NotebookInstanceLifecycleConfigName?: string; + StoppingConditions?: RecommendationJobStoppingConditions; /** - *

                                                        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 recommendations made by Inference Recommender.

                                                        */ - DirectInternetAccess?: DirectInternetAccess | string; + InferenceRecommendations?: InferenceRecommendation[]; +} +export namespace DescribeInferenceRecommendationsJobResponse { /** - *

                                                        The size, in GB, of the ML storage volume attached to the notebook instance.

                                                        + * @internal */ - VolumeSizeInGB?: number; + export const filterSensitiveLog = (obj: DescribeInferenceRecommendationsJobResponse): any => ({ + ...obj, + }); +} +export interface DescribeLabelingJobRequest { /** - *

                                                        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.

                                                        + *

                                                        The name of the labeling job to return information for.

                                                        */ - AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; + LabelingJobName: string | undefined; +} +export namespace DescribeLabelingJobRequest { /** - *

                                                        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 Amazon Web Services 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.

                                                        + * @internal */ - DefaultCodeRepository?: string; + export const filterSensitiveLog = (obj: DescribeLabelingJobRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Provides a breakdown of the number of objects labeled.

                                                        + */ +export interface LabelCounters { /** - *

                                                        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 Amazon Web Services 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 total number of objects labeled.

                                                        */ - AdditionalCodeRepositories?: string[]; + TotalLabeled?: number; /** - *

                                                        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 total number of objects labeled by a human worker.

                                                        */ - RootAccess?: RootAccess | string; + HumanLabeled?: number; /** - *

                                                        The platform identifier of the notebook instance runtime environment.

                                                        + *

                                                        The total number of objects labeled by automated data labeling.

                                                        */ - PlatformIdentifier?: string; -} + MachineLabeled?: number; -export namespace DescribeNotebookInstanceOutput { /** - * @internal + *

                                                        The total number of objects that could not be labeled due to an error.

                                                        */ - export const filterSensitiveLog = (obj: DescribeNotebookInstanceOutput): any => ({ - ...obj, - }); -} + FailedNonRetryableError?: number; -export interface DescribeNotebookInstanceLifecycleConfigInput { /** - *

                                                        The name of the lifecycle configuration to describe.

                                                        + *

                                                        The total number of objects not yet labeled.

                                                        */ - NotebookInstanceLifecycleConfigName: string | undefined; + Unlabeled?: number; } -export namespace DescribeNotebookInstanceLifecycleConfigInput { +export namespace LabelCounters { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNotebookInstanceLifecycleConfigInput): any => ({ + export const filterSensitiveLog = (obj: LabelCounters): any => ({ ...obj, }); } -export interface DescribeNotebookInstanceLifecycleConfigOutput { +/** + *

                                                        Specifies the location of the output produced by the labeling job.

                                                        + */ +export interface LabelingJobOutput { /** - *

                                                        The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                        + *

                                                        The Amazon S3 bucket location of the manifest file for labeled data.

                                                        */ - NotebookInstanceLifecycleConfigArn?: string; + OutputDatasetS3Uri: string | undefined; /** - *

                                                        The name of the lifecycle configuration.

                                                        + *

                                                        The Amazon Resource Name (ARN) for the most recent Amazon SageMaker model trained as part of + * automated data labeling.

                                                        */ - NotebookInstanceLifecycleConfigName?: string; + FinalActiveLearningModelArn?: string; +} +export namespace LabelingJobOutput { /** - *

                                                        The shell script that runs only once, when you create a notebook instance.

                                                        + * @internal */ - OnCreate?: NotebookInstanceLifecycleHook[]; + export const filterSensitiveLog = (obj: LabelingJobOutput): any => ({ + ...obj, + }); +} + +export enum LabelingJobStatus { + COMPLETED = "Completed", + FAILED = "Failed", + INITIALIZING = "Initializing", + IN_PROGRESS = "InProgress", + STOPPED = "Stopped", + STOPPING = "Stopping", +} +export interface DescribeLabelingJobResponse { /** - *

                                                        The shell script that runs every time you start a notebook instance, including when - * you create the notebook instance.

                                                        + *

                                                        The processing status of the labeling job.

                                                        */ - OnStart?: NotebookInstanceLifecycleHook[]; + LabelingJobStatus: LabelingJobStatus | string | undefined; /** - *

                                                        A timestamp that tells when the lifecycle configuration was last modified.

                                                        + *

                                                        Provides a breakdown of the number of data objects labeled by humans, the number of + * objects labeled by machine, the number of objects than couldn't be labeled, and the + * total number of objects labeled.

                                                        */ - LastModifiedTime?: Date; + LabelCounters: LabelCounters | undefined; /** - *

                                                        A timestamp that tells when the lifecycle configuration was created.

                                                        + *

                                                        If the job failed, the reason that it failed.

                                                        */ - CreationTime?: Date; -} + FailureReason?: string; -export namespace DescribeNotebookInstanceLifecycleConfigOutput { /** - * @internal + *

                                                        The date and time that the labeling job was created.

                                                        */ - export const filterSensitiveLog = (obj: DescribeNotebookInstanceLifecycleConfigOutput): any => ({ - ...obj, - }); -} + CreationTime: Date | undefined; -export interface DescribePipelineRequest { /** - *

                                                        The name of the pipeline to describe.

                                                        + *

                                                        The date and time that the labeling job was last updated.

                                                        */ - PipelineName: string | undefined; -} + LastModifiedTime: Date | undefined; -export namespace DescribePipelineRequest { /** - * @internal + *

                                                        A unique identifier for work done as part of a labeling job.

                                                        */ - export const filterSensitiveLog = (obj: DescribePipelineRequest): any => ({ - ...obj, - }); -} - -export enum PipelineStatus { - ACTIVE = "Active", -} + JobReferenceCode: string | undefined; -export interface DescribePipelineResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the pipeline.

                                                        + *

                                                        The name assigned to the labeling job when it was created.

                                                        */ - PipelineArn?: string; + LabelingJobName: string | undefined; /** - *

                                                        The name of the pipeline.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the labeling job.

                                                        */ - PipelineName?: string; + LabelingJobArn: string | undefined; /** - *

                                                        The display name of the pipeline.

                                                        + *

                                                        The attribute used as the label in the output manifest file.

                                                        */ - PipelineDisplayName?: string; + LabelAttributeName?: string; /** - *

                                                        The JSON pipeline definition.

                                                        + *

                                                        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.

                                                        */ - PipelineDefinition?: string; + InputConfig: LabelingJobInputConfig | undefined; /** - *

                                                        The description of the pipeline.

                                                        + *

                                                        The location of the job's output data and the Amazon Web Services Key Management Service key ID for the key used to + * encrypt the output data, if any.

                                                        */ - PipelineDescription?: string; + OutputConfig: LabelingJobOutputConfig | undefined; /** - *

                                                        The Amazon Resource Name (ARN) that the pipeline uses to execute.

                                                        + *

                                                        The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks on your behalf + * during data labeling.

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

                                                        The status of the pipeline execution.

                                                        + *

                                                        The S3 location of the JSON file that defines the categories used to label data + * objects. Please note the following label-category limits:

                                                        + *
                                                          + *
                                                        • + *

                                                          Semantic segmentation labeling jobs using automated labeling: 20 labels

                                                          + *
                                                        • + *
                                                        • + *

                                                          Box bounding labeling jobs (all): 10 labels

                                                          + *
                                                        • + *
                                                        + *

                                                        The file is a JSON structure in the following format:

                                                        + *

                                                        + * { + *

                                                        + *

                                                        + * "document-version": "2018-11-28" + *

                                                        + *

                                                        + * "labels": [ + *

                                                        + *

                                                        + * { + *

                                                        + *

                                                        + * "label": "label 1" + *

                                                        + *

                                                        + * }, + *

                                                        + *

                                                        + * { + *

                                                        + *

                                                        + * "label": "label 2" + *

                                                        + *

                                                        + * }, + *

                                                        + *

                                                        + * ... + *

                                                        + *

                                                        + * { + *

                                                        + *

                                                        + * "label": "label n" + *

                                                        + *

                                                        + * } + *

                                                        + *

                                                        + * ] + *

                                                        + *

                                                        + * } + *

                                                        */ - PipelineStatus?: PipelineStatus | string; + LabelCategoryConfigS3Uri?: string; /** - *

                                                        The time when the pipeline was created.

                                                        + *

                                                        A set of conditions for stopping a labeling job. If any of the conditions are met, the + * job is automatically stopped.

                                                        */ - CreationTime?: Date; + StoppingConditions?: LabelingJobStoppingConditions; /** - *

                                                        The time when the pipeline was last modified.

                                                        + *

                                                        Configuration information for automated data labeling.

                                                        */ - LastModifiedTime?: Date; + LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; /** - *

                                                        The time when the pipeline was last run.

                                                        + *

                                                        Configuration information required for human workers to complete a labeling + * task.

                                                        */ - LastRunTime?: Date; + HumanTaskConfig: HumanTaskConfig | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

                                                        */ - CreatedBy?: UserContext; + Tags?: Tag[]; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        The location of the output produced by the labeling job.

                                                        */ - LastModifiedBy?: UserContext; + LabelingJobOutput?: LabelingJobOutput; } -export namespace DescribePipelineResponse { +export namespace DescribeLabelingJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePipelineResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeLabelingJobResponse): any => ({ ...obj, }); } -export interface DescribePipelineDefinitionForExecutionRequest { +export interface DescribeLineageGroupRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the pipeline execution.

                                                        + *

                                                        The name of the lineage group.

                                                        */ - PipelineExecutionArn: string | undefined; + LineageGroupName: string | undefined; } -export namespace DescribePipelineDefinitionForExecutionRequest { +export namespace DescribeLineageGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePipelineDefinitionForExecutionRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLineageGroupRequest): any => ({ ...obj, }); } -export interface DescribePipelineDefinitionForExecutionResponse { +export interface DescribeLineageGroupResponse { /** - *

                                                        The JSON pipeline definition.

                                                        + *

                                                        The name of the lineage group.

                                                        */ - PipelineDefinition?: string; + LineageGroupName?: string; /** - *

                                                        The time when the pipeline was created.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the lineage group.

                                                        */ - CreationTime?: Date; -} + LineageGroupArn?: string; -export namespace DescribePipelineDefinitionForExecutionResponse { /** - * @internal + *

                                                        The display name of the lineage group.

                                                        */ - export const filterSensitiveLog = (obj: DescribePipelineDefinitionForExecutionResponse): any => ({ - ...obj, - }); -} + DisplayName?: string; -export interface DescribePipelineExecutionRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the pipeline execution.

                                                        + *

                                                        The description of the lineage group.

                                                        */ - PipelineExecutionArn: string | undefined; -} + Description?: string; -export namespace DescribePipelineExecutionRequest { /** - * @internal + *

                                                        The creation time of lineage group.

                                                        */ - export const filterSensitiveLog = (obj: DescribePipelineExecutionRequest): any => ({ - ...obj, - }); -} + CreationTime?: Date; -export enum PipelineExecutionStatus { - EXECUTING = "Executing", - FAILED = "Failed", - STOPPED = "Stopped", - STOPPING = "Stopping", - SUCCEEDED = "Succeeded", -} + /** + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        + */ + CreatedBy?: UserContext; -/** - *

                                                        Specifies the names of the experiment and trial created by a pipeline.

                                                        - */ -export interface PipelineExperimentConfig { /** - *

                                                        The name of the experiment.

                                                        + *

                                                        The last modified time of the lineage group.

                                                        */ - ExperimentName?: string; + LastModifiedTime?: Date; /** - *

                                                        The name of the trial.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - TrialName?: string; + LastModifiedBy?: UserContext; } -export namespace PipelineExperimentConfig { +export namespace DescribeLineageGroupResponse { /** * @internal */ - export const filterSensitiveLog = (obj: PipelineExperimentConfig): any => ({ + export const filterSensitiveLog = (obj: DescribeLineageGroupResponse): any => ({ ...obj, }); } -export interface DescribePipelineExecutionResponse { +export interface DescribeModelInput { /** - *

                                                        The Amazon Resource Name (ARN) of the pipeline.

                                                        + *

                                                        The name of the model.

                                                        */ - PipelineArn?: string; + ModelName: string | undefined; +} +export namespace DescribeModelInput { /** - *

                                                        The Amazon Resource Name (ARN) of the pipeline execution.

                                                        + * @internal */ - PipelineExecutionArn?: string; + export const filterSensitiveLog = (obj: DescribeModelInput): any => ({ + ...obj, + }); +} +export interface DescribeModelOutput { /** - *

                                                        The display name of the pipeline execution.

                                                        + *

                                                        Name of the Amazon SageMaker model.

                                                        */ - PipelineExecutionDisplayName?: string; + ModelName: string | undefined; /** - *

                                                        The status of the pipeline execution.

                                                        + *

                                                        The location of the primary inference code, associated artifacts, and custom + * environment map that the inference code uses when it is deployed in production. + *

                                                        */ - PipelineExecutionStatus?: PipelineExecutionStatus | string; + PrimaryContainer?: ContainerDefinition; /** - *

                                                        The description of the pipeline execution.

                                                        + *

                                                        The containers in the inference pipeline.

                                                        */ - PipelineExecutionDescription?: string; + Containers?: ContainerDefinition[]; /** - *

                                                        Specifies the names of the experiment and trial created by a pipeline.

                                                        + *

                                                        Specifies details of how containers in a multi-container endpoint are called.

                                                        */ - PipelineExperimentConfig?: PipelineExperimentConfig; + InferenceExecutionConfig?: InferenceExecutionConfig; /** - *

                                                        If the execution failed, a message describing why.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the IAM role that you specified for the + * model.

                                                        */ - FailureReason?: string; + ExecutionRoleArn: string | undefined; /** - *

                                                        The time when the pipeline execution was created.

                                                        + *

                                                        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 + *

                                                        */ - CreationTime?: Date; + VpcConfig?: VpcConfig; /** - *

                                                        The time when the pipeline execution was modified last.

                                                        + *

                                                        A timestamp that shows when the model was created.

                                                        */ - LastModifiedTime?: Date; + CreationTime: Date | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the model.

                                                        */ - CreatedBy?: UserContext; + ModelArn: string | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        If True, no inbound or outbound network calls can be made to or from the + * model container.

                                                        */ - LastModifiedBy?: UserContext; + EnableNetworkIsolation?: boolean; } -export namespace DescribePipelineExecutionResponse { +export namespace DescribeModelOutput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePipelineExecutionResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeModelOutput): any => ({ ...obj, }); } -export interface DescribeProcessingJobRequest { +export interface DescribeModelBiasJobDefinitionRequest { /** - *

                                                        The name of the processing job. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

                                                        + *

                                                        The name of the model bias job definition. The name must be unique within an Amazon Web Services Region + * in the Amazon Web Services account.

                                                        */ - ProcessingJobName: string | undefined; + JobDefinitionName: string | undefined; } -export namespace DescribeProcessingJobRequest { +export namespace DescribeModelBiasJobDefinitionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeProcessingJobRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeModelBiasJobDefinitionRequest): any => ({ ...obj, }); } diff --git a/clients/client-sagemaker/src/models/models_2.ts b/clients/client-sagemaker/src/models/models_2.ts index e04ddffa980d..f5c98041a1d5 100644 --- a/clients/client-sagemaker/src/models/models_2.ts +++ b/clients/client-sagemaker/src/models/models_2.ts @@ -1,5 +1,6 @@ import { ActionSummary, + AdditionalInferenceSpecificationDefinition, AgentVersion, AlgorithmSortBy, AlgorithmSpecification, @@ -24,6 +25,7 @@ import { CandidateStatus, Channel, CheckpointConfig, + ClarifyCheckStepMetadata, CodeRepositorySortBy, CodeRepositorySortOrder, CodeRepositorySummary, @@ -39,6 +41,10 @@ import { MetadataProperties, ModelApprovalStatus, ModelPackageStatus, + MonitoringNetworkConfig, + MonitoringOutputConfig, + MonitoringResources, + MonitoringStoppingCondition, OfflineStoreConfig, OnlineStoreConfig, OutputDataConfig, @@ -52,7 +58,6 @@ import { TransformInput, TransformOutput, TransformResources, - UiTemplate, UserContext, UserSettings, VpcConfig, @@ -64,10 +69,11 @@ import { DebugHookConfig, DebugRuleConfiguration, DebugRuleEvaluationStatus, + DirectInternetAccess, DomainStatus, + DriftCheckBaselines, EdgePackagingJobStatus, EndpointStatus, - ExecutionStatus, ExperimentConfig, ExperimentSource, FeatureGroupStatus, @@ -82,23 +88,27 @@ import { LabelingJobStatus, MemberDefinition, ModelArtifacts, + ModelBiasAppSpecification, + ModelBiasBaselineConfig, + ModelBiasJobInput, ModelClientConfig, + ModelExplainabilityAppSpecification, + ModelExplainabilityBaselineConfig, + ModelExplainabilityJobInput, ModelMetrics, - ModelPackageGroupStatus, - ModelPackageStatusDetails, ModelPackageValidationSpecification, - MonitoringExecutionSummary, + ModelQualityAppSpecification, + ModelQualityBaselineConfig, + ModelQualityJobInput, MonitoringScheduleConfig, MonitoringType, NetworkConfig, - NotebookInstanceStatus, + NotebookInstanceAcceleratorType, + NotebookInstanceLifecycleHook, NotificationConfiguration, ObjectiveStatusCounters, OfflineStoreStatus, OfflineStoreStatusValue, - PipelineExecutionStatus, - PipelineExperimentConfig, - PipelineStatus, ProcessingInput, ProcessingOutputConfig, ProcessingResources, @@ -106,8 +116,10 @@ import { ProductionVariantSummary, ProfilerConfig, ProfilerRuleConfiguration, + RecommendationJobStatus, + RecommendationJobType, + RootAccess, RuleEvaluationStatus, - ScheduleStatus, ServiceCatalogProvisioningDetails, SourceAlgorithmSpecification, SourceIpConfig, @@ -120,11490 +132,10732 @@ import { TrialComponentStatus, } from "./models_1"; -export enum ProcessingJobStatus { - COMPLETED = "Completed", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} +export interface DescribeModelBiasJobDefinitionResponse { + /** + *

                                                        The Amazon Resource Name (ARN) of the model bias job.

                                                        + */ + JobDefinitionArn: string | undefined; -export interface DescribeProcessingJobResponse { /** - *

                                                        The inputs for a processing job.

                                                        + *

                                                        The name of the bias job definition. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

                                                        */ - ProcessingInputs?: ProcessingInput[]; + JobDefinitionName: string | undefined; /** - *

                                                        Output configuration for the processing job.

                                                        + *

                                                        The time at which the model bias job was created.

                                                        */ - ProcessingOutputConfig?: ProcessingOutputConfig; + CreationTime: Date | undefined; /** - *

                                                        The name of the processing job. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

                                                        + *

                                                        The baseline configuration for a model bias job.

                                                        */ - ProcessingJobName: string | undefined; + ModelBiasBaselineConfig?: ModelBiasBaselineConfig; /** - *

                                                        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.

                                                        + *

                                                        Configures the model bias job to run a specified Docker container image.

                                                        */ - ProcessingResources: ProcessingResources | undefined; + ModelBiasAppSpecification: ModelBiasAppSpecification | undefined; /** - *

                                                        The time limit for how long the processing job is allowed to run.

                                                        + *

                                                        Inputs for the model bias job.

                                                        */ - StoppingCondition?: ProcessingStoppingCondition; + ModelBiasJobInput: ModelBiasJobInput | undefined; /** - *

                                                        Configures the processing job to run a specified container image.

                                                        + *

                                                        The output configuration for monitoring jobs.

                                                        */ - AppSpecification: AppSpecification | undefined; + ModelBiasJobOutputConfig: MonitoringOutputConfig | undefined; /** - *

                                                        The environment variables set in the Docker container.

                                                        + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        */ - Environment?: { [key: string]: string }; + JobResources: MonitoringResources | undefined; /** - *

                                                        Networking options for a processing job.

                                                        + *

                                                        Networking options for a model bias job.

                                                        */ - NetworkConfig?: NetworkConfig; + NetworkConfig?: MonitoringNetworkConfig; /** - *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on - * your behalf.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services 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.

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

                                                        The configuration information used to create an experiment.

                                                        + *

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        */ - ExperimentConfig?: ExperimentConfig; + StoppingCondition?: MonitoringStoppingCondition; +} +export namespace DescribeModelBiasJobDefinitionResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the processing job.

                                                        + * @internal */ - ProcessingJobArn: string | undefined; + export const filterSensitiveLog = (obj: DescribeModelBiasJobDefinitionResponse): any => ({ + ...obj, + }); +} +export interface DescribeModelExplainabilityJobDefinitionRequest { /** - *

                                                        Provides the status of a processing job.

                                                        + *

                                                        The name of the model explainability job definition. The name must be unique within an + * Amazon Web Services Region in the Amazon Web Services account.

                                                        */ - ProcessingJobStatus: ProcessingJobStatus | string | undefined; + JobDefinitionName: string | undefined; +} +export namespace DescribeModelExplainabilityJobDefinitionRequest { /** - *

                                                        An optional string, up to one KB in size, that contains metadata from the processing - * container when the processing job exits.

                                                        + * @internal */ - ExitMessage?: string; + export const filterSensitiveLog = (obj: DescribeModelExplainabilityJobDefinitionRequest): any => ({ + ...obj, + }); +} +export interface DescribeModelExplainabilityJobDefinitionResponse { /** - *

                                                        A string, up to one KB in size, that contains the reason a processing job failed, if - * it failed.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the model explainability job.

                                                        */ - FailureReason?: string; + JobDefinitionArn: string | undefined; /** - *

                                                        The time at which the processing job completed.

                                                        + *

                                                        The name of the explainability job definition. The name must be unique within an Amazon Web Services + * Region in the Amazon Web Services account.

                                                        */ - ProcessingEndTime?: Date; + JobDefinitionName: string | undefined; /** - *

                                                        The time at which the processing job started.

                                                        + *

                                                        The time at which the model explainability job was created.

                                                        */ - ProcessingStartTime?: Date; + CreationTime: Date | undefined; /** - *

                                                        The time at which the processing job was last modified.

                                                        + *

                                                        The baseline configuration for a model explainability job.

                                                        */ - LastModifiedTime?: Date; + ModelExplainabilityBaselineConfig?: ModelExplainabilityBaselineConfig; /** - *

                                                        The time at which the processing job was created.

                                                        + *

                                                        Configures the model explainability job to run a specified Docker container + * image.

                                                        */ - CreationTime: Date | undefined; + ModelExplainabilityAppSpecification: ModelExplainabilityAppSpecification | undefined; /** - *

                                                        The ARN of a monitoring schedule for an endpoint associated with this processing - * job.

                                                        + *

                                                        Inputs for the model explainability job.

                                                        */ - MonitoringScheduleArn?: string; + ModelExplainabilityJobInput: ModelExplainabilityJobInput | undefined; /** - *

                                                        The ARN of an AutoML job associated with this processing job.

                                                        + *

                                                        The output configuration for monitoring jobs.

                                                        */ - AutoMLJobArn?: string; + ModelExplainabilityJobOutputConfig: MonitoringOutputConfig | undefined; /** - *

                                                        The ARN of a training job associated with this processing job.

                                                        + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        */ - TrainingJobArn?: string; + JobResources: MonitoringResources | undefined; + + /** + *

                                                        Networking options for a model explainability job.

                                                        + */ + NetworkConfig?: MonitoringNetworkConfig; + + /** + *

                                                        The Amazon Resource Name (ARN) of the Amazon Web Services 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.

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

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + */ + StoppingCondition?: MonitoringStoppingCondition; } -export namespace DescribeProcessingJobResponse { +export namespace DescribeModelExplainabilityJobDefinitionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeProcessingJobResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeModelExplainabilityJobDefinitionResponse): any => ({ ...obj, }); } -export interface DescribeProjectInput { +export interface DescribeModelPackageInput { /** - *

                                                        The name of the project to describe.

                                                        + *

                                                        The name or Amazon Resource Name (ARN) of the model package to describe.

                                                        + *

                                                        When you specify a name, the name must have 1 to 63 characters. Valid + * characters are a-z, A-Z, 0-9, and - (hyphen).

                                                        */ - ProjectName: string | undefined; + ModelPackageName: string | undefined; } -export namespace DescribeProjectInput { +export namespace DescribeModelPackageInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeProjectInput): any => ({ + export const filterSensitiveLog = (obj: DescribeModelPackageInput): any => ({ ...obj, }); } -export enum ProjectStatus { - CREATE_COMPLETED = "CreateCompleted", - CREATE_FAILED = "CreateFailed", - CREATE_IN_PROGRESS = "CreateInProgress", - DELETE_COMPLETED = "DeleteCompleted", - DELETE_FAILED = "DeleteFailed", - DELETE_IN_PROGRESS = "DeleteInProgress", - PENDING = "Pending", - UPDATE_COMPLETED = "UpdateCompleted", - UPDATE_FAILED = "UpdateFailed", - UPDATE_IN_PROGRESS = "UpdateInProgress", +export enum DetailedModelPackageStatus { + COMPLETED = "Completed", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + NOT_STARTED = "NotStarted", } /** - *

                                                        Details of a provisioned service catalog product. For information about service catalog, - * see What is Amazon Web Services Service - * Catalog.

                                                        + *

                                                        Represents the overall status of a model package.

                                                        */ -export interface ServiceCatalogProvisionedProductDetails { +export interface ModelPackageStatusItem { /** - *

                                                        The ID of the provisioned product.

                                                        + *

                                                        The name of the model package for which the overall status is being reported.

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

                                                        The current status of the product.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

                                                          - *
                                                        • - *
                                                        + *

                                                        The current status.

                                                        */ - ProvisionedProductStatusMessage?: string; + Status: DetailedModelPackageStatus | string | undefined; + + /** + *

                                                        if the overall status is Failed, the reason for the failure.

                                                        + */ + FailureReason?: string; } -export namespace ServiceCatalogProvisionedProductDetails { +export namespace ModelPackageStatusItem { /** * @internal */ - export const filterSensitiveLog = (obj: ServiceCatalogProvisionedProductDetails): any => ({ + export const filterSensitiveLog = (obj: ModelPackageStatusItem): any => ({ ...obj, }); } -export interface DescribeProjectOutput { +/** + *

                                                        Specifies the validation and image scan statuses of the model package.

                                                        + */ +export interface ModelPackageStatusDetails { /** - *

                                                        The Amazon Resource Name (ARN) of the project.

                                                        + *

                                                        The validation status of the model package.

                                                        */ - ProjectArn: string | undefined; + ValidationStatuses: ModelPackageStatusItem[] | undefined; /** - *

                                                        The name of the project.

                                                        + *

                                                        The status of the scan of the Docker image container for the model package.

                                                        */ - ProjectName: string | undefined; + ImageScanStatuses?: ModelPackageStatusItem[]; +} +export namespace ModelPackageStatusDetails { /** - *

                                                        The ID of the project.

                                                        + * @internal */ - ProjectId: string | undefined; + export const filterSensitiveLog = (obj: ModelPackageStatusDetails): any => ({ + ...obj, + }); +} +export interface DescribeModelPackageOutput { /** - *

                                                        The description of the project.

                                                        + *

                                                        The name of the model package being described.

                                                        */ - ProjectDescription?: string; + ModelPackageName: string | undefined; /** - *

                                                        Information used to provision a service catalog product. For information, see What is Amazon Web Services Service - * Catalog.

                                                        + *

                                                        If the model is a versioned model, the name of the model group that the versioned + * model belongs to.

                                                        */ - ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined; + ModelPackageGroupName?: string; /** - *

                                                        Information about a provisioned service catalog product.

                                                        + *

                                                        The version of the model package.

                                                        */ - ServiceCatalogProvisionedProductDetails?: ServiceCatalogProvisionedProductDetails; + ModelPackageVersion?: number; /** - *

                                                        The status of the project.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the model package.

                                                        */ - ProjectStatus: ProjectStatus | string | undefined; + ModelPackageArn: string | undefined; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        A brief summary of the model package.

                                                        */ - CreatedBy?: UserContext; + ModelPackageDescription?: string; /** - *

                                                        The time when the project was created.

                                                        + *

                                                        A timestamp specifying when the model package was created.

                                                        */ CreationTime: Date | undefined; /** - *

                                                        The timestamp when project was last modified.

                                                        + *

                                                        Details about inference jobs that can be run with models based on this model + * package.

                                                        */ - LastModifiedTime?: Date; + InferenceSpecification?: InferenceSpecification; /** - *

                                                        Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                        + *

                                                        Details about the algorithm that was used to create the model package.

                                                        */ - LastModifiedBy?: UserContext; -} + SourceAlgorithmSpecification?: SourceAlgorithmSpecification; -export namespace DescribeProjectOutput { /** - * @internal + *

                                                        Configurations for one or more transform jobs that SageMaker runs to test the model + * package.

                                                        */ - export const filterSensitiveLog = (obj: DescribeProjectOutput): any => ({ - ...obj, - }); -} + ValidationSpecification?: ModelPackageValidationSpecification; -export interface DescribeStudioLifecycleConfigRequest { /** - *

                                                        The name of the Studio Lifecycle Configuration to describe.

                                                        + *

                                                        The current status of the model package.

                                                        */ - StudioLifecycleConfigName: string | undefined; -} + ModelPackageStatus: ModelPackageStatus | string | undefined; -export namespace DescribeStudioLifecycleConfigRequest { /** - * @internal + *

                                                        Details about the current status of the model package.

                                                        */ - export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigRequest): any => ({ - ...obj, - }); -} + ModelPackageStatusDetails: ModelPackageStatusDetails | undefined; -export interface DescribeStudioLifecycleConfigResponse { /** - *

                                                        The ARN of the Lifecycle Configuration to describe.

                                                        + *

                                                        Whether the model package is certified for listing on Amazon Web Services Marketplace.

                                                        */ - StudioLifecycleConfigArn?: string; + CertifyForMarketplace?: boolean; /** - *

                                                        The name of the Studio Lifecycle Configuration that is described.

                                                        + *

                                                        The approval status of the model package.

                                                        */ - StudioLifecycleConfigName?: string; + ModelApprovalStatus?: ModelApprovalStatus | string; /** - *

                                                        The creation time of the Studio Lifecycle Configuration.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - CreationTime?: Date; + CreatedBy?: UserContext; /** - *

                                                        This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

                                                        + *

                                                        Metadata properties of the tracking entity, trial, or trial component.

                                                        */ - LastModifiedTime?: Date; + MetadataProperties?: MetadataProperties; /** - *

                                                        The content of your Studio Lifecycle Configuration script.

                                                        + *

                                                        Metrics for the model.

                                                        */ - StudioLifecycleConfigContent?: string; + ModelMetrics?: ModelMetrics; /** - *

                                                        The App type that the Lifecycle Configuration is attached to.

                                                        + *

                                                        The last time the model package was modified.

                                                        */ - StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; -} + LastModifiedTime?: Date; -export namespace DescribeStudioLifecycleConfigResponse { /** - * @internal + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigResponse): any => ({ - ...obj, - }); -} + LastModifiedBy?: UserContext; -export interface DescribeSubscribedWorkteamRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the subscribed work team to describe.

                                                        + *

                                                        A description provided for the model approval.

                                                        */ - WorkteamArn: string | undefined; -} + ApprovalDescription?: string; -export namespace DescribeSubscribedWorkteamRequest { /** - * @internal + *

                                                        The metadata properties associated with the model package versions.

                                                        */ - export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamRequest): any => ({ - ...obj, - }); -} + CustomerMetadataProperties?: { [key: string]: string }; -/** - *

                                                        Describes a work team of a vendor that does the a labelling job.

                                                        - */ -export interface SubscribedWorkteam { /** - *

                                                        The Amazon Resource Name (ARN) of the vendor that you have subscribed.

                                                        + *

                                                        Represents the drift check baselines that can be used when the model monitor is set using the model package. + * For more information, see the topic on Drift Detection against Previous Baselines in SageMaker Pipelines in the Amazon SageMaker Developer Guide. + *

                                                        */ - WorkteamArn: string | undefined; + DriftCheckBaselines?: DriftCheckBaselines; /** - *

                                                        The title of the service provided by the vendor in the Amazon Marketplace.

                                                        + *

                                                        The machine learning domain of the model package you specified. Common machine + * learning domains include computer vision and natural language processing.

                                                        */ - MarketplaceTitle?: string; + Domain?: string; /** - *

                                                        The name of the vendor in the Amazon Marketplace.

                                                        + *

                                                        The machine learning task you specified that your model package accomplishes. + * Common machine learning tasks include object detection and image classification.

                                                        */ - SellerName?: string; + Task?: string; /** - *

                                                        The description of the vendor from the Amazon Marketplace.

                                                        + *

                                                        The Amazon Simple Storage Service (Amazon S3) path where the sample payload are stored. This path points to a single + * gzip compressed tar archive (.tar.gz suffix).

                                                        */ - MarketplaceDescription?: string; + SamplePayloadUrl?: string; /** - *

                                                        Marketplace product listing ID.

                                                        + *

                                                        An array of additional Inference Specification objects. Each additional + * Inference Specification specifies artifacts based on this model package that can + * be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.

                                                        */ - ListingId?: string; + AdditionalInferenceSpecifications?: AdditionalInferenceSpecificationDefinition[]; } -export namespace SubscribedWorkteam { +export namespace DescribeModelPackageOutput { /** * @internal */ - export const filterSensitiveLog = (obj: SubscribedWorkteam): any => ({ + export const filterSensitiveLog = (obj: DescribeModelPackageOutput): any => ({ ...obj, }); } -export interface DescribeSubscribedWorkteamResponse { +export interface DescribeModelPackageGroupInput { /** - *

                                                        A Workteam instance that contains information about the work team.

                                                        + *

                                                        The name of the model group to describe.

                                                        */ - SubscribedWorkteam: SubscribedWorkteam | undefined; + ModelPackageGroupName: string | undefined; } -export namespace DescribeSubscribedWorkteamResponse { +export namespace DescribeModelPackageGroupInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeModelPackageGroupInput): any => ({ ...obj, }); } -export interface DescribeTrainingJobRequest { +export enum ModelPackageGroupStatus { + COMPLETED = "Completed", + DELETE_FAILED = "DeleteFailed", + DELETING = "Deleting", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + PENDING = "Pending", +} + +export interface DescribeModelPackageGroupOutput { /** - *

                                                        The name of the training job.

                                                        + *

                                                        The name of the model group.

                                                        */ - TrainingJobName: string | undefined; -} + ModelPackageGroupName: string | undefined; -export namespace DescribeTrainingJobRequest { /** - * @internal + *

                                                        The Amazon Resource Name (ARN) of the model group.

                                                        */ - export const filterSensitiveLog = (obj: DescribeTrainingJobRequest): any => ({ - ...obj, - }); -} + ModelPackageGroupArn: string | undefined; -/** - *

                                                        The name, value, and date and time of a metric that was emitted to Amazon CloudWatch.

                                                        - */ -export interface MetricData { /** - *

                                                        The name of the metric.

                                                        + *

                                                        A description of the model group.

                                                        */ - MetricName?: string; + ModelPackageGroupDescription?: string; /** - *

                                                        The value of the metric.

                                                        + *

                                                        The time that the model group was created.

                                                        */ - Value?: number; + CreationTime: Date | undefined; /** - *

                                                        The date and time that the algorithm emitted the metric.

                                                        + *

                                                        Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                        */ - Timestamp?: Date; + CreatedBy: UserContext | undefined; + + /** + *

                                                        The status of the model group.

                                                        + */ + ModelPackageGroupStatus: ModelPackageGroupStatus | string | undefined; } -export namespace MetricData { +export namespace DescribeModelPackageGroupOutput { /** * @internal */ - export const filterSensitiveLog = (obj: MetricData): any => ({ + export const filterSensitiveLog = (obj: DescribeModelPackageGroupOutput): any => ({ ...obj, }); } -/** - *

                                                        Information about the status of the rule evaluation.

                                                        - */ -export interface ProfilerRuleEvaluationStatus { +export interface DescribeModelQualityJobDefinitionRequest { /** - *

                                                        The name of the rule configuration.

                                                        + *

                                                        The name of the model quality job. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

                                                        */ - RuleConfigurationName?: string; + JobDefinitionName: string | undefined; +} +export namespace DescribeModelQualityJobDefinitionRequest { /** - *

                                                        The Amazon Resource Name (ARN) of the rule evaluation job.

                                                        + * @internal */ - RuleEvaluationJobArn?: string; + export const filterSensitiveLog = (obj: DescribeModelQualityJobDefinitionRequest): any => ({ + ...obj, + }); +} +export interface DescribeModelQualityJobDefinitionResponse { /** - *

                                                        Status of the rule evaluation.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the model quality job.

                                                        */ - RuleEvaluationStatus?: RuleEvaluationStatus | string; + JobDefinitionArn: string | undefined; /** - *

                                                        Details from the rule evaluation.

                                                        + *

                                                        The name of the quality job definition. The name must be unique within an Amazon Web Services Region in + * the Amazon Web Services account.

                                                        */ - StatusDetails?: string; + JobDefinitionName: string | undefined; /** - *

                                                        Timestamp when the rule evaluation status was last modified.

                                                        + *

                                                        The time at which the model quality job was created.

                                                        */ - LastModifiedTime?: Date; + CreationTime: Date | undefined; + + /** + *

                                                        The baseline configuration for a model quality job.

                                                        + */ + ModelQualityBaselineConfig?: ModelQualityBaselineConfig; + + /** + *

                                                        Configures the model quality job to run a specified Docker container image.

                                                        + */ + ModelQualityAppSpecification: ModelQualityAppSpecification | undefined; + + /** + *

                                                        Inputs for the model quality job.

                                                        + */ + ModelQualityJobInput: ModelQualityJobInput | undefined; + + /** + *

                                                        The output configuration for monitoring jobs.

                                                        + */ + ModelQualityJobOutputConfig: MonitoringOutputConfig | undefined; + + /** + *

                                                        Identifies the resources to deploy for a monitoring job.

                                                        + */ + JobResources: MonitoringResources | undefined; + + /** + *

                                                        Networking options for a model quality job.

                                                        + */ + NetworkConfig?: MonitoringNetworkConfig; + + /** + *

                                                        The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to + * perform tasks on your behalf.

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

                                                        A time limit for how long the monitoring job is allowed to run before stopping.

                                                        + */ + StoppingCondition?: MonitoringStoppingCondition; } -export namespace ProfilerRuleEvaluationStatus { +export namespace DescribeModelQualityJobDefinitionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ProfilerRuleEvaluationStatus): any => ({ + export const filterSensitiveLog = (obj: DescribeModelQualityJobDefinitionResponse): any => ({ ...obj, }); } -export enum ProfilingStatus { - DISABLED = "Disabled", - ENABLED = "Enabled", +export interface DescribeMonitoringScheduleRequest { + /** + *

                                                        Name of a previously created monitoring schedule.

                                                        + */ + MonitoringScheduleName: string | undefined; } -export enum SecondaryStatus { +export namespace DescribeMonitoringScheduleRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeMonitoringScheduleRequest): any => ({ + ...obj, + }); +} + +export enum ExecutionStatus { COMPLETED = "Completed", - DOWNLOADING = "Downloading", - DOWNLOADING_TRAINING_IMAGE = "DownloadingTrainingImage", + COMPLETED_WITH_VIOLATIONS = "CompletedWithViolations", FAILED = "Failed", - INTERRUPTED = "Interrupted", - LAUNCHING_ML_INSTANCES = "LaunchingMLInstances", - MAX_RUNTIME_EXCEEDED = "MaxRuntimeExceeded", - MAX_WAIT_TIME_EXCEEDED = "MaxWaitTimeExceeded", - PREPARING_TRAINING_STACK = "PreparingTrainingStack", - RESTARTING = "Restarting", - STARTING = "Starting", + IN_PROGRESS = "InProgress", + PENDING = "Pending", STOPPED = "Stopped", STOPPING = "Stopping", - TRAINING = "Training", - UPDATING = "Updating", - UPLOADING = "Uploading", } /** - *

                                                        An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. It provides - * additional details about a status that the training job has transitioned through. A - * training job can be in one of several states, for example, starting, downloading, - * training, or uploading. Within each state, there are a number of intermediate states. - * For example, within the starting state, Amazon SageMaker could be starting the training job or - * launching the ML instances. These transitional states are referred to as the job's - * secondary - * status. - *

                                                        - *

                                                        + *

                                                        Summary of information about the last monitoring job to run.

                                                        */ -export interface SecondaryStatusTransition { +export interface MonitoringExecutionSummary { /** - *

                                                        Contains a secondary status information from a training - * job.

                                                        - *

                                                        Status might be one of the following secondary statuses:

                                                        - *
                                                        - *
                                                        InProgress
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Starting - * - Starting the training job.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Downloading - An optional stage for algorithms that - * support File training input mode. It indicates that - * data is being downloaded to the ML storage volumes.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Training - Training is in progress.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Uploading - Training is complete and the model - * artifacts are being uploaded to the S3 location.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Completed
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Completed - The training job has completed.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Failed
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Failed - The training job has failed. The reason for - * the failure is returned in the FailureReason field of - * DescribeTrainingJobResponse.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Stopped
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * MaxRuntimeExceeded - The job stopped because it - * exceeded the maximum allowed runtime.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Stopped - The training job has stopped.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Stopping
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Stopping - Stopping the training job.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        - *

                                                        We no longer support the following secondary statuses:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * LaunchingMLInstances - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * PreparingTrainingStack - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * DownloadingTrainingImage - *

                                                          - *
                                                        • - *
                                                        + *

                                                        The name of the monitoring schedule.

                                                        */ - Status: SecondaryStatus | string | undefined; + MonitoringScheduleName: string | undefined; /** - *

                                                        A timestamp that shows when the training job transitioned to the current secondary - * status state.

                                                        + *

                                                        The time the monitoring job was scheduled.

                                                        */ - StartTime: Date | undefined; + ScheduledTime: Date | 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.

                                                        + *

                                                        The time at which the monitoring job was created.

                                                        */ - EndTime?: Date; + CreationTime: Date | undefined; /** - *

                                                        A detailed description of the progress within a secondary status. - *

                                                        - *

                                                        Amazon SageMaker provides secondary statuses and status messages that apply to each of - * them:

                                                        - *
                                                        - *
                                                        Starting
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          Starting the training job.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Launching requested ML - * instances.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Insufficient - * capacity error from EC2 while launching instances, - * retrying!

                                                          - *
                                                        • - *
                                                        • - *

                                                          Launched - * instance was unhealthy, replacing it!

                                                          - *
                                                        • - *
                                                        • - *

                                                          Preparing the instances for training.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Training
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          Downloading the training image.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Training - * image download completed. Training in - * progress.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        - * - *

                                                        Status messages are subject to change. Therefore, we recommend not including them - * in code that programmatically initiates actions. For examples, don't use status - * messages in if statements.

                                                        - *
                                                        - *

                                                        To have an overview of your training job's progress, view - * TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For - * example, at the start of a training job, you might see the following:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * TrainingJobStatus - InProgress

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * SecondaryStatus - Training

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * StatusMessage - Downloading the training image

                                                          - *
                                                        • - *
                                                        + *

                                                        A timestamp that indicates the last time the monitoring job was modified.

                                                        */ - StatusMessage?: string; -} + LastModifiedTime: Date | undefined; -export namespace SecondaryStatusTransition { /** - * @internal + *

                                                        The status of the monitoring job.

                                                        */ - export const filterSensitiveLog = (obj: SecondaryStatusTransition): any => ({ - ...obj, - }); -} + MonitoringExecutionStatus: ExecutionStatus | string | undefined; -export interface DescribeTrainingJobResponse { /** - *

                                                        Name of the model training job.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the monitoring job.

                                                        */ - TrainingJobName: string | undefined; + ProcessingJobArn?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the training job.

                                                        + *

                                                        The name of the endpoint used to run the monitoring job.

                                                        */ - TrainingJobArn: string | undefined; + EndpointName?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the - * training job was launched by a hyperparameter tuning job.

                                                        + *

                                                        Contains the reason a monitoring job failed, if it failed.

                                                        */ - TuningJobArn?: string; + FailureReason?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the - * transform or training job.

                                                        + *

                                                        The name of the monitoring job.

                                                        */ - LabelingJobArn?: string; + MonitoringJobDefinitionName?: string; /** - *

                                                        The Amazon Resource Name (ARN) of an AutoML job.

                                                        + *

                                                        The type of the monitoring job.

                                                        */ - AutoMLJobArn?: string; + MonitoringType?: MonitoringType | string; +} +export namespace MonitoringExecutionSummary { /** - *

                                                        Information about the Amazon S3 location that is configured for storing model artifacts. - *

                                                        + * @internal */ - ModelArtifacts: ModelArtifacts | undefined; + export const filterSensitiveLog = (obj: MonitoringExecutionSummary): any => ({ + ...obj, + }); +} + +export enum ScheduleStatus { + FAILED = "Failed", + PENDING = "Pending", + SCHEDULED = "Scheduled", + STOPPED = "Stopped", +} +export interface DescribeMonitoringScheduleResponse { /** - *

                                                        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.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the monitoring schedule.

                                                        */ - TrainingJobStatus: TrainingJobStatus | string | undefined; + MonitoringScheduleArn: string | undefined; /** - *

                                                        Provides detailed information about the state of the training job. For detailed - * information on the secondary status of the training job, see StatusMessage - * under SecondaryStatusTransition.

                                                        - *

                                                        Amazon SageMaker provides primary statuses and secondary statuses that apply to each of - * them:

                                                        - *
                                                        - *
                                                        InProgress
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Starting - * - Starting the training job.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Downloading - An optional stage for algorithms that - * support File training input mode. It indicates that - * data is being downloaded to the ML storage volumes.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Training - Training is in progress.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Interrupted - The job stopped because the managed - * spot training instances were interrupted.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Uploading - Training is complete and the model - * artifacts are being uploaded to the S3 location.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Completed
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Completed - The training job has completed.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Failed
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Failed - The training job has failed. The reason for - * the failure is returned in the FailureReason field of - * DescribeTrainingJobResponse.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Stopped
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * MaxRuntimeExceeded - The job stopped because it - * exceeded the maximum allowed runtime.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * MaxWaitTimeExceeded - The job stopped because it - * exceeded the maximum allowed wait time.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Stopped - The training job has stopped.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        Stopping
                                                        - *
                                                        - *
                                                          - *
                                                        • - *

                                                          - * Stopping - Stopping the training job.

                                                          - *
                                                        • - *
                                                        - *
                                                        - *
                                                        - * - * - *

                                                        Valid values for SecondaryStatus are subject to change.

                                                        - *
                                                        - *

                                                        We no longer support the following secondary statuses:

                                                        - *
                                                          + *

                                                          Name of the monitoring schedule.

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

                                                          The status of an monitoring job.

                                                          + */ + MonitoringScheduleStatus: ScheduleStatus | string | undefined; + + /** + *

                                                          The type of the monitoring job that this schedule runs. This is one of the following + * values.

                                                          + *
                                                            *
                                                          • - *

                                                            - * LaunchingMLInstances - *

                                                            + *

                                                            + * DATA_QUALITY - The schedule is for a data quality monitoring + * job.

                                                            *
                                                          • *
                                                          • - *

                                                            - * PreparingTraining - *

                                                            + *

                                                            + * MODEL_QUALITY - The schedule is for a model quality monitoring + * job.

                                                            *
                                                          • *
                                                          • - *

                                                            - * DownloadingTrainingImage - *

                                                            + *

                                                            + * MODEL_BIAS - The schedule is for a bias monitoring job.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * MODEL_EXPLAINABILITY - The schedule is for an explainability + * monitoring job.

                                                            *
                                                          • *
                                                          */ - SecondaryStatus: SecondaryStatus | string | undefined; + MonitoringType?: MonitoringType | string; /** - *

                                                          If the training job failed, the reason it failed.

                                                          + *

                                                          A string, up to one KB in size, that contains the reason a monitoring job failed, if it + * failed.

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

                                                          Algorithm-specific parameters.

                                                          + *

                                                          The time at which the monitoring job was created.

                                                          */ - HyperParameters?: { [key: string]: string }; + CreationTime: Date | undefined; /** - *

                                                          Information about the algorithm used for training, and algorithm metadata. - *

                                                          + *

                                                          The time at which the monitoring job was last modified.

                                                          */ - AlgorithmSpecification: AlgorithmSpecification | undefined; + LastModifiedTime: Date | undefined; /** - *

                                                          The Amazon Web Services Identity and Access Management (IAM) role configured for the training job.

                                                          + *

                                                          The configuration object that specifies the monitoring schedule and defines the + * monitoring job.

                                                          */ - RoleArn?: string; + MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; /** - *

                                                          An array of Channel objects that describes each data input channel. - *

                                                          + *

                                                          The name of the endpoint for the monitoring job.

                                                          */ - InputDataConfig?: Channel[]; + EndpointName?: string; /** - *

                                                          The S3 path where model artifacts that you configured when creating the job are - * stored. Amazon SageMaker creates subfolders for model artifacts.

                                                          + *

                                                          Describes metadata on the last execution to run, if there was one.

                                                          */ - OutputDataConfig?: OutputDataConfig; - - /** - *

                                                          Resources, including ML compute instances and ML storage volumes, that are - * configured for model training.

                                                          - */ - ResourceConfig: ResourceConfig | undefined; + LastMonitoringExecutionSummary?: MonitoringExecutionSummary; +} +export namespace DescribeMonitoringScheduleResponse { /** - *

                                                          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.

                                                          + * @internal */ - VpcConfig?: VpcConfig; + export const filterSensitiveLog = (obj: DescribeMonitoringScheduleResponse): any => ({ + ...obj, + }); +} +export interface DescribeNotebookInstanceInput { /** - *

                                                          Specifies a limit to how long a model training job can run. It also specifies how long - * a managed Spot training job has to complete. 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.

                                                          + *

                                                          The name of the notebook instance that you want information about.

                                                          */ - StoppingCondition: StoppingCondition | undefined; + NotebookInstanceName: string | undefined; +} +export namespace DescribeNotebookInstanceInput { /** - *

                                                          A timestamp that indicates when the training job was created.

                                                          + * @internal */ - CreationTime: Date | undefined; + export const filterSensitiveLog = (obj: DescribeNotebookInstanceInput): any => ({ + ...obj, + }); +} - /** - *

                                                          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; +export enum NotebookInstanceStatus { + Deleting = "Deleting", + Failed = "Failed", + InService = "InService", + Pending = "Pending", + Stopped = "Stopped", + Stopping = "Stopping", + Updating = "Updating", +} +export interface DescribeNotebookInstanceOutput { /** - *

                                                          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.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the notebook instance.

                                                          */ - TrainingEndTime?: Date; + NotebookInstanceArn?: string; /** - *

                                                          A timestamp that indicates when the status of the training job was last - * modified.

                                                          + *

                                                          The name of the Amazon SageMaker notebook instance.

                                                          */ - LastModifiedTime?: Date; + NotebookInstanceName?: string; /** - *

                                                          A history of all of the secondary statuses that the training job has transitioned - * through.

                                                          + *

                                                          The status of the notebook instance.

                                                          */ - SecondaryStatusTransitions?: SecondaryStatusTransition[]; + NotebookInstanceStatus?: NotebookInstanceStatus | string; /** - *

                                                          A collection of MetricData objects that specify the names, values, and - * dates and times that the training algorithm emitted to Amazon CloudWatch.

                                                          + *

                                                          If status is Failed, the reason it failed.

                                                          */ - FinalMetricDataList?: MetricData[]; + FailureReason?: 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.

                                                          + *

                                                          The URL that you use to connect to the Jupyter notebook that is running in your + * notebook instance.

                                                          */ - EnableNetworkIsolation?: boolean; + Url?: 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.

                                                          + *

                                                          The type of ML compute instance running on the notebook instance.

                                                          */ - EnableInterContainerTrafficEncryption?: boolean; + InstanceType?: _InstanceType | string; /** - *

                                                          A Boolean indicating whether managed spot training is enabled (True) or - * not (False).

                                                          + *

                                                          The ID of the VPC subnet.

                                                          */ - EnableManagedSpotTraining?: boolean; + SubnetId?: string; /** - *

                                                          Contains information about the output location for managed spot training checkpoint - * data.

                                                          + *

                                                          The IDs of the VPC security groups.

                                                          */ - CheckpointConfig?: CheckpointConfig; + SecurityGroups?: string[]; /** - *

                                                          The training time in seconds.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the IAM role associated with the instance. + *

                                                          */ - TrainingTimeInSeconds?: number; + RoleArn?: string; /** - *

                                                          The billable time in seconds. Billable time refers to the absolute wall-clock - * time.

                                                          - *

                                                          Multiply BillableTimeInSeconds by the number of instances - * (InstanceCount) in your training cluster to get the total compute time - * SageMaker will bill you if you run distributed training. The formula is as follows: - * BillableTimeInSeconds * InstanceCount .

                                                          - *

                                                          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%.

                                                          + *

                                                          The Amazon Web Services KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage + * volume attached to the instance.

                                                          */ - BillableTimeInSeconds?: number; + KmsKeyId?: string; /** - *

                                                          Configuration information for the Debugger hook parameters, metric and tensor collections, and - * storage paths. To learn more about - * how to configure the DebugHookConfig parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                          + *

                                                          The network interface IDs that Amazon SageMaker created at the time of creating the instance. + *

                                                          */ - DebugHookConfig?: DebugHookConfig; + NetworkInterfaceId?: string; /** - *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                          - * + *

                                                          A timestamp. Use this parameter to retrieve the time when the notebook instance was + * last modified.

                                                          */ - ExperimentConfig?: ExperimentConfig; + LastModifiedTime?: Date; /** - *

                                                          Configuration information for Debugger rules for debugging output tensors.

                                                          + *

                                                          A timestamp. Use this parameter to return the time when the notebook instance was + * created

                                                          */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; + CreationTime?: Date; /** - *

                                                          Configuration of storage locations for the Debugger TensorBoard output data.

                                                          + *

                                                          Returns the name of a notebook instance lifecycle configuration.

                                                          + *

                                                          For information about notebook instance lifestyle configurations, see Step + * 2.1: (Optional) Customize a Notebook Instance + *

                                                          */ - TensorBoardOutputConfig?: TensorBoardOutputConfig; + NotebookInstanceLifecycleConfigName?: string; /** - *

                                                          Evaluation status of Debugger rules for debugging on a training job.

                                                          + *

                                                          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.

                                                          */ - DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; + DirectInternetAccess?: DirectInternetAccess | string; /** - *

                                                          Configuration information for Debugger system monitoring, framework profiling, and - * storage paths.

                                                          + *

                                                          The size, in GB, of the ML storage volume attached to the notebook instance.

                                                          */ - ProfilerConfig?: ProfilerConfig; + VolumeSizeInGB?: number; /** - *

                                                          Configuration information for Debugger rules for profiling system and framework - * metrics.

                                                          + *

                                                          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.

                                                          */ - ProfilerRuleConfigurations?: ProfilerRuleConfiguration[]; + AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; /** - *

                                                          Evaluation status of Debugger rules for profiling on a training job.

                                                          + *

                                                          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 Amazon Web Services 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.

                                                          */ - ProfilerRuleEvaluationStatuses?: ProfilerRuleEvaluationStatus[]; + DefaultCodeRepository?: string; /** - *

                                                          Profiling status of a training job.

                                                          + *

                                                          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 Amazon Web Services 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.

                                                          */ - ProfilingStatus?: ProfilingStatus | string; + AdditionalCodeRepositories?: string[]; /** - *

                                                          The number of times to retry the job when the job fails due to an - * InternalServerError.

                                                          + *

                                                          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.

                                                          + *
                                                          */ - RetryStrategy?: RetryStrategy; + RootAccess?: RootAccess | string; /** - *

                                                          The environment variables to set in the Docker container.

                                                          + *

                                                          The platform identifier of the notebook instance runtime environment.

                                                          */ - Environment?: { [key: string]: string }; + PlatformIdentifier?: string; } -export namespace DescribeTrainingJobResponse { +export namespace DescribeNotebookInstanceOutput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrainingJobResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeNotebookInstanceOutput): any => ({ ...obj, }); } -export interface DescribeTransformJobRequest { +export interface DescribeNotebookInstanceLifecycleConfigInput { /** - *

                                                          The name of the transform job that you want to view details of.

                                                          + *

                                                          The name of the lifecycle configuration to describe.

                                                          */ - TransformJobName: string | undefined; + NotebookInstanceLifecycleConfigName: string | undefined; } -export namespace DescribeTransformJobRequest { +export namespace DescribeNotebookInstanceLifecycleConfigInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransformJobRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNotebookInstanceLifecycleConfigInput): any => ({ ...obj, }); } -export enum TransformJobStatus { - COMPLETED = "Completed", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - STOPPED = "Stopped", - STOPPING = "Stopping", -} - -export interface DescribeTransformJobResponse { +export interface DescribeNotebookInstanceLifecycleConfigOutput { /** - *

                                                          The name of the transform job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                          */ - TransformJobName: string | undefined; + NotebookInstanceLifecycleConfigArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the transform job.

                                                          + *

                                                          The name of the lifecycle configuration.

                                                          */ - TransformJobArn: string | undefined; + NotebookInstanceLifecycleConfigName?: string; /** - *

                                                          The - * status of the transform job. If the transform job failed, the reason - * is returned in the FailureReason field.

                                                          + *

                                                          The shell script that runs only once, when you create a notebook instance.

                                                          */ - TransformJobStatus: TransformJobStatus | string | undefined; + OnCreate?: NotebookInstanceLifecycleHook[]; /** - *

                                                          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.

                                                          + *

                                                          The shell script that runs every time you start a notebook instance, including when + * you create the notebook instance.

                                                          */ - FailureReason?: string; + OnStart?: NotebookInstanceLifecycleHook[]; /** - *

                                                          The name of the model used in the transform job.

                                                          + *

                                                          A timestamp that tells when the lifecycle configuration was last modified.

                                                          */ - ModelName: string | undefined; + LastModifiedTime?: Date; /** - *

                                                          The - * maximum number - * of - * parallel requests on each instance node - * that can be launched in a transform job. The default value is 1.

                                                          + *

                                                          A timestamp that tells when the lifecycle configuration was created.

                                                          */ - MaxConcurrentTransforms?: number; + CreationTime?: Date; +} +export namespace DescribeNotebookInstanceLifecycleConfigOutput { /** - *

                                                          The timeout and maximum number of retries for processing a transform job - * invocation.

                                                          + * @internal */ - ModelClientConfig?: ModelClientConfig; + export const filterSensitiveLog = (obj: DescribeNotebookInstanceLifecycleConfigOutput): any => ({ + ...obj, + }); +} +export interface DescribePipelineRequest { /** - *

                                                          The - * maximum - * payload size, in MB, used in the - * transform job.

                                                          + *

                                                          The name of the pipeline to describe.

                                                          */ - MaxPayloadInMB?: number; + PipelineName: string | undefined; +} +export namespace DescribePipelineRequest { /** - *

                                                          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.

                                                          - *

                                                          To enable the batch strategy, you must set SplitType - * to - * Line, RecordIO, or - * TFRecord.

                                                          + * @internal */ - BatchStrategy?: BatchStrategy | string; + export const filterSensitiveLog = (obj: DescribePipelineRequest): any => ({ + ...obj, + }); +} - /** - *

                                                          The - * environment variables to set in the Docker container. We support up to 16 key and values - * entries in the map.

                                                          - */ - Environment?: { [key: string]: string }; +export enum PipelineStatus { + ACTIVE = "Active", +} +export interface DescribePipelineResponse { /** - *

                                                          Describes the dataset to be transformed and the Amazon S3 location where it is - * stored.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline.

                                                          */ - TransformInput: TransformInput | undefined; + PipelineArn?: string; /** - *

                                                          Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the - * transform job.

                                                          + *

                                                          The name of the pipeline.

                                                          */ - TransformOutput?: TransformOutput; + PipelineName?: string; /** - *

                                                          Describes - * the resources, including ML instance types and ML instance count, to - * use for the transform job.

                                                          + *

                                                          The display name of the pipeline.

                                                          */ - TransformResources: TransformResources | undefined; + PipelineDisplayName?: string; /** - *

                                                          A timestamp that shows when the transform Job was created.

                                                          + *

                                                          The JSON pipeline definition.

                                                          */ - CreationTime: Date | undefined; + PipelineDefinition?: string; /** - *

                                                          Indicates when the transform job starts - * on - * ML instances. You are billed for the time interval between this time - * and the value of TransformEndTime.

                                                          + *

                                                          The description of the pipeline.

                                                          */ - TransformStartTime?: Date; + PipelineDescription?: 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.

                                                          + *

                                                          The Amazon Resource Name (ARN) that the pipeline uses to execute.

                                                          */ - TransformEndTime?: Date; + RoleArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the - * transform or training job.

                                                          + *

                                                          The status of the pipeline execution.

                                                          */ - LabelingJobArn?: string; + PipelineStatus?: PipelineStatus | string; /** - *

                                                          The Amazon Resource Name (ARN) of the AutoML transform job.

                                                          + *

                                                          The time when the pipeline was created.

                                                          */ - AutoMLJobArn?: string; + CreationTime?: Date; /** - *

                                                          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 time when the pipeline was last modified.

                                                          */ - DataProcessing?: DataProcessing; + LastModifiedTime?: Date; /** - *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                          - * + *

                                                          The time when the pipeline was last run.

                                                          */ - ExperimentConfig?: ExperimentConfig; -} + LastRunTime?: Date; -export namespace DescribeTransformJobResponse { /** - * @internal + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTransformJobResponse): any => ({ - ...obj, - }); -} + CreatedBy?: UserContext; -export interface DescribeTrialRequest { /** - *

                                                          The name of the trial to describe.

                                                          + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - TrialName: string | undefined; + LastModifiedBy?: UserContext; } -export namespace DescribeTrialRequest { +export namespace DescribePipelineResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrialRequest): any => ({ + export const filterSensitiveLog = (obj: DescribePipelineResponse): any => ({ ...obj, }); } -/** - *

                                                          The source of the trial.

                                                          - */ -export interface TrialSource { - /** - *

                                                          The Amazon Resource Name (ARN) of the source.

                                                          - */ - SourceArn: string | undefined; - +export interface DescribePipelineDefinitionForExecutionRequest { /** - *

                                                          The source job type.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          */ - SourceType?: string; + PipelineExecutionArn: string | undefined; } -export namespace TrialSource { +export namespace DescribePipelineDefinitionForExecutionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrialSource): any => ({ + export const filterSensitiveLog = (obj: DescribePipelineDefinitionForExecutionRequest): any => ({ ...obj, }); } -export interface DescribeTrialResponse { - /** - *

                                                          The name of the trial.

                                                          - */ - TrialName?: string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          - */ - TrialArn?: string; - +export interface DescribePipelineDefinitionForExecutionResponse { /** - *

                                                          The name of the trial as displayed. If DisplayName isn't specified, - * TrialName is displayed.

                                                          + *

                                                          The JSON pipeline definition.

                                                          */ - DisplayName?: string; + PipelineDefinition?: string; /** - *

                                                          The name of the experiment the trial is part of.

                                                          + *

                                                          The time when the pipeline was created.

                                                          */ - ExperimentName?: string; + CreationTime?: Date; +} +export namespace DescribePipelineDefinitionForExecutionResponse { /** - *

                                                          The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                                          + * @internal */ - Source?: TrialSource; + export const filterSensitiveLog = (obj: DescribePipelineDefinitionForExecutionResponse): any => ({ + ...obj, + }); +} +export interface DescribePipelineExecutionRequest { /** - *

                                                          When the trial was created.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          */ - CreationTime?: Date; + PipelineExecutionArn: string | undefined; +} +export namespace DescribePipelineExecutionRequest { /** - *

                                                          Who created the trial.

                                                          + * @internal */ - CreatedBy?: UserContext; + export const filterSensitiveLog = (obj: DescribePipelineExecutionRequest): any => ({ + ...obj, + }); +} - /** - *

                                                          When the trial was last modified.

                                                          - */ - LastModifiedTime?: Date; +export enum PipelineExecutionStatus { + EXECUTING = "Executing", + FAILED = "Failed", + STOPPED = "Stopped", + STOPPING = "Stopping", + SUCCEEDED = "Succeeded", +} +/** + *

                                                          Specifies the names of the experiment and trial created by a pipeline.

                                                          + */ +export interface PipelineExperimentConfig { /** - *

                                                          Who last modified the trial.

                                                          + *

                                                          The name of the experiment.

                                                          */ - LastModifiedBy?: UserContext; + ExperimentName?: string; /** - *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + *

                                                          The name of the trial.

                                                          */ - MetadataProperties?: MetadataProperties; + TrialName?: string; } -export namespace DescribeTrialResponse { +export namespace PipelineExperimentConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrialResponse): any => ({ + export const filterSensitiveLog = (obj: PipelineExperimentConfig): any => ({ ...obj, }); } -export interface DescribeTrialComponentRequest { +export interface DescribePipelineExecutionResponse { /** - *

                                                          The name of the trial component to describe.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline.

                                                          */ - TrialComponentName: string | undefined; -} + PipelineArn?: string; -export namespace DescribeTrialComponentRequest { /** - * @internal + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTrialComponentRequest): any => ({ - ...obj, - }); -} + PipelineExecutionArn?: string; -/** - *

                                                          A summary of the metrics of a trial component.

                                                          - */ -export interface TrialComponentMetricSummary { /** - *

                                                          The name of the metric.

                                                          + *

                                                          The display name of the pipeline execution.

                                                          */ - MetricName?: string; + PipelineExecutionDisplayName?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the source.

                                                          + *

                                                          The status of the pipeline execution.

                                                          */ - SourceArn?: string; + PipelineExecutionStatus?: PipelineExecutionStatus | string; /** - *

                                                          When the metric was last updated.

                                                          + *

                                                          The description of the pipeline execution.

                                                          */ - TimeStamp?: Date; + PipelineExecutionDescription?: string; /** - *

                                                          The maximum value of the metric.

                                                          + *

                                                          Specifies the names of the experiment and trial created by a pipeline.

                                                          */ - Max?: number; + PipelineExperimentConfig?: PipelineExperimentConfig; /** - *

                                                          The minimum value of the metric.

                                                          + *

                                                          If the execution failed, a message describing why.

                                                          */ - Min?: number; + FailureReason?: string; /** - *

                                                          The most recent value of the metric.

                                                          + *

                                                          The time when the pipeline execution was created.

                                                          */ - Last?: number; + CreationTime?: Date; /** - *

                                                          The number of samples used to generate the metric.

                                                          + *

                                                          The time when the pipeline execution was modified last.

                                                          */ - Count?: number; + LastModifiedTime?: Date; /** - *

                                                          The average value of the metric.

                                                          + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - Avg?: number; + CreatedBy?: UserContext; /** - *

                                                          The standard deviation of the metric.

                                                          + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - StdDev?: number; + LastModifiedBy?: UserContext; } -export namespace TrialComponentMetricSummary { +export namespace DescribePipelineExecutionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentMetricSummary): any => ({ + export const filterSensitiveLog = (obj: DescribePipelineExecutionResponse): any => ({ ...obj, }); } -/** - *

                                                          The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                                          - */ -export interface TrialComponentSource { - /** - *

                                                          The source ARN.

                                                          - */ - SourceArn: string | undefined; - +export interface DescribeProcessingJobRequest { /** - *

                                                          The source job type.

                                                          + *

                                                          The name of the processing job. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

                                                          */ - SourceType?: string; + ProcessingJobName: string | undefined; } -export namespace TrialComponentSource { +export namespace DescribeProcessingJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentSource): any => ({ + export const filterSensitiveLog = (obj: DescribeProcessingJobRequest): any => ({ ...obj, }); } -export interface DescribeTrialComponentResponse { +export enum ProcessingJobStatus { + COMPLETED = "Completed", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + STOPPED = "Stopped", + STOPPING = "Stopping", +} + +export interface DescribeProcessingJobResponse { /** - *

                                                          The name of the trial component.

                                                          + *

                                                          The inputs for a processing job.

                                                          */ - TrialComponentName?: string; + ProcessingInputs?: ProcessingInput[]; /** - *

                                                          The Amazon Resource Name (ARN) of the trial component.

                                                          + *

                                                          Output configuration for the processing job.

                                                          */ - TrialComponentArn?: string; + ProcessingOutputConfig?: ProcessingOutputConfig; /** - *

                                                          The name of the component as displayed. If DisplayName isn't specified, - * TrialComponentName is displayed.

                                                          + *

                                                          The name of the processing job. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

                                                          */ - DisplayName?: string; + ProcessingJobName: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                                          + *

                                                          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.

                                                          */ - Source?: TrialComponentSource; + ProcessingResources: ProcessingResources | undefined; /** - *

                                                          The status of the component. States include:

                                                          - *
                                                            - *
                                                          • - *

                                                            InProgress

                                                            - *
                                                          • - *
                                                          • - *

                                                            Completed

                                                            - *
                                                          • - *
                                                          • - *

                                                            Failed

                                                            - *
                                                          • - *
                                                          + *

                                                          The time limit for how long the processing job is allowed to run.

                                                          */ - Status?: TrialComponentStatus; + StoppingCondition?: ProcessingStoppingCondition; /** - *

                                                          When the component started.

                                                          + *

                                                          Configures the processing job to run a specified container image.

                                                          */ - StartTime?: Date; + AppSpecification: AppSpecification | undefined; /** - *

                                                          When the component ended.

                                                          + *

                                                          The environment variables set in the Docker container.

                                                          */ - EndTime?: Date; + Environment?: { [key: string]: string }; /** - *

                                                          When the component was created.

                                                          + *

                                                          Networking options for a processing job.

                                                          */ - CreationTime?: Date; + NetworkConfig?: NetworkConfig; /** - *

                                                          Who created the trial component.

                                                          + *

                                                          The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on + * your behalf.

                                                          */ - CreatedBy?: UserContext; + RoleArn?: string; /** - *

                                                          When the component was last modified.

                                                          + *

                                                          The configuration information used to create an experiment.

                                                          + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

                                                          The Amazon Resource Name (ARN) of the processing job.

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

                                                          Provides the status of a processing job.

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

                                                          An optional string, up to one KB in size, that contains metadata from the processing + * container when the processing job exits.

                                                          + */ + ExitMessage?: string; + + /** + *

                                                          A string, up to one KB in size, that contains the reason a processing job failed, if + * it failed.

                                                          + */ + FailureReason?: string; + + /** + *

                                                          The time at which the processing job completed.

                                                          + */ + ProcessingEndTime?: Date; + + /** + *

                                                          The time at which the processing job started.

                                                          + */ + ProcessingStartTime?: Date; + + /** + *

                                                          The time at which the processing job was last modified.

                                                          */ LastModifiedTime?: Date; /** - *

                                                          Who last modified the component.

                                                          + *

                                                          The time at which the processing job was created.

                                                          */ - LastModifiedBy?: UserContext; + CreationTime: Date | undefined; /** - *

                                                          The hyperparameters of the component.

                                                          + *

                                                          The ARN of a monitoring schedule for an endpoint associated with this processing + * job.

                                                          */ - Parameters?: { [key: string]: TrialComponentParameterValue }; + MonitoringScheduleArn?: string; /** - *

                                                          The input artifacts of the component.

                                                          + *

                                                          The ARN of an AutoML job associated with this processing job.

                                                          */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + AutoMLJobArn?: string; /** - *

                                                          The output artifacts of the component.

                                                          + *

                                                          The ARN of a training job associated with this processing job.

                                                          */ - OutputArtifacts?: { [key: string]: TrialComponentArtifact }; + TrainingJobArn?: string; +} +export namespace DescribeProcessingJobResponse { /** - *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + * @internal */ - MetadataProperties?: MetadataProperties; + export const filterSensitiveLog = (obj: DescribeProcessingJobResponse): any => ({ + ...obj, + }); +} +export interface DescribeProjectInput { /** - *

                                                          The metrics for the component.

                                                          + *

                                                          The name of the project to describe.

                                                          */ - Metrics?: TrialComponentMetricSummary[]; + ProjectName: string | undefined; } -export namespace DescribeTrialComponentResponse { +export namespace DescribeProjectInput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrialComponentResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeProjectInput): any => ({ ...obj, - ...(obj.Parameters && { - Parameters: Object.entries(obj.Parameters).reduce( - (acc: any, [key, value]: [string, TrialComponentParameterValue]) => ({ - ...acc, - [key]: TrialComponentParameterValue.filterSensitiveLog(value), - }), - {} - ), - }), }); } -export interface DescribeUserProfileRequest { +export enum ProjectStatus { + CREATE_COMPLETED = "CreateCompleted", + CREATE_FAILED = "CreateFailed", + CREATE_IN_PROGRESS = "CreateInProgress", + DELETE_COMPLETED = "DeleteCompleted", + DELETE_FAILED = "DeleteFailed", + DELETE_IN_PROGRESS = "DeleteInProgress", + PENDING = "Pending", + UPDATE_COMPLETED = "UpdateCompleted", + UPDATE_FAILED = "UpdateFailed", + UPDATE_IN_PROGRESS = "UpdateInProgress", +} + +/** + *

                                                          Details of a provisioned service catalog product. For information about service catalog, + * see What is Amazon Web Services Service + * Catalog.

                                                          + */ +export interface ServiceCatalogProvisionedProductDetails { /** - *

                                                          The domain ID.

                                                          + *

                                                          The ID of the provisioned product.

                                                          */ - DomainId: string | undefined; + ProvisionedProductId?: string; /** - *

                                                          The user profile name. This value is not case sensitive.

                                                          + *

                                                          The current status of the product.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

                                                            + *
                                                          • + *
                                                          */ - UserProfileName: string | undefined; + ProvisionedProductStatusMessage?: string; } -export namespace DescribeUserProfileRequest { +export namespace ServiceCatalogProvisionedProductDetails { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeUserProfileRequest): any => ({ + export const filterSensitiveLog = (obj: ServiceCatalogProvisionedProductDetails): any => ({ ...obj, }); } -export enum UserProfileStatus { - Delete_Failed = "Delete_Failed", - Deleting = "Deleting", - Failed = "Failed", - InService = "InService", - Pending = "Pending", - Update_Failed = "Update_Failed", - Updating = "Updating", -} - -export interface DescribeUserProfileResponse { +export interface DescribeProjectOutput { /** - *

                                                          The ID of the domain that contains the profile.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the project.

                                                          */ - DomainId?: string; + ProjectArn: string | undefined; /** - *

                                                          The user profile Amazon Resource Name (ARN).

                                                          + *

                                                          The name of the project.

                                                          */ - UserProfileArn?: string; + ProjectName: string | undefined; /** - *

                                                          The user profile name.

                                                          + *

                                                          The ID of the project.

                                                          */ - UserProfileName?: string; + ProjectId: string | undefined; /** - *

                                                          The ID of the user's profile in the Amazon Elastic File System (EFS) volume.

                                                          + *

                                                          The description of the project.

                                                          */ - HomeEfsFileSystemUid?: string; + ProjectDescription?: string; /** - *

                                                          The status.

                                                          + *

                                                          Information used to provision a service catalog product. For information, see What is Amazon Web Services Service + * Catalog.

                                                          */ - Status?: UserProfileStatus | string; + ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined; /** - *

                                                          The last modified time.

                                                          + *

                                                          Information about a provisioned service catalog product.

                                                          */ - LastModifiedTime?: Date; + ServiceCatalogProvisionedProductDetails?: ServiceCatalogProvisionedProductDetails; /** - *

                                                          The creation time.

                                                          + *

                                                          The status of the project.

                                                          */ - CreationTime?: Date; + ProjectStatus: ProjectStatus | string | undefined; /** - *

                                                          The failure reason.

                                                          + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - FailureReason?: string; + CreatedBy?: UserContext; /** - *

                                                          The SSO user identifier.

                                                          + *

                                                          The time when the project was created.

                                                          */ - SingleSignOnUserIdentifier?: string; + CreationTime: Date | undefined; /** - *

                                                          The SSO user value.

                                                          + *

                                                          The timestamp when project was last modified.

                                                          */ - SingleSignOnUserValue?: string; + LastModifiedTime?: Date; /** - *

                                                          A collection of settings.

                                                          + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - UserSettings?: UserSettings; + LastModifiedBy?: UserContext; } -export namespace DescribeUserProfileResponse { +export namespace DescribeProjectOutput { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeUserProfileResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeProjectOutput): any => ({ ...obj, }); } -export interface DescribeWorkforceRequest { +export interface DescribeStudioLifecycleConfigRequest { /** - *

                                                          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.

                                                          + *

                                                          The name of the Studio Lifecycle Configuration to describe.

                                                          */ - WorkforceName: string | undefined; + StudioLifecycleConfigName: string | undefined; } -export namespace DescribeWorkforceRequest { +export namespace DescribeStudioLifecycleConfigRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeWorkforceRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigRequest): any => ({ ...obj, }); } -/** - *

                                                          Your OIDC IdP workforce configuration.

                                                          - */ -export interface OidcConfigForResponse { +export interface DescribeStudioLifecycleConfigResponse { /** - *

                                                          The OIDC IdP client ID used to configure your private workforce.

                                                          + *

                                                          The ARN of the Lifecycle Configuration to describe.

                                                          */ - ClientId?: string; + StudioLifecycleConfigArn?: string; /** - *

                                                          The OIDC IdP issuer used to configure your private workforce.

                                                          + *

                                                          The name of the Studio Lifecycle Configuration that is described.

                                                          */ - Issuer?: string; + StudioLifecycleConfigName?: string; /** - *

                                                          The OIDC IdP authorization endpoint used to configure your private workforce.

                                                          + *

                                                          The creation time of the Studio Lifecycle Configuration.

                                                          */ - AuthorizationEndpoint?: string; + CreationTime?: Date; /** - *

                                                          The OIDC IdP token endpoint used to configure your private workforce.

                                                          - */ - TokenEndpoint?: string; - - /** - *

                                                          The OIDC IdP user information endpoint used to configure your private workforce.

                                                          - */ - UserInfoEndpoint?: 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 { - /** - * @internal - */ - export const filterSensitiveLog = (obj: OidcConfigForResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                          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 Amazon Web Services 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.

                                                          - */ -export interface Workforce { - /** - *

                                                          The name of the private workforce.

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

                                                          The Amazon Resource Name (ARN) of the private workforce.

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

                                                          The most recent date that was used to - * successfully add one or more IP address ranges (CIDRs) to a private workforce's - * allow list.

                                                          - */ - LastUpdatedDate?: Date; - - /** - *

                                                          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.

                                                          - */ - SourceIpConfig?: SourceIpConfig; - - /** - *

                                                          The subdomain for your OIDC Identity Provider.

                                                          - */ - SubDomain?: string; - - /** - *

                                                          The configuration of an Amazon Cognito workforce. - * A single Cognito workforce is created using and corresponds to a single - * - * Amazon Cognito user pool.

                                                          - */ - CognitoConfig?: CognitoConfig; - - /** - *

                                                          The configuration of an OIDC Identity Provider (IdP) private workforce.

                                                          - */ - OidcConfig?: OidcConfigForResponse; - - /** - *

                                                          The date that the workforce is created.

                                                          + *

                                                          This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

                                                          */ - CreateDate?: Date; -} + LastModifiedTime?: Date; -export namespace Workforce { /** - * @internal + *

                                                          The content of your Studio Lifecycle Configuration script.

                                                          */ - export const filterSensitiveLog = (obj: Workforce): any => ({ - ...obj, - }); -} + StudioLifecycleConfigContent?: string; -export interface DescribeWorkforceResponse { /** - *

                                                          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 Amazon Web Services 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.

                                                          + *

                                                          The App type that the Lifecycle Configuration is attached to.

                                                          */ - Workforce: Workforce | undefined; + StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; } -export namespace DescribeWorkforceResponse { +export namespace DescribeStudioLifecycleConfigResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeWorkforceResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigResponse): any => ({ ...obj, }); } -export interface DescribeWorkteamRequest { +export interface DescribeSubscribedWorkteamRequest { /** - *

                                                          The name of the work team to return a description of.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the subscribed work team to describe.

                                                          */ - WorkteamName: string | undefined; + WorkteamArn: string | undefined; } -export namespace DescribeWorkteamRequest { +export namespace DescribeSubscribedWorkteamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeWorkteamRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamRequest): any => ({ ...obj, }); } /** - *

                                                          Provides details about a labeling work team.

                                                          + *

                                                          Describes a work team of a vendor that does the a labelling job.

                                                          */ -export interface Workteam { - /** - *

                                                          The name of the work team.

                                                          - */ - 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.

                                                          - */ - MemberDefinitions: MemberDefinition[] | undefined; - +export interface SubscribedWorkteam { /** - *

                                                          The Amazon Resource Name (ARN) that identifies the work team.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the vendor that you have subscribed.

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

                                                          The Amazon Resource Name (ARN) of the workforce.

                                                          - */ - WorkforceArn?: string; - - /** - *

                                                          The Amazon Marketplace identifier for a vendor's work team.

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

                                                          A description of the work team.

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

                                                          The URI of the labeling job's user interface. Workers open this URI to start labeling - * your data objects.

                                                          + *

                                                          The title of the service provided by the vendor in the Amazon Marketplace.

                                                          */ - SubDomain?: string; + MarketplaceTitle?: string; /** - *

                                                          The date and time that the work team was created (timestamp).

                                                          + *

                                                          The name of the vendor in the Amazon Marketplace.

                                                          */ - CreateDate?: Date; + SellerName?: string; /** - *

                                                          The date and time that the work team was last updated (timestamp).

                                                          + *

                                                          The description of the vendor from the Amazon Marketplace.

                                                          */ - LastUpdatedDate?: Date; + MarketplaceDescription?: string; /** - *

                                                          Configures SNS notifications of available or expiring work items for work - * teams.

                                                          + *

                                                          Marketplace product listing ID.

                                                          */ - NotificationConfiguration?: NotificationConfiguration; + ListingId?: string; } -export namespace Workteam { +export namespace SubscribedWorkteam { /** * @internal */ - export const filterSensitiveLog = (obj: Workteam): any => ({ + export const filterSensitiveLog = (obj: SubscribedWorkteam): any => ({ ...obj, }); } -export interface DescribeWorkteamResponse { +export interface DescribeSubscribedWorkteamResponse { /** - *

                                                          A Workteam instance that contains information about the work team. - *

                                                          + *

                                                          A Workteam instance that contains information about the work team.

                                                          */ - Workteam: Workteam | undefined; + SubscribedWorkteam: SubscribedWorkteam | undefined; } -export namespace DescribeWorkteamResponse { +export namespace DescribeSubscribedWorkteamResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeWorkteamResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamResponse): any => ({ ...obj, }); } -/** - *

                                                          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 weight.

                                                          - */ - DesiredWeight?: number; - +export interface DescribeTrainingJobRequest { /** - *

                                                          The variant's capacity.

                                                          + *

                                                          The name of the training job.

                                                          */ - DesiredInstanceCount?: number; + TrainingJobName: string | undefined; } -export namespace DesiredWeightAndCapacity { +export namespace DescribeTrainingJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DesiredWeightAndCapacity): any => ({ + export const filterSensitiveLog = (obj: DescribeTrainingJobRequest): any => ({ ...obj, }); } /** - *

                                                          Information of a particular device.

                                                          + *

                                                          The name, value, and date and time of a metric that was emitted to Amazon CloudWatch.

                                                          */ -export interface Device { +export interface MetricData { /** - *

                                                          The name of the device.

                                                          + *

                                                          The name of the metric.

                                                          */ - DeviceName: string | undefined; + MetricName?: string; /** - *

                                                          Description of the device.

                                                          + *

                                                          The value of the metric.

                                                          */ - Description?: string; + Value?: number; /** - *

                                                          Amazon Web Services Internet of Things (IoT) object name.

                                                          + *

                                                          The date and time that the algorithm emitted the metric.

                                                          */ - IotThingName?: string; + Timestamp?: Date; } -export namespace Device { +export namespace MetricData { /** * @internal */ - export const filterSensitiveLog = (obj: Device): any => ({ + export const filterSensitiveLog = (obj: MetricData): any => ({ ...obj, }); } /** - *

                                                          Summary of the device fleet.

                                                          + *

                                                          Information about the status of the rule evaluation.

                                                          */ -export interface DeviceFleetSummary { +export interface ProfilerRuleEvaluationStatus { /** - *

                                                          Amazon Resource Name (ARN) of the device fleet.

                                                          + *

                                                          The name of the rule configuration.

                                                          */ - DeviceFleetArn: string | undefined; + RuleConfigurationName?: string; /** - *

                                                          Name of the device fleet.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the rule evaluation job.

                                                          */ - DeviceFleetName: string | undefined; + RuleEvaluationJobArn?: string; /** - *

                                                          Timestamp of when the device fleet was created.

                                                          + *

                                                          Status of the rule evaluation.

                                                          */ - CreationTime?: Date; + RuleEvaluationStatus?: RuleEvaluationStatus | string; /** - *

                                                          Timestamp of when the device fleet was last updated.

                                                          + *

                                                          Details from the rule evaluation.

                                                          + */ + StatusDetails?: string; + + /** + *

                                                          Timestamp when the rule evaluation status was last modified.

                                                          */ LastModifiedTime?: Date; } -export namespace DeviceFleetSummary { +export namespace ProfilerRuleEvaluationStatus { /** * @internal */ - export const filterSensitiveLog = (obj: DeviceFleetSummary): any => ({ + export const filterSensitiveLog = (obj: ProfilerRuleEvaluationStatus): any => ({ ...obj, }); } -/** - *

                                                          Status of devices.

                                                          - */ -export interface DeviceStats { - /** - *

                                                          The number of devices connected with a heartbeat.

                                                          - */ - ConnectedDeviceCount: number | undefined; +export enum ProfilingStatus { + DISABLED = "Disabled", + ENABLED = "Enabled", +} + +export enum SecondaryStatus { + COMPLETED = "Completed", + DOWNLOADING = "Downloading", + DOWNLOADING_TRAINING_IMAGE = "DownloadingTrainingImage", + FAILED = "Failed", + INTERRUPTED = "Interrupted", + LAUNCHING_ML_INSTANCES = "LaunchingMLInstances", + MAX_RUNTIME_EXCEEDED = "MaxRuntimeExceeded", + MAX_WAIT_TIME_EXCEEDED = "MaxWaitTimeExceeded", + PREPARING_TRAINING_STACK = "PreparingTrainingStack", + RESTARTING = "Restarting", + STARTING = "Starting", + STOPPED = "Stopped", + STOPPING = "Stopping", + TRAINING = "Training", + UPDATING = "Updating", + UPLOADING = "Uploading", +} +/** + *

                                                          An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. It provides + * additional details about a status that the training job has transitioned through. A + * training job can be in one of several states, for example, starting, downloading, + * training, or uploading. Within each state, there are a number of intermediate states. + * For example, within the starting state, Amazon SageMaker could be starting the training job or + * launching the ML instances. These transitional states are referred to as the job's + * secondary + * status. + *

                                                          + *

                                                          + */ +export interface SecondaryStatusTransition { /** - *

                                                          The number of registered devices.

                                                          + *

                                                          Contains a secondary status information from a training + * job.

                                                          + *

                                                          Status might be one of the following secondary statuses:

                                                          + *
                                                          + *
                                                          InProgress
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Starting + * - Starting the training job.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Downloading - An optional stage for algorithms that + * support File training input mode. It indicates that + * data is being downloaded to the ML storage volumes.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Training - Training is in progress.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Uploading - Training is complete and the model + * artifacts are being uploaded to the S3 location.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Completed
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Completed - The training job has completed.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Failed
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Failed - The training job has failed. The reason for + * the failure is returned in the FailureReason field of + * DescribeTrainingJobResponse.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Stopped
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * MaxRuntimeExceeded - The job stopped because it + * exceeded the maximum allowed runtime.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Stopped - The training job has stopped.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Stopping
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Stopping - Stopping the training job.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          + *

                                                          We no longer support the following secondary statuses:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * LaunchingMLInstances + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PreparingTrainingStack + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * DownloadingTrainingImage + *

                                                            + *
                                                          • + *
                                                          */ - RegisteredDeviceCount: number | undefined; -} + Status: SecondaryStatus | string | undefined; -export namespace DeviceStats { /** - * @internal + *

                                                          A timestamp that shows when the training job transitioned to the current secondary + * status state.

                                                          */ - export const filterSensitiveLog = (obj: DeviceStats): any => ({ - ...obj, - }); -} + StartTime: Date | undefined; -/** - *

                                                          Summary of model on edge device.

                                                          - */ -export interface EdgeModelSummary { /** - *

                                                          The name of the model.

                                                          + *

                                                          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.

                                                          */ - ModelName: string | undefined; + EndTime?: Date; /** - *

                                                          The version model.

                                                          + *

                                                          A detailed description of the progress within a secondary status. + *

                                                          + *

                                                          Amazon SageMaker provides secondary statuses and status messages that apply to each of + * them:

                                                          + *
                                                          + *
                                                          Starting
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            Starting the training job.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Launching requested ML + * instances.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Insufficient + * capacity error from EC2 while launching instances, + * retrying!

                                                            + *
                                                          • + *
                                                          • + *

                                                            Launched + * instance was unhealthy, replacing it!

                                                            + *
                                                          • + *
                                                          • + *

                                                            Preparing the instances for training.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Training
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            Downloading the training image.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Training + * image download completed. Training in + * progress.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          + * + *

                                                          Status messages are subject to change. Therefore, we recommend not including them + * in code that programmatically initiates actions. For examples, don't use status + * messages in if statements.

                                                          + *
                                                          + *

                                                          To have an overview of your training job's progress, view + * TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For + * example, at the start of a training job, you might see the following:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * TrainingJobStatus - InProgress

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * SecondaryStatus - Training

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * StatusMessage - Downloading the training image

                                                            + *
                                                          • + *
                                                          */ - ModelVersion: string | undefined; + StatusMessage?: string; } -export namespace EdgeModelSummary { +export namespace SecondaryStatusTransition { /** * @internal */ - export const filterSensitiveLog = (obj: EdgeModelSummary): any => ({ + export const filterSensitiveLog = (obj: SecondaryStatusTransition): any => ({ ...obj, }); } -/** - *

                                                          Summary of the device.

                                                          - */ -export interface DeviceSummary { +export interface DescribeTrainingJobResponse { /** - *

                                                          The unique identifier of the device.

                                                          + *

                                                          Name of the model training job.

                                                          */ - DeviceName: string | undefined; + TrainingJobName: string | undefined; /** - *

                                                          Amazon Resource Name (ARN) of the device.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the training job.

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

                                                          A description of the device.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the + * training job was launched by a hyperparameter tuning job.

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

                                                          The name of the fleet the device belongs to.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the + * transform or training job.

                                                          */ - DeviceFleetName?: string; + LabelingJobArn?: string; /** - *

                                                          The Amazon Web Services Internet of Things (IoT) object thing name associated with the device..

                                                          + *

                                                          The Amazon Resource Name (ARN) of an AutoML job.

                                                          */ - IotThingName?: string; + AutoMLJobArn?: string; /** - *

                                                          The timestamp of the last registration or de-reregistration.

                                                          + *

                                                          Information about the Amazon S3 location that is configured for storing model artifacts. + *

                                                          */ - RegistrationTime?: Date; + ModelArtifacts: ModelArtifacts | undefined; /** - *

                                                          The last heartbeat received from the device.

                                                          + *

                                                          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.

                                                          */ - LatestHeartbeat?: Date; + TrainingJobStatus: TrainingJobStatus | string | undefined; /** - *

                                                          Models on the device.

                                                          + *

                                                          Provides detailed information about the state of the training job. For detailed + * information on the secondary status of the training job, see StatusMessage + * under SecondaryStatusTransition.

                                                          + *

                                                          Amazon SageMaker provides primary statuses and secondary statuses that apply to each of + * them:

                                                          + *
                                                          + *
                                                          InProgress
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Starting + * - Starting the training job.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Downloading - An optional stage for algorithms that + * support File training input mode. It indicates that + * data is being downloaded to the ML storage volumes.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Training - Training is in progress.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Interrupted - The job stopped because the managed + * spot training instances were interrupted.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Uploading - Training is complete and the model + * artifacts are being uploaded to the S3 location.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Completed
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Completed - The training job has completed.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Failed
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Failed - The training job has failed. The reason for + * the failure is returned in the FailureReason field of + * DescribeTrainingJobResponse.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Stopped
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * MaxRuntimeExceeded - The job stopped because it + * exceeded the maximum allowed runtime.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * MaxWaitTimeExceeded - The job stopped because it + * exceeded the maximum allowed wait time.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Stopped - The training job has stopped.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Stopping
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Stopping - Stopping the training job.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          + * + * + *

                                                          Valid values for SecondaryStatus are subject to change.

                                                          + *
                                                          + *

                                                          We no longer support the following secondary statuses:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * LaunchingMLInstances + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PreparingTraining + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * DownloadingTrainingImage + *

                                                            + *
                                                          • + *
                                                          */ - Models?: EdgeModelSummary[]; + SecondaryStatus: SecondaryStatus | string | undefined; /** - *

                                                          Edge Manager agent version.

                                                          + *

                                                          If the training job failed, the reason it failed.

                                                          */ - AgentVersion?: string; -} + FailureReason?: string; -export namespace DeviceSummary { /** - * @internal + *

                                                          Algorithm-specific parameters.

                                                          */ - export const filterSensitiveLog = (obj: DeviceSummary): any => ({ - ...obj, - }); -} - -export interface DisableSagemakerServicecatalogPortfolioInput {} + HyperParameters?: { [key: string]: string }; -export namespace DisableSagemakerServicecatalogPortfolioInput { /** - * @internal + *

                                                          Information about the algorithm used for training, and algorithm metadata. + *

                                                          */ - export const filterSensitiveLog = (obj: DisableSagemakerServicecatalogPortfolioInput): any => ({ - ...obj, - }); -} - -export interface DisableSagemakerServicecatalogPortfolioOutput {} + AlgorithmSpecification: AlgorithmSpecification | undefined; -export namespace DisableSagemakerServicecatalogPortfolioOutput { /** - * @internal + *

                                                          The Amazon Web Services Identity and Access Management (IAM) role configured for the training job.

                                                          */ - export const filterSensitiveLog = (obj: DisableSagemakerServicecatalogPortfolioOutput): any => ({ - ...obj, - }); -} + RoleArn?: string; -export interface DisassociateTrialComponentRequest { /** - *

                                                          The name of the component to disassociate from the trial.

                                                          + *

                                                          An array of Channel objects that describes each data input channel. + *

                                                          */ - TrialComponentName: string | undefined; + InputDataConfig?: Channel[]; /** - *

                                                          The name of the trial to disassociate from.

                                                          + *

                                                          The S3 path where model artifacts that you configured when creating the job are + * stored. Amazon SageMaker creates subfolders for model artifacts.

                                                          */ - TrialName: string | undefined; -} + OutputDataConfig?: OutputDataConfig; -export namespace DisassociateTrialComponentRequest { /** - * @internal + *

                                                          Resources, including ML compute instances and ML storage volumes, that are + * configured for model training.

                                                          */ - export const filterSensitiveLog = (obj: DisassociateTrialComponentRequest): any => ({ - ...obj, - }); -} + ResourceConfig: ResourceConfig | undefined; -export interface DisassociateTrialComponentResponse { /** - *

                                                          The ARN of the trial component.

                                                          + *

                                                          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.

                                                          */ - TrialComponentArn?: string; + VpcConfig?: VpcConfig; /** - *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          + *

                                                          Specifies a limit to how long a model training job can run. It also specifies how long + * a managed Spot training job has to complete. 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.

                                                          */ - TrialArn?: string; -} + StoppingCondition: StoppingCondition | undefined; -export namespace DisassociateTrialComponentResponse { /** - * @internal + *

                                                          A timestamp that indicates when the training job was created.

                                                          */ - export const filterSensitiveLog = (obj: DisassociateTrialComponentResponse): any => ({ - ...obj, - }); -} + CreationTime: Date | undefined; -/** - *

                                                          The domain's details.

                                                          - */ -export interface DomainDetails { /** - *

                                                          The domain's Amazon Resource Name (ARN).

                                                          + *

                                                          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.

                                                          */ - DomainArn?: string; + TrainingStartTime?: Date; /** - *

                                                          The domain ID.

                                                          + *

                                                          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.

                                                          */ - DomainId?: string; + TrainingEndTime?: Date; /** - *

                                                          The domain name.

                                                          + *

                                                          A timestamp that indicates when the status of the training job was last + * modified.

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

                                                          The status.

                                                          + *

                                                          A history of all of the secondary statuses that the training job has transitioned + * through.

                                                          */ - Status?: DomainStatus | string; + SecondaryStatusTransitions?: SecondaryStatusTransition[]; /** - *

                                                          The creation time.

                                                          - */ - CreationTime?: Date; + *

                                                          A collection of MetricData objects that specify the names, values, and + * dates and times that the training algorithm emitted to Amazon CloudWatch.

                                                          + */ + FinalMetricDataList?: MetricData[]; /** - *

                                                          The last modified time.

                                                          + *

                                                          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.

                                                          */ - LastModifiedTime?: Date; + EnableNetworkIsolation?: boolean; /** - *

                                                          The domain's URL.

                                                          + *

                                                          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.

                                                          */ - Url?: string; -} + EnableInterContainerTrafficEncryption?: boolean; -export namespace DomainDetails { /** - * @internal + *

                                                          A Boolean indicating whether managed spot training is enabled (True) or + * not (False).

                                                          */ - export const filterSensitiveLog = (obj: DomainDetails): any => ({ - ...obj, - }); -} + EnableManagedSpotTraining?: boolean; -/** - *

                                                          A collection of settings that update the current configuration for the RStudioServerPro Domain-level app.

                                                          - */ -export interface RStudioServerProDomainSettingsForUpdate { /** - *

                                                          The execution role for the RStudioServerPro Domain-level app.

                                                          + *

                                                          Contains information about the output location for managed spot training checkpoint + * data.

                                                          */ - DomainExecutionRoleArn: string | undefined; + CheckpointConfig?: CheckpointConfig; /** - *

                                                          Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that - * the version runs on.

                                                          + *

                                                          The training time in seconds.

                                                          */ - DefaultResourceSpec?: ResourceSpec; -} + TrainingTimeInSeconds?: number; -export namespace RStudioServerProDomainSettingsForUpdate { /** - * @internal + *

                                                          The billable time in seconds. Billable time refers to the absolute wall-clock + * time.

                                                          + *

                                                          Multiply BillableTimeInSeconds by the number of instances + * (InstanceCount) in your training cluster to get the total compute time + * SageMaker will bill you if you run distributed training. The formula is as follows: + * BillableTimeInSeconds * InstanceCount .

                                                          + *

                                                          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%.

                                                          */ - export const filterSensitiveLog = (obj: RStudioServerProDomainSettingsForUpdate): any => ({ - ...obj, - }); -} + BillableTimeInSeconds?: number; -/** - *

                                                          A collection of Domain configuration settings to update.

                                                          - */ -export interface DomainSettingsForUpdate { /** - *

                                                          A collection of RStudioServerPro Domain-level app settings to update.

                                                          + *

                                                          Configuration information for the Debugger hook parameters, metric and tensor collections, and + * storage paths. To learn more about + * how to configure the DebugHookConfig parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                          */ - RStudioServerProDomainSettingsForUpdate?: RStudioServerProDomainSettingsForUpdate; -} + DebugHookConfig?: DebugHookConfig; -export namespace DomainSettingsForUpdate { /** - * @internal + *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                          + * */ - export const filterSensitiveLog = (obj: DomainSettingsForUpdate): any => ({ - ...obj, - }); -} + ExperimentConfig?: ExperimentConfig; -/** - *

                                                          Status of edge devices with this model.

                                                          - */ -export interface EdgeModelStat { /** - *

                                                          The name of the model.

                                                          + *

                                                          Configuration information for Debugger rules for debugging output tensors.

                                                          */ - ModelName: string | undefined; + DebugRuleConfigurations?: DebugRuleConfiguration[]; /** - *

                                                          The model version.

                                                          + *

                                                          Configuration of storage locations for the Debugger TensorBoard output data.

                                                          */ - ModelVersion: string | undefined; + TensorBoardOutputConfig?: TensorBoardOutputConfig; /** - *

                                                          The number of devices that have this model version and do not have a heart beat.

                                                          + *

                                                          Evaluation status of Debugger rules for debugging on a training job.

                                                          */ - OfflineDeviceCount: number | undefined; + DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; /** - *

                                                          The number of devices that have this model version and have a heart beat.

                                                          + *

                                                          Configuration information for Debugger system monitoring, framework profiling, and + * storage paths.

                                                          */ - ConnectedDeviceCount: number | undefined; + ProfilerConfig?: ProfilerConfig; /** - *

                                                          The number of devices that have this model version, a heart beat, and are currently running.

                                                          + *

                                                          Configuration information for Debugger rules for profiling system and framework + * metrics.

                                                          */ - ActiveDeviceCount: number | undefined; + ProfilerRuleConfigurations?: ProfilerRuleConfiguration[]; /** - *

                                                          The number of devices with this model version and are producing sample data.

                                                          + *

                                                          Evaluation status of Debugger rules for profiling on a training job.

                                                          */ - SamplingDeviceCount: number | undefined; -} + ProfilerRuleEvaluationStatuses?: ProfilerRuleEvaluationStatus[]; -export namespace EdgeModelStat { /** - * @internal + *

                                                          Profiling status of a training job.

                                                          */ - export const filterSensitiveLog = (obj: EdgeModelStat): any => ({ - ...obj, - }); -} + ProfilingStatus?: ProfilingStatus | string; -/** - *

                                                          Summary of edge packaging job.

                                                          - */ -export interface EdgePackagingJobSummary { /** - *

                                                          The Amazon Resource Name (ARN) of the edge packaging job.

                                                          + *

                                                          The number of times to retry the job when the job fails due to an + * InternalServerError.

                                                          */ - EdgePackagingJobArn: string | undefined; + RetryStrategy?: RetryStrategy; /** - *

                                                          The name of the edge packaging job.

                                                          + *

                                                          The environment variables to set in the Docker container.

                                                          */ - EdgePackagingJobName: string | undefined; + Environment?: { [key: string]: string }; +} +export namespace DescribeTrainingJobResponse { /** - *

                                                          The status of the edge packaging job.

                                                          + * @internal */ - EdgePackagingJobStatus: EdgePackagingJobStatus | string | undefined; + export const filterSensitiveLog = (obj: DescribeTrainingJobResponse): any => ({ + ...obj, + }); +} +export interface DescribeTransformJobRequest { /** - *

                                                          The name of the SageMaker Neo compilation job.

                                                          + *

                                                          The name of the transform job that you want to view details of.

                                                          */ - CompilationJobName?: string; + TransformJobName: string | undefined; +} +export namespace DescribeTransformJobRequest { /** - *

                                                          The name of the model.

                                                          + * @internal */ - ModelName?: string; + export const filterSensitiveLog = (obj: DescribeTransformJobRequest): any => ({ + ...obj, + }); +} +export enum TransformJobStatus { + COMPLETED = "Completed", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + STOPPED = "Stopped", + STOPPING = "Stopping", +} + +export interface DescribeTransformJobResponse { /** - *

                                                          The version of the model.

                                                          + *

                                                          The name of the transform job.

                                                          */ - ModelVersion?: string; + TransformJobName: string | undefined; /** - *

                                                          The timestamp of when the job was created.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the transform job.

                                                          */ - CreationTime?: Date; + TransformJobArn: string | undefined; /** - *

                                                          The timestamp of when the edge packaging job was last updated.

                                                          + *

                                                          The + * status of the transform job. If the transform job failed, the reason + * is returned in the FailureReason field.

                                                          */ - LastModifiedTime?: Date; -} + TransformJobStatus: TransformJobStatus | string | undefined; -export namespace EdgePackagingJobSummary { /** - * @internal + *

                                                          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.

                                                          */ - export const filterSensitiveLog = (obj: EdgePackagingJobSummary): any => ({ - ...obj, - }); -} - -export interface EnableSagemakerServicecatalogPortfolioInput {} + FailureReason?: string; -export namespace EnableSagemakerServicecatalogPortfolioInput { /** - * @internal + *

                                                          The name of the model used in the transform job.

                                                          */ - export const filterSensitiveLog = (obj: EnableSagemakerServicecatalogPortfolioInput): any => ({ - ...obj, - }); -} - -export interface EnableSagemakerServicecatalogPortfolioOutput {} + ModelName: string | undefined; -export namespace EnableSagemakerServicecatalogPortfolioOutput { /** - * @internal + *

                                                          The + * maximum number + * of + * parallel requests on each instance node + * that can be launched in a transform job. The default value is 1.

                                                          */ - export const filterSensitiveLog = (obj: EnableSagemakerServicecatalogPortfolioOutput): any => ({ - ...obj, - }); -} + MaxConcurrentTransforms?: number; -/** - *

                                                          A schedule for a model monitoring job. For information about model monitor, see - * Amazon SageMaker Model - * Monitor.

                                                          - */ -export interface MonitoringSchedule { /** - *

                                                          The Amazon Resource Name (ARN) of the monitoring schedule.

                                                          + *

                                                          The timeout and maximum number of retries for processing a transform job + * invocation.

                                                          */ - MonitoringScheduleArn?: string; + ModelClientConfig?: ModelClientConfig; /** - *

                                                          The name of the monitoring schedule.

                                                          + *

                                                          The + * maximum + * payload size, in MB, used in the + * transform job.

                                                          */ - MonitoringScheduleName?: string; + MaxPayloadInMB?: number; /** - *

                                                          The status of the monitoring schedule. This can be one of the following values.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * PENDING - The schedule is pending being created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * FAILED - The schedule failed.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * SCHEDULED - The schedule was successfully created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * STOPPED - The schedule was 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.

                                                          + *

                                                          To enable the batch strategy, you must set SplitType + * to + * Line, RecordIO, or + * TFRecord.

                                                          */ - MonitoringScheduleStatus?: ScheduleStatus | string; + BatchStrategy?: BatchStrategy | string; /** - *

                                                          The type of the monitoring job definition to schedule.

                                                          + *

                                                          The + * environment variables to set in the Docker container. We support up to 16 key and values + * entries in the map.

                                                          */ - MonitoringType?: MonitoringType | string; + Environment?: { [key: string]: string }; /** - *

                                                          If the monitoring schedule failed, the reason it failed.

                                                          + *

                                                          Describes the dataset to be transformed and the Amazon S3 location where it is + * stored.

                                                          */ - FailureReason?: string; + TransformInput: TransformInput | undefined; /** - *

                                                          The time that the monitoring schedule was created.

                                                          + *

                                                          Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the + * transform job.

                                                          */ - CreationTime?: Date; + TransformOutput?: TransformOutput; /** - *

                                                          The last time the monitoring schedule was changed.

                                                          + *

                                                          Describes + * the resources, including ML instance types and ML instance count, to + * use for the transform job.

                                                          */ - LastModifiedTime?: Date; + TransformResources: TransformResources | undefined; /** - *

                                                          Configures the monitoring schedule and defines the monitoring job.

                                                          + *

                                                          A timestamp that shows when the transform Job was created.

                                                          */ - MonitoringScheduleConfig?: MonitoringScheduleConfig; + CreationTime: Date | undefined; /** - *

                                                          The endpoint that hosts the model being monitored.

                                                          + *

                                                          Indicates when the transform job starts + * on + * ML instances. You are billed for the time interval between this time + * and the value of TransformEndTime.

                                                          */ - EndpointName?: string; + TransformStartTime?: Date; /** - *

                                                          Summary of information about the last monitoring job to run.

                                                          + *

                                                          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.

                                                          */ - LastMonitoringExecutionSummary?: MonitoringExecutionSummary; + TransformEndTime?: Date; /** - *

                                                          A list of the tags associated with the monitoring schedlue. For more information, see Tagging Amazon Web Services - * resources in the Amazon Web Services General Reference Guide.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the + * transform or training job.

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

                                                          The Amazon Resource Name (ARN) of the AutoML transform job.

                                                          + */ + AutoMLJobArn?: 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; + + /** + *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                          + * + */ + ExperimentConfig?: ExperimentConfig; } -export namespace MonitoringSchedule { +export namespace DescribeTransformJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringSchedule): any => ({ + export const filterSensitiveLog = (obj: DescribeTransformJobResponse): any => ({ ...obj, }); } -/** - *

                                                          A hosted endpoint for real-time inference.

                                                          - */ -export interface Endpoint { +export interface DescribeTrialRequest { /** - *

                                                          The name of the endpoint.

                                                          + *

                                                          The name of the trial to describe.

                                                          */ - EndpointName: string | undefined; + TrialName: string | undefined; +} +export namespace DescribeTrialRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the endpoint.

                                                          + * @internal */ - EndpointArn: string | undefined; + export const filterSensitiveLog = (obj: DescribeTrialRequest): any => ({ + ...obj, + }); +} +/** + *

                                                          The source of the trial.

                                                          + */ +export interface TrialSource { /** - *

                                                          The endpoint configuration associated with the endpoint.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the source.

                                                          */ - EndpointConfigName: string | undefined; + SourceArn: string | undefined; /** - *

                                                          A list of the production variants hosted on the endpoint. Each production variant is a - * model.

                                                          + *

                                                          The source job type.

                                                          */ - ProductionVariants?: ProductionVariantSummary[]; + SourceType?: string; +} +export namespace TrialSource { /** - *

                                                          + * @internal */ - DataCaptureConfig?: DataCaptureConfigSummary; + export const filterSensitiveLog = (obj: TrialSource): any => ({ + ...obj, + }); +} +export interface DescribeTrialResponse { /** - *

                                                          The status of the endpoint.

                                                          + *

                                                          The name of the trial.

                                                          */ - EndpointStatus: EndpointStatus | string | undefined; + TrialName?: string; /** - *

                                                          If the endpoint failed, the reason it failed.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          */ - FailureReason?: string; + TrialArn?: string; /** - *

                                                          The time that the endpoint was created.

                                                          + *

                                                          The name of the trial as displayed. If DisplayName isn't specified, + * TrialName is displayed.

                                                          */ - CreationTime: Date | undefined; + DisplayName?: string; /** - *

                                                          The last time the endpoint was modified.

                                                          + *

                                                          The name of the experiment the trial is part of.

                                                          */ - LastModifiedTime: Date | undefined; + ExperimentName?: string; /** - *

                                                          A list of monitoring schedules for the endpoint. For information about model - * monitoring, see Amazon SageMaker Model Monitor.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                                          */ - MonitoringSchedules?: MonitoringSchedule[]; + Source?: TrialSource; /** - *

                                                          A list of the tags associated with the endpoint. For more information, see Tagging Amazon Web Services - * resources in the Amazon Web Services General Reference Guide.

                                                          + *

                                                          When the trial was created.

                                                          */ - Tags?: Tag[]; -} + CreationTime?: Date; -export namespace Endpoint { /** - * @internal + *

                                                          Who created the trial.

                                                          */ - export const filterSensitiveLog = (obj: Endpoint): any => ({ - ...obj, - }); -} - -export enum EndpointConfigSortKey { - CreationTime = "CreationTime", - Name = "Name", -} + CreatedBy?: UserContext; -/** - *

                                                          Provides summary information for an endpoint configuration.

                                                          - */ -export interface EndpointConfigSummary { /** - *

                                                          The name of the endpoint configuration.

                                                          + *

                                                          When the trial was last modified.

                                                          */ - EndpointConfigName: string | undefined; + LastModifiedTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the endpoint configuration.

                                                          + *

                                                          Who last modified the trial.

                                                          */ - EndpointConfigArn: string | undefined; + LastModifiedBy?: UserContext; /** - *

                                                          A timestamp that shows when the endpoint configuration was created.

                                                          + *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          */ - CreationTime: Date | undefined; + MetadataProperties?: MetadataProperties; } -export namespace EndpointConfigSummary { +export namespace DescribeTrialResponse { /** * @internal */ - export const filterSensitiveLog = (obj: EndpointConfigSummary): any => ({ + export const filterSensitiveLog = (obj: DescribeTrialResponse): any => ({ ...obj, }); } -export enum EndpointSortKey { - CreationTime = "CreationTime", - Name = "Name", - Status = "Status", +export interface DescribeTrialComponentRequest { + /** + *

                                                          The name of the trial component to describe.

                                                          + */ + TrialComponentName: string | undefined; +} + +export namespace DescribeTrialComponentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTrialComponentRequest): any => ({ + ...obj, + }); } /** - *

                                                          Provides summary information for an endpoint.

                                                          + *

                                                          A summary of the metrics of a trial component.

                                                          */ -export interface EndpointSummary { +export interface TrialComponentMetricSummary { /** - *

                                                          The name of the endpoint.

                                                          + *

                                                          The name of the metric.

                                                          */ - EndpointName: string | undefined; + MetricName?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the endpoint.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the source.

                                                          */ - EndpointArn: string | undefined; + SourceArn?: string; /** - *

                                                          A timestamp that shows when the endpoint was created.

                                                          + *

                                                          When the metric was last updated.

                                                          */ - CreationTime: Date | undefined; + TimeStamp?: Date; /** - *

                                                          A timestamp that shows when the endpoint was last modified.

                                                          + *

                                                          The maximum value of the metric.

                                                          */ - LastModifiedTime: Date | undefined; + Max?: number; /** - *

                                                          The status of the endpoint.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * OutOfService: Endpoint is not available to take incoming - * requests.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Creating: CreateEndpoint is executing.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * SystemUpdating: Endpoint is undergoing maintenance and cannot be - * updated or deleted or re-scaled until it has completed. This maintenance - * operation does not change any customer-specified values such as VPC config, KMS - * encryption, model, instance type, or instance count.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * RollingBack: Endpoint fails to scale up or down or change its - * variant weight and is in the process of rolling back to its previous - * configuration. Once the rollback completes, endpoint returns to an - * InService status. This transitional status only applies to an - * endpoint that has autoscaling enabled and is undergoing variant weight or - * capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called - * explicitly.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * InService: Endpoint is available to process incoming - * requests.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Deleting: DeleteEndpoint is executing.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Failed: Endpoint could not be created, updated, or re-scaled. Use - * DescribeEndpointOutput$FailureReason for information about - * the failure. DeleteEndpoint is the only operation that can be - * performed on a failed endpoint.

                                                            - *
                                                          • - *
                                                          - *

                                                          To get a list of endpoints with a specified status, use the ListEndpointsInput$StatusEquals filter.

                                                          + *

                                                          The minimum value of the metric.

                                                          */ - EndpointStatus: EndpointStatus | string | undefined; + Min?: number; + + /** + *

                                                          The most recent value of the metric.

                                                          + */ + Last?: number; + + /** + *

                                                          The number of samples used to generate the metric.

                                                          + */ + Count?: number; + + /** + *

                                                          The average value of the metric.

                                                          + */ + Avg?: number; + + /** + *

                                                          The standard deviation of the metric.

                                                          + */ + StdDev?: number; } -export namespace EndpointSummary { +export namespace TrialComponentMetricSummary { /** * @internal */ - export const filterSensitiveLog = (obj: EndpointSummary): any => ({ + export const filterSensitiveLog = (obj: TrialComponentMetricSummary): any => ({ ...obj, }); } /** - *

                                                          The properties of an experiment as returned by the Search API.

                                                          + *

                                                          The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                                          */ -export interface Experiment { +export interface TrialComponentSource { /** - *

                                                          The name of the experiment.

                                                          + *

                                                          The source ARN.

                                                          */ - ExperimentName?: string; + SourceArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the experiment.

                                                          + *

                                                          The source job type.

                                                          */ - ExperimentArn?: string; + SourceType?: string; +} +export namespace TrialComponentSource { /** - *

                                                          The name of the experiment as displayed. If DisplayName isn't specified, - * ExperimentName is displayed.

                                                          + * @internal + */ + export const filterSensitiveLog = (obj: TrialComponentSource): any => ({ + ...obj, + }); +} + +export interface DescribeTrialComponentResponse { + /** + *

                                                          The name of the trial component.

                                                          + */ + TrialComponentName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the trial component.

                                                          + */ + TrialComponentArn?: string; + + /** + *

                                                          The name of the component as displayed. If DisplayName isn't specified, + * TrialComponentName is displayed.

                                                          */ DisplayName?: string; /** - *

                                                          The source of the experiment.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                                          */ - Source?: ExperimentSource; + Source?: TrialComponentSource; /** - *

                                                          The description of the experiment.

                                                          + *

                                                          The status of the component. States include:

                                                          + *
                                                            + *
                                                          • + *

                                                            InProgress

                                                            + *
                                                          • + *
                                                          • + *

                                                            Completed

                                                            + *
                                                          • + *
                                                          • + *

                                                            Failed

                                                            + *
                                                          • + *
                                                          */ - Description?: string; + Status?: TrialComponentStatus; /** - *

                                                          When the experiment was created.

                                                          + *

                                                          When the component started.

                                                          + */ + StartTime?: Date; + + /** + *

                                                          When the component ended.

                                                          + */ + EndTime?: Date; + + /** + *

                                                          When the component was created.

                                                          */ CreationTime?: Date; /** - *

                                                          Who created the experiment.

                                                          + *

                                                          Who created the trial component.

                                                          */ CreatedBy?: UserContext; /** - *

                                                          When the experiment was last modified.

                                                          + *

                                                          When the component was last modified.

                                                          */ LastModifiedTime?: Date; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          Who last modified the component.

                                                          */ LastModifiedBy?: UserContext; /** - *

                                                          The list of tags that are associated with the experiment. You can use Search API to search on the tags.

                                                          + *

                                                          The hyperparameters of the component.

                                                          */ - Tags?: Tag[]; -} + Parameters?: { [key: string]: TrialComponentParameterValue }; -export namespace Experiment { /** - * @internal + *

                                                          The input artifacts of the component.

                                                          */ - export const filterSensitiveLog = (obj: Experiment): any => ({ - ...obj, - }); -} + InputArtifacts?: { [key: string]: TrialComponentArtifact }; -/** - *

                                                          A summary of the properties of an experiment. To get the complete set of properties, call - * the DescribeExperiment API and provide the - * ExperimentName.

                                                          - */ -export interface ExperimentSummary { /** - *

                                                          The Amazon Resource Name (ARN) of the experiment.

                                                          + *

                                                          The output artifacts of the component.

                                                          */ - ExperimentArn?: string; + OutputArtifacts?: { [key: string]: TrialComponentArtifact }; /** - *

                                                          The name of the experiment.

                                                          + *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          */ - ExperimentName?: string; + MetadataProperties?: MetadataProperties; /** - *

                                                          The name of the experiment as displayed. If DisplayName isn't specified, - * ExperimentName is displayed.

                                                          + *

                                                          The metrics for the component.

                                                          */ - DisplayName?: string; + Metrics?: TrialComponentMetricSummary[]; /** - *

                                                          The source of the experiment.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          */ - ExperimentSource?: ExperimentSource; + LineageGroupArn?: string; +} +export namespace DescribeTrialComponentResponse { /** - *

                                                          When the experiment was created.

                                                          + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: DescribeTrialComponentResponse): any => ({ + ...obj, + ...(obj.Parameters && { + Parameters: Object.entries(obj.Parameters).reduce( + (acc: any, [key, value]: [string, TrialComponentParameterValue]) => ({ + ...acc, + [key]: TrialComponentParameterValue.filterSensitiveLog(value), + }), + {} + ), + }), + }); +} +export interface DescribeUserProfileRequest { /** - *

                                                          When the experiment was last modified.

                                                          + *

                                                          The domain ID.

                                                          */ - LastModifiedTime?: Date; + DomainId: string | undefined; + + /** + *

                                                          The user profile name. This value is not case sensitive.

                                                          + */ + UserProfileName: string | undefined; } -export namespace ExperimentSummary { +export namespace DescribeUserProfileRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExperimentSummary): any => ({ + export const filterSensitiveLog = (obj: DescribeUserProfileRequest): any => ({ ...obj, }); } -/** - *

                                                          Amazon SageMaker Feature Store stores features in a collection called Feature Group. - * A Feature Group can be visualized as a table which has rows, - * with a unique identifier for each row where each column in the table is a feature. - * In principle, a Feature Group is composed of features and values per features.

                                                          - */ -export interface FeatureGroup { +export enum UserProfileStatus { + Delete_Failed = "Delete_Failed", + Deleting = "Deleting", + Failed = "Failed", + InService = "InService", + Pending = "Pending", + Update_Failed = "Update_Failed", + Updating = "Updating", +} + +export interface DescribeUserProfileResponse { /** - *

                                                          The Amazon Resource Name (ARN) of a FeatureGroup.

                                                          + *

                                                          The ID of the domain that contains the profile.

                                                          */ - FeatureGroupArn?: string; + DomainId?: string; /** - *

                                                          The name of the FeatureGroup.

                                                          + *

                                                          The user profile Amazon Resource Name (ARN).

                                                          */ - FeatureGroupName?: string; + UserProfileArn?: string; /** - *

                                                          The name of the Feature whose value uniquely identifies a - * Record defined in the FeatureGroup - * FeatureDefinitions.

                                                          + *

                                                          The user profile name.

                                                          */ - RecordIdentifierFeatureName?: string; + UserProfileName?: string; /** - *

                                                          The name of the feature that stores the EventTime of a Record in a - * FeatureGroup.

                                                          - *

                                                          A EventTime is point in time when a new event - * occurs that corresponds to the creation or update of a Record in - * FeatureGroup. All Records in the FeatureGroup - * must have a corresponding EventTime.

                                                          - */ - EventTimeFeatureName?: string; - - /** - *

                                                          A list of Features. Each Feature must include a - * FeatureName and a FeatureType.

                                                          - *

                                                          Valid FeatureTypes are Integral, Fractional and - * String.

                                                          - *

                                                          - * FeatureNames cannot be any of the following: is_deleted, - * write_time, api_invocation_time.

                                                          - *

                                                          You can create up to 2,500 FeatureDefinitions per - * FeatureGroup.

                                                          + *

                                                          The ID of the user's profile in the Amazon Elastic File System (EFS) volume.

                                                          */ - FeatureDefinitions?: FeatureDefinition[]; + HomeEfsFileSystemUid?: string; /** - *

                                                          The time a FeatureGroup was created.

                                                          + *

                                                          The status.

                                                          */ - CreationTime?: Date; + Status?: UserProfileStatus | string; /** - *

                                                          Use this to specify the Amazon Web Services Key Management Service (KMS) Key ID, or - * KMSKeyId, for at rest data encryption. You can turn - * OnlineStore on or off by specifying the EnableOnlineStore flag - * at General Assembly; the default value is False.

                                                          + *

                                                          The last modified time.

                                                          */ - OnlineStoreConfig?: OnlineStoreConfig; + LastModifiedTime?: Date; /** - *

                                                          The configuration of an OfflineStore.

                                                          - *

                                                          Provide an OfflineStoreConfig in a request to - * CreateFeatureGroup to create an OfflineStore.

                                                          - *

                                                          To encrypt an OfflineStore using at rest data encryption, specify Amazon Web Services Key - * Management Service (KMS) key ID, or KMSKeyId, in - * S3StorageConfig.

                                                          + *

                                                          The creation time.

                                                          */ - OfflineStoreConfig?: OfflineStoreConfig; + CreationTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the IAM execution role used to create the feature - * group.

                                                          + *

                                                          The failure reason.

                                                          */ - RoleArn?: string; + FailureReason?: string; /** - *

                                                          A FeatureGroup status.

                                                          + *

                                                          The SSO user identifier.

                                                          */ - FeatureGroupStatus?: FeatureGroupStatus | string; + SingleSignOnUserIdentifier?: string; /** - *

                                                          The status of OfflineStore.

                                                          + *

                                                          The SSO user value.

                                                          */ - OfflineStoreStatus?: OfflineStoreStatus; + SingleSignOnUserValue?: string; /** - *

                                                          The reason that the FeatureGroup failed to - * be replicated in the OfflineStore. This is - * failure may be due to a failure to create a FeatureGroup in - * or delete a FeatureGroup from the OfflineStore.

                                                          + *

                                                          A collection of settings.

                                                          */ - FailureReason?: string; + UserSettings?: UserSettings; +} +export namespace DescribeUserProfileResponse { /** - *

                                                          A free form description of a FeatureGroup.

                                                          + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: DescribeUserProfileResponse): any => ({ + ...obj, + }); +} +export interface DescribeWorkforceRequest { /** - *

                                                          Tags used to define a FeatureGroup.

                                                          + *

                                                          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.

                                                          */ - Tags?: Tag[]; + WorkforceName: string | undefined; } -export namespace FeatureGroup { +export namespace DescribeWorkforceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FeatureGroup): any => ({ + export const filterSensitiveLog = (obj: DescribeWorkforceRequest): any => ({ ...obj, }); } -export enum FeatureGroupSortBy { - CREATION_TIME = "CreationTime", - FEATURE_GROUP_STATUS = "FeatureGroupStatus", - NAME = "Name", - OFFLINE_STORE_STATUS = "OfflineStoreStatus", +/** + *

                                                          Your OIDC IdP workforce configuration.

                                                          + */ +export interface OidcConfigForResponse { + /** + *

                                                          The OIDC IdP client ID used to configure your private workforce.

                                                          + */ + ClientId?: string; + + /** + *

                                                          The OIDC IdP issuer used to configure your private workforce.

                                                          + */ + Issuer?: string; + + /** + *

                                                          The OIDC IdP authorization endpoint used to configure your private workforce.

                                                          + */ + AuthorizationEndpoint?: string; + + /** + *

                                                          The OIDC IdP token endpoint used to configure your private workforce.

                                                          + */ + TokenEndpoint?: string; + + /** + *

                                                          The OIDC IdP user information endpoint used to configure your private workforce.

                                                          + */ + UserInfoEndpoint?: 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 enum FeatureGroupSortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", +export namespace OidcConfigForResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OidcConfigForResponse): any => ({ + ...obj, + }); } /** - *

                                                          The name, Arn, CreationTime, FeatureGroup values, - * LastUpdatedTime and EnableOnlineStorage status of a - * FeatureGroup.

                                                          + *

                                                          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 Amazon Web Services 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.

                                                          */ -export interface FeatureGroupSummary { +export interface Workforce { /** - *

                                                          The name of FeatureGroup.

                                                          + *

                                                          The name of the private workforce.

                                                          */ - FeatureGroupName: string | undefined; + WorkforceName: string | undefined; /** - *

                                                          Unique identifier for the FeatureGroup.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the private workforce.

                                                          */ - FeatureGroupArn: string | undefined; + WorkforceArn: string | undefined; /** - *

                                                          A timestamp indicating the time of creation time of the FeatureGroup.

                                                          + *

                                                          The most recent date that was used to + * successfully add one or more IP address ranges (CIDRs) to a private workforce's + * allow list.

                                                          */ - CreationTime: Date | undefined; + LastUpdatedDate?: Date; /** - *

                                                          The status of a FeatureGroup. The status can be any of the following: - * Creating, Created, CreateFail, - * Deleting or DetailFail.

                                                          + *

                                                          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.

                                                          */ - FeatureGroupStatus?: FeatureGroupStatus | string; + SourceIpConfig?: SourceIpConfig; /** - *

                                                          Notifies you if replicating data into the OfflineStore has failed. Returns - * either: Active or Blocked.

                                                          + *

                                                          The subdomain for your OIDC Identity Provider.

                                                          */ - OfflineStoreStatus?: OfflineStoreStatus; + SubDomain?: string; + + /** + *

                                                          The configuration of an Amazon Cognito workforce. + * A single Cognito workforce is created using and corresponds to a single + * + * Amazon Cognito user pool.

                                                          + */ + CognitoConfig?: CognitoConfig; + + /** + *

                                                          The configuration of an OIDC Identity Provider (IdP) private workforce.

                                                          + */ + OidcConfig?: OidcConfigForResponse; + + /** + *

                                                          The date that the workforce is created.

                                                          + */ + CreateDate?: Date; } -export namespace FeatureGroupSummary { +export namespace Workforce { /** * @internal */ - export const filterSensitiveLog = (obj: FeatureGroupSummary): any => ({ + export const filterSensitiveLog = (obj: Workforce): any => ({ ...obj, }); } -export enum Operator { - CONTAINS = "Contains", - EQUALS = "Equals", - EXISTS = "Exists", - GREATER_THAN = "GreaterThan", - GREATER_THAN_OR_EQUAL_TO = "GreaterThanOrEqualTo", - IN = "In", - LESS_THAN = "LessThan", - LESS_THAN_OR_EQUAL_TO = "LessThanOrEqualTo", - NOT_EQUALS = "NotEquals", - NOT_EXISTS = "NotExists", +export interface DescribeWorkforceResponse { + /** + *

                                                          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 Amazon Web Services 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.

                                                          + */ + Workforce: Workforce | undefined; +} + +export namespace DescribeWorkforceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeWorkforceResponse): any => ({ + ...obj, + }); +} + +export interface DescribeWorkteamRequest { + /** + *

                                                          The name of the work team to return a description of.

                                                          + */ + WorkteamName: string | undefined; +} + +export namespace DescribeWorkteamRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeWorkteamRequest): any => ({ + ...obj, + }); } /** - *

                                                          A conditional statement for a search expression that includes a resource property, a - * Boolean operator, and a value. Resources that match the statement are returned in the - * results from the Search API.

                                                          - * - *

                                                          If you specify a Value, but not an Operator, Amazon SageMaker uses the - * equals operator.

                                                          - *

                                                          In search, there are several property types:

                                                          - *
                                                          - *
                                                          Metrics
                                                          - *
                                                          - *

                                                          To define a metric filter, enter a value using the form - * "Metrics.", where is - * a metric name. For example, the following filter searches for training jobs - * with an "accuracy" metric greater than - * "0.9":

                                                          - *

                                                          - * { - *

                                                          - *

                                                          - * "Name": "Metrics.accuracy", - *

                                                          - *

                                                          - * "Operator": "GreaterThan", - *

                                                          - *

                                                          - * "Value": "0.9" - *

                                                          - *

                                                          - * } - *

                                                          - *
                                                          - *
                                                          HyperParameters
                                                          - *
                                                          - *

                                                          To define a hyperparameter filter, enter a value with the form - * "HyperParameters.". Decimal hyperparameter - * values are treated as a decimal in a comparison if the specified - * Value is also a decimal value. If the specified - * Value is an integer, the decimal hyperparameter values are - * treated as integers. For example, the following filter is satisfied by - * training jobs with a "learning_rate" hyperparameter that is - * less than "0.5":

                                                          - *

                                                          - * { - *

                                                          - *

                                                          - * "Name": "HyperParameters.learning_rate", - *

                                                          - *

                                                          - * "Operator": "LessThan", - *

                                                          - *

                                                          - * "Value": "0.5" - *

                                                          - *

                                                          - * } - *

                                                          - *
                                                          - *
                                                          Tags
                                                          - *
                                                          - *

                                                          To define a tag filter, enter a value with the form - * Tags..

                                                          - *
                                                          - *
                                                          + *

                                                          Provides details about a labeling work team.

                                                          */ -export interface Filter { +export interface Workteam { /** - *

                                                          A resource property name. For example, TrainingJobName. For - * valid property names, see SearchRecord. - * You must specify a valid property for the resource.

                                                          + *

                                                          The name of the work team.

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

                                                          A Boolean binary operator that is used to evaluate the filter. The operator field - * contains one of the following values:

                                                          - *
                                                          - *
                                                          Equals
                                                          - *
                                                          - *

                                                          The value of Name equals Value.

                                                          - *
                                                          - *
                                                          NotEquals
                                                          - *
                                                          - *

                                                          The value of Name doesn't equal Value.

                                                          - *
                                                          - *
                                                          Exists
                                                          - *
                                                          - *

                                                          The Name property exists.

                                                          - *
                                                          - *
                                                          NotExists
                                                          - *
                                                          - *

                                                          The Name property does not exist.

                                                          - *
                                                          - *
                                                          GreaterThan
                                                          - *
                                                          - *

                                                          The value of Name is greater than Value. - * Not supported for text properties.

                                                          - *
                                                          - *
                                                          GreaterThanOrEqualTo
                                                          - *
                                                          - *

                                                          The value of Name is greater than or equal to Value. - * Not supported for text properties.

                                                          - *
                                                          - *
                                                          LessThan
                                                          - *
                                                          - *

                                                          The value of Name is less than Value. - * Not supported for text properties.

                                                          - *
                                                          - *
                                                          LessThanOrEqualTo
                                                          - *
                                                          - *

                                                          The value of Name is less than or equal to Value. - * Not supported for text properties.

                                                          - *
                                                          - *
                                                          In
                                                          - *
                                                          - *

                                                          The value of Name is one of the comma delimited strings in - * Value. Only supported for text properties.

                                                          - *
                                                          - *
                                                          Contains
                                                          - *
                                                          - *

                                                          The value of Name contains the string Value. - * Only supported for text properties.

                                                          - *

                                                          A SearchExpression can include the Contains operator - * multiple times when the value of Name is one of the following:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * Experiment.DisplayName - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Experiment.ExperimentName - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Experiment.Tags - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Trial.DisplayName - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Trial.TrialName - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Trial.Tags - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * TrialComponent.DisplayName - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * TrialComponent.TrialComponentName - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * TrialComponent.Tags - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * TrialComponent.InputArtifacts - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * TrialComponent.OutputArtifacts - *

                                                            - *
                                                          • - *
                                                          - *

                                                          A SearchExpression can include only one Contains operator - * for all other values of Name. In these cases, if you include multiple - * Contains operators in the SearchExpression, the result is - * the following error message: "'CONTAINS' operator usage limit of 1 - * exceeded."

                                                          - *
                                                          - *
                                                          + *

                                                          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.

                                                          */ - Operator?: Operator | string; + MemberDefinitions: MemberDefinition[] | undefined; /** - *

                                                          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.

                                                          + *

                                                          The Amazon Resource Name (ARN) that identifies the work team.

                                                          */ - Value?: string; -} + WorkteamArn: string | undefined; -export namespace Filter { /** - * @internal + *

                                                          The Amazon Resource Name (ARN) of the workforce.

                                                          */ - export const filterSensitiveLog = (obj: Filter): any => ({ - ...obj, - }); -} + WorkforceArn?: string; -/** - *

                                                          Contains summary information about the flow definition.

                                                          - */ -export interface FlowDefinitionSummary { /** - *

                                                          The name of the flow definition.

                                                          + *

                                                          The Amazon Marketplace identifier for a vendor's work team.

                                                          */ - FlowDefinitionName: string | undefined; + ProductListingIds?: string[]; /** - *

                                                          The Amazon Resource Name (ARN) of the flow definition.

                                                          + *

                                                          A description of the work team.

                                                          */ - FlowDefinitionArn: string | undefined; + Description: string | undefined; /** - *

                                                          The status of the flow definition. Valid values:

                                                          + *

                                                          The URI of the labeling job's user interface. Workers open this URI to start labeling + * your data objects.

                                                          */ - FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; + SubDomain?: string; /** - *

                                                          The timestamp when SageMaker created the flow definition.

                                                          + *

                                                          The date and time that the work team was created (timestamp).

                                                          */ - CreationTime: Date | undefined; + CreateDate?: Date; /** - *

                                                          The reason why the flow definition creation failed. A failure reason is returned only when the flow definition status is Failed.

                                                          + *

                                                          The date and time that the work team was last updated (timestamp).

                                                          */ - FailureReason?: string; + LastUpdatedDate?: Date; + + /** + *

                                                          Configures SNS notifications of available or expiring work items for work + * teams.

                                                          + */ + NotificationConfiguration?: NotificationConfiguration; } -export namespace FlowDefinitionSummary { +export namespace Workteam { /** * @internal */ - export const filterSensitiveLog = (obj: FlowDefinitionSummary): any => ({ + export const filterSensitiveLog = (obj: Workteam): any => ({ ...obj, }); } -export interface GetDeviceFleetReportRequest { +export interface DescribeWorkteamResponse { /** - *

                                                          The name of the fleet.

                                                          + *

                                                          A Workteam instance that contains information about the work team. + *

                                                          */ - DeviceFleetName: string | undefined; + Workteam: Workteam | undefined; } -export namespace GetDeviceFleetReportRequest { +export namespace DescribeWorkteamResponse { /** * @internal */ - export const filterSensitiveLog = (obj: GetDeviceFleetReportRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeWorkteamResponse): any => ({ ...obj, }); } -export interface GetDeviceFleetReportResponse { +/** + *

                                                          Specifies weight and capacity values for a production variant.

                                                          + */ +export interface DesiredWeightAndCapacity { /** - *

                                                          The Amazon Resource Name (ARN) of the device.

                                                          + *

                                                          The name of the + * variant + * to update.

                                                          */ - DeviceFleetArn: string | undefined; + VariantName: string | undefined; /** - *

                                                          The name of the fleet.

                                                          + *

                                                          The variant's weight.

                                                          */ - DeviceFleetName: string | undefined; + DesiredWeight?: number; /** - *

                                                          The output configuration for storing sample data collected by the fleet.

                                                          + *

                                                          The variant's capacity.

                                                          */ - OutputConfig?: EdgeOutputConfig; + DesiredInstanceCount?: number; +} +export namespace DesiredWeightAndCapacity { /** - *

                                                          Description of the fleet.

                                                          + * @internal */ - Description?: string; - - /** - *

                                                          Timestamp of when the report was generated.

                                                          - */ - ReportGenerated?: Date; + export const filterSensitiveLog = (obj: DesiredWeightAndCapacity): any => ({ + ...obj, + }); +} +/** + *

                                                          Information of a particular device.

                                                          + */ +export interface Device { /** - *

                                                          Status of devices.

                                                          + *

                                                          The name of the device.

                                                          */ - DeviceStats?: DeviceStats; + DeviceName: string | undefined; /** - *

                                                          The versions of Edge Manager agent deployed on the fleet.

                                                          + *

                                                          Description of the device.

                                                          */ - AgentVersions?: AgentVersion[]; + Description?: string; /** - *

                                                          Status of model on device.

                                                          + *

                                                          Amazon Web Services Internet of Things (IoT) object name.

                                                          */ - ModelStats?: EdgeModelStat[]; + IotThingName?: string; } -export namespace GetDeviceFleetReportResponse { +export namespace Device { /** * @internal */ - export const filterSensitiveLog = (obj: GetDeviceFleetReportResponse): any => ({ + export const filterSensitiveLog = (obj: Device): any => ({ ...obj, }); } -export interface GetModelPackageGroupPolicyInput { +/** + *

                                                          Summary of the device fleet.

                                                          + */ +export interface DeviceFleetSummary { /** - *

                                                          The name of the model group for which to get the resource policy.

                                                          + *

                                                          Amazon Resource Name (ARN) of the device fleet.

                                                          */ - ModelPackageGroupName: string | undefined; -} + DeviceFleetArn: string | undefined; -export namespace GetModelPackageGroupPolicyInput { /** - * @internal + *

                                                          Name of the device fleet.

                                                          */ - export const filterSensitiveLog = (obj: GetModelPackageGroupPolicyInput): any => ({ - ...obj, - }); -} + DeviceFleetName: string | undefined; -export interface GetModelPackageGroupPolicyOutput { /** - *

                                                          The resource policy for the model group.

                                                          + *

                                                          Timestamp of when the device fleet was created.

                                                          */ - ResourcePolicy: string | undefined; -} + CreationTime?: Date; -export namespace GetModelPackageGroupPolicyOutput { /** - * @internal + *

                                                          Timestamp of when the device fleet was last updated.

                                                          */ - export const filterSensitiveLog = (obj: GetModelPackageGroupPolicyOutput): any => ({ - ...obj, - }); + LastModifiedTime?: Date; } -export interface GetSagemakerServicecatalogPortfolioStatusInput {} - -export namespace GetSagemakerServicecatalogPortfolioStatusInput { +export namespace DeviceFleetSummary { /** * @internal */ - export const filterSensitiveLog = (obj: GetSagemakerServicecatalogPortfolioStatusInput): any => ({ + export const filterSensitiveLog = (obj: DeviceFleetSummary): any => ({ ...obj, }); } -export enum SagemakerServicecatalogStatus { - DISABLED = "Disabled", - ENABLED = "Enabled", -} +/** + *

                                                          Status of devices.

                                                          + */ +export interface DeviceStats { + /** + *

                                                          The number of devices connected with a heartbeat.

                                                          + */ + ConnectedDeviceCount: number | undefined; -export interface GetSagemakerServicecatalogPortfolioStatusOutput { /** - *

                                                          Whether Service Catalog is enabled or disabled in SageMaker.

                                                          + *

                                                          The number of registered devices.

                                                          */ - Status?: SagemakerServicecatalogStatus | string; + RegisteredDeviceCount: number | undefined; } -export namespace GetSagemakerServicecatalogPortfolioStatusOutput { +export namespace DeviceStats { /** * @internal */ - export const filterSensitiveLog = (obj: GetSagemakerServicecatalogPortfolioStatusOutput): any => ({ + export const filterSensitiveLog = (obj: DeviceStats): any => ({ ...obj, }); } -export enum ResourceType { - ENDPOINT = "Endpoint", - EXPERIMENT = "Experiment", - EXPERIMENT_TRIAL = "ExperimentTrial", - EXPERIMENT_TRIAL_COMPONENT = "ExperimentTrialComponent", - FEATURE_GROUP = "FeatureGroup", - MODEL_PACKAGE = "ModelPackage", - MODEL_PACKAGE_GROUP = "ModelPackageGroup", - PIPELINE = "Pipeline", - PIPELINE_EXECUTION = "PipelineExecution", - PROJECT = "Project", - TRAINING_JOB = "TrainingJob", -} - /** - *

                                                          Part of the SuggestionQuery type. Specifies a hint for retrieving property - * names that begin with the specified text.

                                                          + *

                                                          Summary of model on edge device.

                                                          */ -export interface PropertyNameQuery { +export interface EdgeModelSummary { /** - *

                                                          Text that begins a property's name.

                                                          + *

                                                          The name of the model.

                                                          */ - PropertyNameHint: string | undefined; + ModelName: string | undefined; + + /** + *

                                                          The version model.

                                                          + */ + ModelVersion: string | undefined; } -export namespace PropertyNameQuery { +export namespace EdgeModelSummary { /** * @internal */ - export const filterSensitiveLog = (obj: PropertyNameQuery): any => ({ + export const filterSensitiveLog = (obj: EdgeModelSummary): any => ({ ...obj, }); } /** - *

                                                          Specified in the GetSearchSuggestions request. - * Limits the property names that are included in the response.

                                                          + *

                                                          Summary of the device.

                                                          */ -export interface SuggestionQuery { +export interface DeviceSummary { /** - *

                                                          Defines a property name hint. Only property - * names that begin with the specified hint are included in the response.

                                                          + *

                                                          The unique identifier of the device.

                                                          */ - PropertyNameQuery?: PropertyNameQuery; -} + DeviceName: string | undefined; -export namespace SuggestionQuery { /** - * @internal + *

                                                          Amazon Resource Name (ARN) of the device.

                                                          */ - export const filterSensitiveLog = (obj: SuggestionQuery): any => ({ - ...obj, - }); -} + DeviceArn: string | undefined; -export interface GetSearchSuggestionsRequest { /** - *

                                                          The name of the Amazon SageMaker resource to search for.

                                                          + *

                                                          A description of the device.

                                                          */ - Resource: ResourceType | string | undefined; + Description?: string; /** - *

                                                          Limits the property names that are included in the response.

                                                          + *

                                                          The name of the fleet the device belongs to.

                                                          */ - SuggestionQuery?: SuggestionQuery; + DeviceFleetName?: string; + + /** + *

                                                          The Amazon Web Services Internet of Things (IoT) object thing name associated with the device..

                                                          + */ + IotThingName?: string; + + /** + *

                                                          The timestamp of the last registration or de-reregistration.

                                                          + */ + RegistrationTime?: Date; + + /** + *

                                                          The last heartbeat received from the device.

                                                          + */ + LatestHeartbeat?: Date; + + /** + *

                                                          Models on the device.

                                                          + */ + Models?: EdgeModelSummary[]; + + /** + *

                                                          Edge Manager agent version.

                                                          + */ + AgentVersion?: string; } -export namespace GetSearchSuggestionsRequest { +export namespace DeviceSummary { /** * @internal */ - export const filterSensitiveLog = (obj: GetSearchSuggestionsRequest): any => ({ + export const filterSensitiveLog = (obj: DeviceSummary): any => ({ ...obj, }); } -/** - *

                                                          A property name returned from a GetSearchSuggestions call that specifies - * a value in the PropertyNameQuery field.

                                                          - */ -export interface PropertyNameSuggestion { +export enum Direction { + ASCENDANTS = "Ascendants", + BOTH = "Both", + DESCENDANTS = "Descendants", +} + +export interface DisableSagemakerServicecatalogPortfolioInput {} + +export namespace DisableSagemakerServicecatalogPortfolioInput { /** - *

                                                          A suggested property name based on what you entered in the search textbox in the Amazon SageMaker - * console.

                                                          + * @internal */ - PropertyName?: string; + export const filterSensitiveLog = (obj: DisableSagemakerServicecatalogPortfolioInput): any => ({ + ...obj, + }); } -export namespace PropertyNameSuggestion { +export interface DisableSagemakerServicecatalogPortfolioOutput {} + +export namespace DisableSagemakerServicecatalogPortfolioOutput { /** * @internal */ - export const filterSensitiveLog = (obj: PropertyNameSuggestion): any => ({ + export const filterSensitiveLog = (obj: DisableSagemakerServicecatalogPortfolioOutput): any => ({ ...obj, }); } -export interface GetSearchSuggestionsResponse { +export interface DisassociateTrialComponentRequest { /** - *

                                                          A list of property names for a Resource that match a - * SuggestionQuery.

                                                          + *

                                                          The name of the component to disassociate from the trial.

                                                          */ - PropertyNameSuggestions?: PropertyNameSuggestion[]; + TrialComponentName: string | undefined; + + /** + *

                                                          The name of the trial to disassociate from.

                                                          + */ + TrialName: string | undefined; } -export namespace GetSearchSuggestionsResponse { +export namespace DisassociateTrialComponentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSearchSuggestionsResponse): any => ({ + export const filterSensitiveLog = (obj: DisassociateTrialComponentRequest): any => ({ ...obj, }); } -/** - *

                                                          Specifies configuration details for a Git repository when the repository is - * updated.

                                                          - */ -export interface GitConfigForUpdate { +export interface DisassociateTrialComponentResponse { /** - *

                                                          The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that contains the - * credentials used to access the git repository. The secret must have a staging label of - * AWSCURRENT and must be in the following format:

                                                          - *

                                                          - * {"username": UserName, "password": - * Password} - *

                                                          + *

                                                          The ARN of the trial component.

                                                          */ - SecretArn?: string; + TrialComponentArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          + */ + TrialArn?: string; } -export namespace GitConfigForUpdate { +export namespace DisassociateTrialComponentResponse { /** * @internal */ - export const filterSensitiveLog = (obj: GitConfigForUpdate): any => ({ + export const filterSensitiveLog = (obj: DisassociateTrialComponentResponse): any => ({ ...obj, }); } /** - *

                                                          Container for human task user interface information.

                                                          + *

                                                          The domain's details.

                                                          */ -export interface HumanTaskUiSummary { +export interface DomainDetails { /** - *

                                                          The name of the human task user interface.

                                                          + *

                                                          The domain's Amazon Resource Name (ARN).

                                                          */ - HumanTaskUiName: string | undefined; + DomainArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the human task user interface.

                                                          + *

                                                          The domain ID.

                                                          */ - HumanTaskUiArn: string | undefined; + DomainId?: string; /** - *

                                                          A timestamp when SageMaker created the human task user interface.

                                                          + *

                                                          The domain name.

                                                          */ - CreationTime: Date | undefined; -} + DomainName?: string; -export namespace HumanTaskUiSummary { /** - * @internal + *

                                                          The status.

                                                          */ - export const filterSensitiveLog = (obj: HumanTaskUiSummary): any => ({ - ...obj, - }); -} + Status?: DomainStatus | string; -export enum HyperParameterTuningJobSortByOptions { - CreationTime = "CreationTime", - Name = "Name", - Status = "Status", -} + /** + *

                                                          The creation time.

                                                          + */ + CreationTime?: Date; -/** - *

                                                          Provides summary information about a hyperparameter tuning job.

                                                          - */ -export interface HyperParameterTuningJobSummary { /** - *

                                                          The name of the tuning job.

                                                          + *

                                                          The last modified time.

                                                          */ - HyperParameterTuningJobName: string | undefined; + LastModifiedTime?: Date; /** - *

                                                          The - * Amazon - * Resource Name (ARN) of the tuning job.

                                                          + *

                                                          The domain's URL.

                                                          */ - HyperParameterTuningJobArn: string | undefined; + Url?: string; +} +export namespace DomainDetails { /** - *

                                                          The status of the - * tuning - * job.

                                                          + * @internal */ - HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; + export const filterSensitiveLog = (obj: DomainDetails): any => ({ + ...obj, + }); +} +/** + *

                                                          A collection of settings that update the current configuration for the RStudioServerPro Domain-level app.

                                                          + */ +export interface RStudioServerProDomainSettingsForUpdate { /** - *

                                                          Specifies the search strategy hyperparameter tuning uses to choose which - * hyperparameters to - * use - * for each iteration. Currently, the only valid value is - * Bayesian.

                                                          + *

                                                          The execution role for the RStudioServerPro Domain-level app.

                                                          */ - Strategy: HyperParameterTuningJobStrategyType | string | undefined; + DomainExecutionRoleArn: string | undefined; /** - *

                                                          The date and time that the tuning job was created.

                                                          + *

                                                          Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that + * the version runs on.

                                                          */ - CreationTime: Date | undefined; + DefaultResourceSpec?: ResourceSpec; +} + +export namespace RStudioServerProDomainSettingsForUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RStudioServerProDomainSettingsForUpdate): any => ({ + ...obj, + }); +} +/** + *

                                                          A collection of Domain configuration settings to update.

                                                          + */ +export interface DomainSettingsForUpdate { /** - *

                                                          The date and time that the tuning job ended.

                                                          + *

                                                          A collection of RStudioServerPro Domain-level app settings to update.

                                                          */ - HyperParameterTuningEndTime?: Date; + RStudioServerProDomainSettingsForUpdate?: RStudioServerProDomainSettingsForUpdate; +} +export namespace DomainSettingsForUpdate { /** - *

                                                          The date and time that the tuning job was - * modified.

                                                          + * @internal */ - LastModifiedTime?: Date; + export const filterSensitiveLog = (obj: DomainSettingsForUpdate): any => ({ + ...obj, + }); +} +/** + *

                                                          A directed edge connecting two lineage entities.

                                                          + */ +export interface Edge { /** - *

                                                          The TrainingJobStatusCounters object that specifies the numbers of - * training jobs, categorized by status, that this tuning job launched.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the source lineage entity of the directed edge.

                                                          */ - TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; + SourceArn?: string; /** - *

                                                          The ObjectiveStatusCounters object that specifies the numbers of - * training jobs, categorized by objective metric status, that this tuning job - * launched.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the destination lineage entity of the directed edge.

                                                          */ - ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; + DestinationArn?: string; /** - *

                                                          The ResourceLimits object that specifies the maximum number of - * training jobs and parallel training jobs allowed for this tuning job.

                                                          + *

                                                          The type of the Association(Edge) between the source and destination. For example ContributedTo, + * Produced, or DerivedFrom.

                                                          */ - ResourceLimits?: ResourceLimits; + AssociationType?: AssociationEdgeType | string; } -export namespace HyperParameterTuningJobSummary { +export namespace Edge { /** * @internal */ - export const filterSensitiveLog = (obj: HyperParameterTuningJobSummary): any => ({ + export const filterSensitiveLog = (obj: Edge): any => ({ ...obj, }); } /** - *

                                                          A SageMaker image. A SageMaker image represents a set of container images that are derived from - * a common base container image. Each of these container images is represented by a SageMaker - * ImageVersion.

                                                          + *

                                                          Status of edge devices with this model.

                                                          */ -export interface Image { - /** - *

                                                          When the image was created.

                                                          - */ - CreationTime: Date | undefined; - - /** - *

                                                          The description of the image.

                                                          - */ - Description?: string; - +export interface EdgeModelStat { /** - *

                                                          The name of the image as displayed.

                                                          + *

                                                          The name of the model.

                                                          */ - DisplayName?: string; + ModelName: string | undefined; /** - *

                                                          When a create, update, or delete operation fails, the reason for the failure.

                                                          + *

                                                          The model version.

                                                          */ - FailureReason?: string; + ModelVersion: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the image.

                                                          + *

                                                          The number of devices that have this model version and do not have a heart beat.

                                                          */ - ImageArn: string | undefined; + OfflineDeviceCount: number | undefined; /** - *

                                                          The name of the image.

                                                          + *

                                                          The number of devices that have this model version and have a heart beat.

                                                          */ - ImageName: string | undefined; + ConnectedDeviceCount: number | undefined; /** - *

                                                          The status of the image.

                                                          + *

                                                          The number of devices that have this model version, a heart beat, and are currently running.

                                                          */ - ImageStatus: ImageStatus | string | undefined; + ActiveDeviceCount: number | undefined; /** - *

                                                          When the image was last modified.

                                                          + *

                                                          The number of devices with this model version and are producing sample data.

                                                          */ - LastModifiedTime: Date | undefined; + SamplingDeviceCount: number | undefined; } -export namespace Image { +export namespace EdgeModelStat { /** * @internal */ - export const filterSensitiveLog = (obj: Image): any => ({ + export const filterSensitiveLog = (obj: EdgeModelStat): any => ({ ...obj, }); } -export enum ImageSortBy { - CREATION_TIME = "CREATION_TIME", - IMAGE_NAME = "IMAGE_NAME", - LAST_MODIFIED_TIME = "LAST_MODIFIED_TIME", -} - -export enum ImageSortOrder { - ASCENDING = "ASCENDING", - DESCENDING = "DESCENDING", -} - /** - *

                                                          A version of a SageMaker Image. A version represents an existing container - * image.

                                                          + *

                                                          Summary of edge packaging job.

                                                          */ -export interface ImageVersion { +export interface EdgePackagingJobSummary { /** - *

                                                          When the version was created.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the edge packaging job.

                                                          */ - CreationTime: Date | undefined; + EdgePackagingJobArn: string | undefined; /** - *

                                                          When a create or delete operation fails, the reason for the failure.

                                                          + *

                                                          The name of the edge packaging job.

                                                          */ - FailureReason?: string; + EdgePackagingJobName: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the image the version is based on.

                                                          + *

                                                          The status of the edge packaging job.

                                                          */ - ImageArn: string | undefined; + EdgePackagingJobStatus: EdgePackagingJobStatus | string | undefined; /** - *

                                                          The ARN of the version.

                                                          + *

                                                          The name of the SageMaker Neo compilation job.

                                                          */ - ImageVersionArn: string | undefined; + CompilationJobName?: string; /** - *

                                                          The status of the version.

                                                          + *

                                                          The name of the model.

                                                          */ - ImageVersionStatus: ImageVersionStatus | string | undefined; + ModelName?: string; /** - *

                                                          When the version was last modified.

                                                          + *

                                                          The version of the model.

                                                          */ - LastModifiedTime: Date | undefined; + ModelVersion?: string; /** - *

                                                          The version number.

                                                          + *

                                                          The timestamp of when the job was created.

                                                          */ - Version: number | undefined; + CreationTime?: Date; + + /** + *

                                                          The timestamp of when the edge packaging job was last updated.

                                                          + */ + LastModifiedTime?: Date; } -export namespace ImageVersion { +export namespace EdgePackagingJobSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ImageVersion): any => ({ + export const filterSensitiveLog = (obj: EdgePackagingJobSummary): any => ({ ...obj, }); } -export enum ImageVersionSortBy { - CREATION_TIME = "CREATION_TIME", - LAST_MODIFIED_TIME = "LAST_MODIFIED_TIME", - VERSION = "VERSION", -} - -export enum ImageVersionSortOrder { - ASCENDING = "ASCENDING", - DESCENDING = "DESCENDING", -} - -/** - *

                                                          Provides counts for human-labeled tasks in the labeling job.

                                                          - */ -export interface LabelCountersForWorkteam { - /** - *

                                                          The total number of data objects labeled by a human worker.

                                                          - */ - HumanLabeled?: number; - - /** - *

                                                          The total number of data objects that need to be labeled by a human worker.

                                                          - */ - PendingHuman?: number; +export interface EnableSagemakerServicecatalogPortfolioInput {} +export namespace EnableSagemakerServicecatalogPortfolioInput { /** - *

                                                          The total number of tasks in the labeling job.

                                                          + * @internal */ - Total?: number; + export const filterSensitiveLog = (obj: EnableSagemakerServicecatalogPortfolioInput): any => ({ + ...obj, + }); } -export namespace LabelCountersForWorkteam { +export interface EnableSagemakerServicecatalogPortfolioOutput {} + +export namespace EnableSagemakerServicecatalogPortfolioOutput { /** * @internal */ - export const filterSensitiveLog = (obj: LabelCountersForWorkteam): any => ({ + export const filterSensitiveLog = (obj: EnableSagemakerServicecatalogPortfolioOutput): any => ({ ...obj, }); } /** - *

                                                          Provides summary information for a work team.

                                                          + *

                                                          A schedule for a model monitoring job. For information about model monitor, see + * Amazon SageMaker Model + * Monitor.

                                                          */ -export interface LabelingJobForWorkteamSummary { +export interface MonitoringSchedule { /** - *

                                                          The name of the labeling job that the work team is assigned to.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the monitoring schedule.

                                                          */ - LabelingJobName?: string; + MonitoringScheduleArn?: string; /** - *

                                                          A unique identifier for a labeling job. You can use this to refer to a specific - * labeling job.

                                                          + *

                                                          The name of the monitoring schedule.

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

                                                          The Amazon Web Services account ID of the account used to start the labeling job.

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

                                                          The date and time that the labeling job was created.

                                                          - */ - CreationTime: Date | undefined; - - /** - *

                                                          Provides information about the progress of a labeling job.

                                                          - */ - LabelCounters?: LabelCountersForWorkteam; - - /** - *

                                                          The configured number of workers per data object.

                                                          - */ - NumberOfHumanWorkersPerDataObject?: number; -} - -export namespace LabelingJobForWorkteamSummary { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobForWorkteamSummary): any => ({ - ...obj, - }); -} - -/** - *

                                                          Provides summary information about a labeling job.

                                                          - */ -export interface LabelingJobSummary { - /** - *

                                                          The name of the labeling job.

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

                                                          The Amazon Resource Name (ARN) assigned to the labeling job when it was - * created.

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

                                                          The date and time that the job was created (timestamp).

                                                          - */ - CreationTime: Date | undefined; + MonitoringScheduleName?: string; /** - *

                                                          The date and time that the job was last modified (timestamp).

                                                          + *

                                                          The status of the monitoring schedule. This can be one of the following values.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * PENDING - The schedule is pending being created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * FAILED - The schedule failed.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * SCHEDULED - The schedule was successfully created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * STOPPED - The schedule was stopped.

                                                            + *
                                                          • + *
                                                          */ - LastModifiedTime: Date | undefined; + MonitoringScheduleStatus?: ScheduleStatus | string; /** - *

                                                          The current status of the labeling job.

                                                          + *

                                                          The type of the monitoring job definition to schedule.

                                                          */ - LabelingJobStatus: LabelingJobStatus | string | undefined; + MonitoringType?: MonitoringType | string; /** - *

                                                          Counts showing the progress of the labeling job.

                                                          + *

                                                          If the monitoring schedule failed, the reason it failed.

                                                          */ - LabelCounters: LabelCounters | undefined; + FailureReason?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the work team assigned to the job.

                                                          + *

                                                          The time that the monitoring schedule was created.

                                                          */ - WorkteamArn: string | undefined; + CreationTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of a Lambda function. The function is run before each - * data object is sent to a worker.

                                                          + *

                                                          The last time the monitoring schedule was changed.

                                                          */ - PreHumanTaskLambdaArn: string | undefined; + LastModifiedTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the Lambda function used to consolidate the - * annotations from individual workers into a label for a data object. For more - * information, see Annotation - * Consolidation.

                                                          + *

                                                          Configures the monitoring schedule and defines the monitoring job.

                                                          */ - AnnotationConsolidationLambdaArn?: string; + MonitoringScheduleConfig?: MonitoringScheduleConfig; /** - *

                                                          If the LabelingJobStatus field is Failed, this field - * contains a description of the error.

                                                          + *

                                                          The endpoint that hosts the model being monitored.

                                                          */ - FailureReason?: string; + EndpointName?: string; /** - *

                                                          The location of the output produced by the labeling job.

                                                          + *

                                                          Summary of information about the last monitoring job to run.

                                                          */ - LabelingJobOutput?: LabelingJobOutput; + LastMonitoringExecutionSummary?: MonitoringExecutionSummary; /** - *

                                                          Input configuration for the labeling job.

                                                          + *

                                                          A list of the tags associated with the monitoring schedlue. For more information, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference Guide.

                                                          */ - InputConfig?: LabelingJobInputConfig; + Tags?: Tag[]; } -export namespace LabelingJobSummary { +export namespace MonitoringSchedule { /** * @internal */ - export const filterSensitiveLog = (obj: LabelingJobSummary): any => ({ + export const filterSensitiveLog = (obj: MonitoringSchedule): any => ({ ...obj, }); } /** - *

                                                          Metadata for a Lambda step.

                                                          + *

                                                          A hosted endpoint for real-time inference.

                                                          */ -export interface LambdaStepMetadata { +export interface Endpoint { /** - *

                                                          The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution.

                                                          + *

                                                          The name of the endpoint.

                                                          */ - Arn?: string; + EndpointName: string | undefined; /** - *

                                                          A list of the output parameters of the Lambda step.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the endpoint.

                                                          */ - OutputParameters?: OutputParameter[]; -} + EndpointArn: string | undefined; -export namespace LambdaStepMetadata { /** - * @internal + *

                                                          The endpoint configuration associated with the endpoint.

                                                          */ - export const filterSensitiveLog = (obj: LambdaStepMetadata): any => ({ - ...obj, - }); -} - -export enum SortActionsBy { - CREATION_TIME = "CreationTime", - NAME = "Name", -} - -export enum SortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", -} + EndpointConfigName: string | undefined; -export interface ListActionsRequest { /** - *

                                                          A filter that returns only actions with the specified source URI.

                                                          + *

                                                          A list of the production variants hosted on the endpoint. Each production variant is a + * model.

                                                          */ - SourceUri?: string; + ProductionVariants?: ProductionVariantSummary[]; /** - *

                                                          A filter that returns only actions of the specified type.

                                                          + *

                                                          */ - ActionType?: string; + DataCaptureConfig?: DataCaptureConfigSummary; /** - *

                                                          A filter that returns only actions created on or after the specified time.

                                                          + *

                                                          The status of the endpoint.

                                                          */ - CreatedAfter?: Date; + EndpointStatus: EndpointStatus | string | undefined; /** - *

                                                          A filter that returns only actions created on or before the specified time.

                                                          + *

                                                          If the endpoint failed, the reason it failed.

                                                          */ - CreatedBefore?: Date; + FailureReason?: string; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          The time that the endpoint was created.

                                                          */ - SortBy?: SortActionsBy | string; + CreationTime: Date | undefined; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          The last time the endpoint was modified.

                                                          */ - SortOrder?: SortOrder | string; + LastModifiedTime: Date | undefined; /** - *

                                                          If the previous call to ListActions didn't return the full set of actions, - * the call returns a token for getting the next set of actions.

                                                          + *

                                                          A list of monitoring schedules for the endpoint. For information about model + * monitoring, see Amazon SageMaker Model Monitor.

                                                          */ - NextToken?: string; + MonitoringSchedules?: MonitoringSchedule[]; /** - *

                                                          The maximum number of actions to return in the response. The default value is 10.

                                                          + *

                                                          A list of the tags associated with the endpoint. For more information, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference Guide.

                                                          */ - MaxResults?: number; + Tags?: Tag[]; } -export namespace ListActionsRequest { +export namespace Endpoint { /** * @internal */ - export const filterSensitiveLog = (obj: ListActionsRequest): any => ({ + export const filterSensitiveLog = (obj: Endpoint): any => ({ ...obj, }); } -export interface ListActionsResponse { +export enum EndpointConfigSortKey { + CreationTime = "CreationTime", + Name = "Name", +} + +/** + *

                                                          Provides summary information for an endpoint configuration.

                                                          + */ +export interface EndpointConfigSummary { /** - *

                                                          A list of actions and their properties.

                                                          + *

                                                          The name of the endpoint configuration.

                                                          */ - ActionSummaries?: ActionSummary[]; + EndpointConfigName: string | undefined; /** - *

                                                          A token for getting the next set of actions, if there are any.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the endpoint configuration.

                                                          */ - NextToken?: string; + EndpointConfigArn: string | undefined; + + /** + *

                                                          A timestamp that shows when the endpoint configuration was created.

                                                          + */ + CreationTime: Date | undefined; } -export namespace ListActionsResponse { +export namespace EndpointConfigSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListActionsResponse): any => ({ + export const filterSensitiveLog = (obj: EndpointConfigSummary): any => ({ ...obj, }); } -export interface ListAlgorithmsInput { - /** - *

                                                          A filter that returns only algorithms created after the specified time - * (timestamp).

                                                          - */ - CreationTimeAfter?: Date; - - /** - *

                                                          A filter that returns only algorithms created before the specified time - * (timestamp).

                                                          - */ - CreationTimeBefore?: Date; +export enum EndpointSortKey { + CreationTime = "CreationTime", + Name = "Name", + Status = "Status", +} +/** + *

                                                          Provides summary information for an endpoint.

                                                          + */ +export interface EndpointSummary { /** - *

                                                          The maximum number of algorithms to return in the response.

                                                          + *

                                                          The name of the endpoint.

                                                          */ - MaxResults?: number; + EndpointName: string | undefined; /** - *

                                                          A string in the algorithm name. This filter returns only algorithms whose name - * contains the specified string.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the endpoint.

                                                          */ - NameContains?: string; + EndpointArn: string | undefined; /** - *

                                                          If the response to a previous ListAlgorithms request was truncated, the - * response includes a NextToken. To retrieve the next set of algorithms, use - * the token in the next request.

                                                          + *

                                                          A timestamp that shows when the endpoint was created.

                                                          */ - NextToken?: string; + CreationTime: Date | undefined; /** - *

                                                          The parameter by which to sort the results. The default is - * CreationTime.

                                                          + *

                                                          A timestamp that shows when the endpoint was last modified.

                                                          */ - SortBy?: AlgorithmSortBy | string; + LastModifiedTime: Date | undefined; /** - *

                                                          The sort order for the results. The default is Ascending.

                                                          - */ - SortOrder?: SortOrder | string; -} - -export namespace ListAlgorithmsInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListAlgorithmsInput): any => ({ - ...obj, - }); -} - -export interface ListAlgorithmsOutput { - /** - *

                                                          >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.

                                                          + *

                                                          The status of the endpoint.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * OutOfService: Endpoint is not available to take incoming + * requests.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Creating: CreateEndpoint is executing.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * SystemUpdating: Endpoint is undergoing maintenance and cannot be + * updated or deleted or re-scaled until it has completed. This maintenance + * operation does not change any customer-specified values such as VPC config, KMS + * encryption, model, instance type, or instance count.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * RollingBack: Endpoint fails to scale up or down or change its + * variant weight and is in the process of rolling back to its previous + * configuration. Once the rollback completes, endpoint returns to an + * InService status. This transitional status only applies to an + * endpoint that has autoscaling enabled and is undergoing variant weight or + * capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called + * explicitly.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * InService: Endpoint is available to process incoming + * requests.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Deleting: DeleteEndpoint is executing.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Failed: Endpoint could not be created, updated, or re-scaled. Use + * DescribeEndpointOutput$FailureReason for information about + * the failure. DeleteEndpoint is the only operation that can be + * performed on a failed endpoint.

                                                            + *
                                                          • + *
                                                          + *

                                                          To get a list of endpoints with a specified status, use the ListEndpointsInput$StatusEquals filter.

                                                          */ - NextToken?: string; + EndpointStatus: EndpointStatus | string | undefined; } -export namespace ListAlgorithmsOutput { +export namespace EndpointSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListAlgorithmsOutput): any => ({ + export const filterSensitiveLog = (obj: EndpointSummary): any => ({ ...obj, }); } -export interface ListAppImageConfigsRequest { - /** - *

                                                          The maximum number of AppImageConfigs to return in the response. The default value is - * 10.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          If the previous call to ListImages didn't return the full set of - * AppImageConfigs, the call returns a token for getting the next set of AppImageConfigs.

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

                                                          The properties of an experiment as returned by the Search API.

                                                          + */ +export interface Experiment { /** - *

                                                          A filter that returns only AppImageConfigs whose name contains the specified string.

                                                          + *

                                                          The name of the experiment.

                                                          */ - NameContains?: string; + ExperimentName?: string; /** - *

                                                          A filter that returns only AppImageConfigs created on or before the specified time.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the experiment.

                                                          */ - CreationTimeBefore?: Date; + ExperimentArn?: string; /** - *

                                                          A filter that returns only AppImageConfigs created on or after the specified time.

                                                          + *

                                                          The name of the experiment as displayed. If DisplayName isn't specified, + * ExperimentName is displayed.

                                                          */ - CreationTimeAfter?: Date; + DisplayName?: string; /** - *

                                                          A filter that returns only AppImageConfigs modified on or before the specified time.

                                                          + *

                                                          The source of the experiment.

                                                          */ - ModifiedTimeBefore?: Date; + Source?: ExperimentSource; /** - *

                                                          A filter that returns only AppImageConfigs modified on or after the specified time.

                                                          + *

                                                          The description of the experiment.

                                                          */ - ModifiedTimeAfter?: Date; + Description?: string; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          When the experiment was created.

                                                          */ - SortBy?: AppImageConfigSortKey | string; + CreationTime?: Date; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          Who created the experiment.

                                                          */ - SortOrder?: SortOrder | string; -} + CreatedBy?: UserContext; -export namespace ListAppImageConfigsRequest { /** - * @internal + *

                                                          When the experiment was last modified.

                                                          */ - export const filterSensitiveLog = (obj: ListAppImageConfigsRequest): any => ({ - ...obj, - }); -} + LastModifiedTime?: Date; -export interface ListAppImageConfigsResponse { /** - *

                                                          A token for getting the next set of AppImageConfigs, if there are any.

                                                          + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          */ - NextToken?: string; + LastModifiedBy?: UserContext; /** - *

                                                          A list of AppImageConfigs and their properties.

                                                          + *

                                                          The list of tags that are associated with the experiment. You can use Search API to search on the tags.

                                                          */ - AppImageConfigs?: AppImageConfigDetails[]; + Tags?: Tag[]; } -export namespace ListAppImageConfigsResponse { +export namespace Experiment { /** * @internal */ - export const filterSensitiveLog = (obj: ListAppImageConfigsResponse): any => ({ + export const filterSensitiveLog = (obj: Experiment): any => ({ ...obj, }); } -export interface ListAppsRequest { +/** + *

                                                          A summary of the properties of an experiment. To get the complete set of properties, call + * the DescribeExperiment API and provide the + * ExperimentName.

                                                          + */ +export interface ExperimentSummary { /** - *

                                                          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 Amazon Resource Name (ARN) of the experiment.

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

                                                          Returns a list up to a specified limit.

                                                          + *

                                                          The name of the experiment.

                                                          */ - MaxResults?: number; + ExperimentName?: string; /** - *

                                                          The sort order for the results. The default is Ascending.

                                                          + *

                                                          The name of the experiment as displayed. If DisplayName isn't specified, + * ExperimentName is displayed.

                                                          */ - SortOrder?: SortOrder | string; + DisplayName?: string; /** - *

                                                          The parameter by which to sort the results. The default is CreationTime.

                                                          + *

                                                          The source of the experiment.

                                                          */ - SortBy?: AppSortKey | string; + ExperimentSource?: ExperimentSource; /** - *

                                                          A parameter to search for the domain ID.

                                                          + *

                                                          When the experiment was created.

                                                          */ - DomainIdEquals?: string; + CreationTime?: Date; /** - *

                                                          A parameter to search by user profile name.

                                                          + *

                                                          When the experiment was last modified.

                                                          */ - UserProfileNameEquals?: string; + LastModifiedTime?: Date; } -export namespace ListAppsRequest { +export namespace ExperimentSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListAppsRequest): any => ({ + export const filterSensitiveLog = (obj: ExperimentSummary): any => ({ ...obj, }); } -export interface ListAppsResponse { +/** + *

                                                          Amazon SageMaker Feature Store stores features in a collection called Feature Group. + * A Feature Group can be visualized as a table which has rows, + * with a unique identifier for each row where each column in the table is a feature. + * In principle, a Feature Group is composed of features and values per features.

                                                          + */ +export interface FeatureGroup { /** - *

                                                          The list of apps.

                                                          + *

                                                          The Amazon Resource Name (ARN) of a FeatureGroup.

                                                          */ - Apps?: AppDetails[]; + FeatureGroupArn?: 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.

                                                          + *

                                                          The name of the FeatureGroup.

                                                          */ - NextToken?: string; -} + FeatureGroupName?: string; -export namespace ListAppsResponse { /** - * @internal + *

                                                          The name of the Feature whose value uniquely identifies a + * Record defined in the FeatureGroup + * FeatureDefinitions.

                                                          */ - export const filterSensitiveLog = (obj: ListAppsResponse): any => ({ - ...obj, - }); -} - -export enum SortArtifactsBy { - CREATION_TIME = "CreationTime", -} + RecordIdentifierFeatureName?: string; -export interface ListArtifactsRequest { /** - *

                                                          A filter that returns only artifacts with the specified source URI.

                                                          + *

                                                          The name of the feature that stores the EventTime of a Record in a + * FeatureGroup.

                                                          + *

                                                          A EventTime is point in time when a new event + * occurs that corresponds to the creation or update of a Record in + * FeatureGroup. All Records in the FeatureGroup + * must have a corresponding EventTime.

                                                          */ - SourceUri?: string; + EventTimeFeatureName?: string; /** - *

                                                          A filter that returns only artifacts of the specified type.

                                                          + *

                                                          A list of Features. Each Feature must include a + * FeatureName and a FeatureType.

                                                          + *

                                                          Valid FeatureTypes are Integral, Fractional and + * String.

                                                          + *

                                                          + * FeatureNames cannot be any of the following: is_deleted, + * write_time, api_invocation_time.

                                                          + *

                                                          You can create up to 2,500 FeatureDefinitions per + * FeatureGroup.

                                                          */ - ArtifactType?: string; + FeatureDefinitions?: FeatureDefinition[]; /** - *

                                                          A filter that returns only artifacts created on or after the specified time.

                                                          + *

                                                          The time a FeatureGroup was created.

                                                          */ - CreatedAfter?: Date; + CreationTime?: Date; /** - *

                                                          A filter that returns only artifacts created on or before the specified time.

                                                          + *

                                                          Use this to specify the Amazon Web Services Key Management Service (KMS) Key ID, or + * KMSKeyId, for at rest data encryption. You can turn + * OnlineStore on or off by specifying the EnableOnlineStore flag + * at General Assembly; the default value is False.

                                                          */ - CreatedBefore?: Date; + OnlineStoreConfig?: OnlineStoreConfig; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          The configuration of an OfflineStore.

                                                          + *

                                                          Provide an OfflineStoreConfig in a request to + * CreateFeatureGroup to create an OfflineStore.

                                                          + *

                                                          To encrypt an OfflineStore using at rest data encryption, specify Amazon Web Services Key + * Management Service (KMS) key ID, or KMSKeyId, in + * S3StorageConfig.

                                                          */ - SortBy?: SortArtifactsBy | string; + OfflineStoreConfig?: OfflineStoreConfig; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the IAM execution role used to create the feature + * group.

                                                          */ - SortOrder?: SortOrder | string; + RoleArn?: string; /** - *

                                                          If the previous call to ListArtifacts didn't return the full set of artifacts, - * the call returns a token for getting the next set of artifacts.

                                                          + *

                                                          A FeatureGroup status.

                                                          */ - NextToken?: string; + FeatureGroupStatus?: FeatureGroupStatus | string; /** - *

                                                          The maximum number of artifacts to return in the response. The default value is 10.

                                                          + *

                                                          The status of OfflineStore.

                                                          */ - MaxResults?: number; -} + OfflineStoreStatus?: OfflineStoreStatus; -export namespace ListArtifactsRequest { /** - * @internal + *

                                                          The reason that the FeatureGroup failed to + * be replicated in the OfflineStore. This is + * failure may be due to a failure to create a FeatureGroup in + * or delete a FeatureGroup from the OfflineStore.

                                                          */ - export const filterSensitiveLog = (obj: ListArtifactsRequest): any => ({ - ...obj, - }); -} + FailureReason?: string; -export interface ListArtifactsResponse { /** - *

                                                          A list of artifacts and their properties.

                                                          + *

                                                          A free form description of a FeatureGroup.

                                                          */ - ArtifactSummaries?: ArtifactSummary[]; + Description?: string; /** - *

                                                          A token for getting the next set of artifacts, if there are any.

                                                          + *

                                                          Tags used to define a FeatureGroup.

                                                          */ - NextToken?: string; + Tags?: Tag[]; } -export namespace ListArtifactsResponse { +export namespace FeatureGroup { /** * @internal */ - export const filterSensitiveLog = (obj: ListArtifactsResponse): any => ({ + export const filterSensitiveLog = (obj: FeatureGroup): any => ({ ...obj, }); } -export enum SortAssociationsBy { +export enum FeatureGroupSortBy { CREATION_TIME = "CreationTime", - DESTINATION_ARN = "DestinationArn", - DESTINATION_TYPE = "DestinationType", - SOURCE_ARN = "SourceArn", - SOURCE_TYPE = "SourceType", + FEATURE_GROUP_STATUS = "FeatureGroupStatus", + NAME = "Name", + OFFLINE_STORE_STATUS = "OfflineStoreStatus", } -export interface ListAssociationsRequest { - /** - *

                                                          A filter that returns only associations with the specified source ARN.

                                                          - */ - SourceArn?: string; - - /** - *

                                                          A filter that returns only associations with the specified destination Amazon Resource Name (ARN).

                                                          - */ - DestinationArn?: string; - - /** - *

                                                          A filter that returns only associations with the specified source type.

                                                          - */ - SourceType?: string; - - /** - *

                                                          A filter that returns only associations with the specified destination type.

                                                          - */ - DestinationType?: string; - - /** - *

                                                          A filter that returns only associations of the specified type.

                                                          - */ - AssociationType?: AssociationEdgeType | string; - - /** - *

                                                          A filter that returns only associations created on or after the specified time.

                                                          - */ - CreatedAfter?: Date; +export enum FeatureGroupSortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} +/** + *

                                                          The name, Arn, CreationTime, FeatureGroup values, + * LastUpdatedTime and EnableOnlineStorage status of a + * FeatureGroup.

                                                          + */ +export interface FeatureGroupSummary { /** - *

                                                          A filter that returns only associations created on or before the specified time.

                                                          + *

                                                          The name of FeatureGroup.

                                                          */ - CreatedBefore?: Date; + FeatureGroupName: string | undefined; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          Unique identifier for the FeatureGroup.

                                                          */ - SortBy?: SortAssociationsBy | string; + FeatureGroupArn: string | undefined; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          A timestamp indicating the time of creation time of the FeatureGroup.

                                                          */ - SortOrder?: SortOrder | string; + CreationTime: Date | undefined; /** - *

                                                          If the previous call to ListAssociations didn't return the full set of associations, - * the call returns a token for getting the next set of associations.

                                                          + *

                                                          The status of a FeatureGroup. The status can be any of the following: + * Creating, Created, CreateFail, + * Deleting or DetailFail.

                                                          */ - NextToken?: string; + FeatureGroupStatus?: FeatureGroupStatus | string; /** - *

                                                          The maximum number of associations to return in the response. The default value is 10.

                                                          + *

                                                          Notifies you if replicating data into the OfflineStore has failed. Returns + * either: Active or Blocked.

                                                          */ - MaxResults?: number; + OfflineStoreStatus?: OfflineStoreStatus; } -export namespace ListAssociationsRequest { +export namespace FeatureGroupSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: FeatureGroupSummary): any => ({ ...obj, }); } -export interface ListAssociationsResponse { - /** - *

                                                          A list of associations and their properties.

                                                          - */ - AssociationSummaries?: AssociationSummary[]; - - /** - *

                                                          A token for getting the next set of associations, if there are any.

                                                          - */ - NextToken?: string; -} - -export namespace ListAssociationsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListAssociationsResponse): any => ({ - ...obj, - }); +export enum Operator { + CONTAINS = "Contains", + EQUALS = "Equals", + EXISTS = "Exists", + GREATER_THAN = "GreaterThan", + GREATER_THAN_OR_EQUAL_TO = "GreaterThanOrEqualTo", + IN = "In", + LESS_THAN = "LessThan", + LESS_THAN_OR_EQUAL_TO = "LessThanOrEqualTo", + NOT_EQUALS = "NotEquals", + NOT_EXISTS = "NotExists", } -export interface ListAutoMLJobsRequest { - /** - *

                                                          Request a list of jobs, using a filter for time.

                                                          - */ - CreationTimeAfter?: Date; - - /** - *

                                                          Request a list of jobs, using a filter for time.

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          Request a list of jobs, using a filter for time.

                                                          - */ - LastModifiedTimeAfter?: Date; - - /** - *

                                                          Request a list of jobs, using a filter for time.

                                                          - */ - LastModifiedTimeBefore?: Date; - - /** - *

                                                          Request a list of jobs, using a search filter for name.

                                                          - */ - NameContains?: string; - - /** - *

                                                          Request a list of jobs, using a filter for status.

                                                          - */ - StatusEquals?: AutoMLJobStatus | string; - - /** - *

                                                          The sort order for the results. The default is Descending.

                                                          - */ - SortOrder?: AutoMLSortOrder | string; - +/** + *

                                                          A conditional statement for a search expression that includes a resource property, a + * Boolean operator, and a value. Resources that match the statement are returned in the + * results from the Search API.

                                                          + * + *

                                                          If you specify a Value, but not an Operator, Amazon SageMaker uses the + * equals operator.

                                                          + *

                                                          In search, there are several property types:

                                                          + *
                                                          + *
                                                          Metrics
                                                          + *
                                                          + *

                                                          To define a metric filter, enter a value using the form + * "Metrics.", where is + * a metric name. For example, the following filter searches for training jobs + * with an "accuracy" metric greater than + * "0.9":

                                                          + *

                                                          + * { + *

                                                          + *

                                                          + * "Name": "Metrics.accuracy", + *

                                                          + *

                                                          + * "Operator": "GreaterThan", + *

                                                          + *

                                                          + * "Value": "0.9" + *

                                                          + *

                                                          + * } + *

                                                          + *
                                                          + *
                                                          HyperParameters
                                                          + *
                                                          + *

                                                          To define a hyperparameter filter, enter a value with the form + * "HyperParameters.". Decimal hyperparameter + * values are treated as a decimal in a comparison if the specified + * Value is also a decimal value. If the specified + * Value is an integer, the decimal hyperparameter values are + * treated as integers. For example, the following filter is satisfied by + * training jobs with a "learning_rate" hyperparameter that is + * less than "0.5":

                                                          + *

                                                          + * { + *

                                                          + *

                                                          + * "Name": "HyperParameters.learning_rate", + *

                                                          + *

                                                          + * "Operator": "LessThan", + *

                                                          + *

                                                          + * "Value": "0.5" + *

                                                          + *

                                                          + * } + *

                                                          + *
                                                          + *
                                                          Tags
                                                          + *
                                                          + *

                                                          To define a tag filter, enter a value with the form + * Tags..

                                                          + *
                                                          + *
                                                          + */ +export interface Filter { /** - *

                                                          The parameter by which to sort the results. The default is Name.

                                                          + *

                                                          A resource property name. For example, TrainingJobName. For + * valid property names, see SearchRecord. + * You must specify a valid property for the resource.

                                                          */ - SortBy?: AutoMLSortBy | string; + Name: string | undefined; /** - *

                                                          Request a list of jobs up to a specified limit.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          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; -} - -export namespace ListAutoMLJobsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListAutoMLJobsRequest): any => ({ - ...obj, - }); -} - -export interface ListAutoMLJobsResponse { - /** - *

                                                          Returns a summary list of jobs.

                                                          - */ - AutoMLJobSummaries: AutoMLJobSummary[] | undefined; - - /** - *

                                                          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; -} - -export namespace ListAutoMLJobsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListAutoMLJobsResponse): any => ({ - ...obj, - }); -} - -export interface ListCandidatesForAutoMLJobRequest { - /** - *

                                                          List the candidates created for the job by providing the job's name.

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

                                                          List the candidates for the job and filter by status.

                                                          - */ - StatusEquals?: CandidateStatus | string; - - /** - *

                                                          List the candidates for the job and filter by candidate name.

                                                          - */ - CandidateNameEquals?: string; - - /** - *

                                                          The sort order for the results. The default is Ascending.

                                                          - */ - SortOrder?: AutoMLSortOrder | string; - - /** - *

                                                          The parameter by which to sort the results. The default is - * Descending.

                                                          - */ - SortBy?: CandidateSortBy | string; - - /** - *

                                                          List the job's candidates up to a specified limit.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          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; -} - -export namespace ListCandidatesForAutoMLJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListCandidatesForAutoMLJobRequest): any => ({ - ...obj, - }); -} - -export interface ListCandidatesForAutoMLJobResponse { - /** - *

                                                          Summaries about the AutoMLCandidates.

                                                          - */ - Candidates: AutoMLCandidate[] | undefined; - - /** - *

                                                          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; -} - -export namespace ListCandidatesForAutoMLJobResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListCandidatesForAutoMLJobResponse): any => ({ - ...obj, - }); -} - -export interface ListCodeRepositoriesInput { - /** - *

                                                          A filter that returns only Git repositories that were created after the specified - * time.

                                                          - */ - CreationTimeAfter?: 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 last modified after the - * specified time.

                                                          - */ - LastModifiedTimeAfter?: Date; - - /** - *

                                                          A filter that returns only Git repositories that were last modified before the - * specified time.

                                                          - */ - LastModifiedTimeBefore?: Date; - - /** - *

                                                          The maximum number of Git repositories to return in the response.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A string in the Git repositories name. This filter returns only repositories whose - * name contains the specified string.

                                                          - */ - NameContains?: 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.

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

                                                          The field to sort results by. The default is Name.

                                                          - */ - SortBy?: CodeRepositorySortBy | string; - - /** - *

                                                          The sort order for results. The default is Ascending.

                                                          - */ - SortOrder?: CodeRepositorySortOrder | string; -} - -export namespace ListCodeRepositoriesInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListCodeRepositoriesInput): any => ({ - ...obj, - }); -} - -export interface ListCodeRepositoriesOutput { - /** - *

                                                          Gets a list of summaries of the Git repositories. Each summary specifies the following - * values for the repository:

                                                          - *
                                                            - *
                                                          • - *

                                                            Name

                                                            - *
                                                          • - *
                                                          • - *

                                                            Amazon Resource Name (ARN)

                                                            - *
                                                          • - *
                                                          • - *

                                                            Creation time

                                                            - *
                                                          • - *
                                                          • - *

                                                            Last modified time

                                                            - *
                                                          • - *
                                                          • - *

                                                            Configuration information, including the URL location of the repository and - * the ARN of the Amazon Web Services Secrets Manager secret that contains the credentials used - * to access the repository.

                                                            - *
                                                          • - *
                                                          - */ - CodeRepositorySummaryList: CodeRepositorySummary[] | undefined; - - /** - *

                                                          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.

                                                          - */ - NextToken?: string; -} - -export namespace ListCodeRepositoriesOutput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListCodeRepositoriesOutput): any => ({ - ...obj, - }); -} - -export enum ListCompilationJobsSortBy { - CREATION_TIME = "CreationTime", - NAME = "Name", - STATUS = "Status", -} - -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.

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

                                                          The maximum number of model compilation jobs to return in the response.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A filter that returns the model compilation jobs that were created after a specified - * time.

                                                          - */ - CreationTimeAfter?: Date; - - /** - *

                                                          A filter that returns the model compilation jobs that were created before a specified - * time.

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          A filter that returns the model compilation jobs that were modified after a specified - * time.

                                                          - */ - LastModifiedTimeAfter?: Date; - - /** - *

                                                          A filter that returns the model compilation jobs that were modified before a specified - * time.

                                                          - */ - LastModifiedTimeBefore?: Date; - - /** - *

                                                          A filter that returns the model compilation jobs whose name contains a specified - * string.

                                                          - */ - NameContains?: string; - - /** - *

                                                          A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus status.

                                                          - */ - StatusEquals?: CompilationJobStatus | string; - - /** - *

                                                          The field by which to sort results. The default is CreationTime.

                                                          - */ - SortBy?: ListCompilationJobsSortBy | string; - - /** - *

                                                          The sort order for results. The default is Ascending.

                                                          - */ - SortOrder?: SortOrder | string; -} - -export namespace ListCompilationJobsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListCompilationJobsRequest): any => ({ - ...obj, - }); -} - -export interface ListCompilationJobsResponse { - /** - *

                                                          An array of CompilationJobSummary objects, each describing a model - * compilation job.

                                                          - */ - CompilationJobSummaries: CompilationJobSummary[] | undefined; - - /** - *

                                                          If the response is truncated, Amazon SageMaker returns this NextToken. To retrieve - * the next set of model compilation jobs, use this token in the next request.

                                                          - */ - NextToken?: string; -} - -export namespace ListCompilationJobsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListCompilationJobsResponse): any => ({ - ...obj, - }); -} - -export enum SortContextsBy { - CREATION_TIME = "CreationTime", - NAME = "Name", -} - -export interface ListContextsRequest { - /** - *

                                                          A filter that returns only contexts with the specified source URI.

                                                          - */ - SourceUri?: string; - - /** - *

                                                          A filter that returns only contexts of the specified type.

                                                          - */ - ContextType?: string; - - /** - *

                                                          A filter that returns only contexts created on or after the specified time.

                                                          - */ - CreatedAfter?: Date; - - /** - *

                                                          A filter that returns only contexts created on or before the specified time.

                                                          - */ - CreatedBefore?: Date; - - /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          - */ - SortBy?: SortContextsBy | string; - - /** - *

                                                          The sort order. The default value is Descending.

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

                                                          If the previous call to ListContexts didn't return the full set of contexts, - * the call returns a token for getting the next set of contexts.

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

                                                          The maximum number of contexts to return in the response. The default value is 10.

                                                          - */ - MaxResults?: number; -} - -export namespace ListContextsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListContextsRequest): any => ({ - ...obj, - }); -} - -export interface ListContextsResponse { - /** - *

                                                          A list of contexts and their properties.

                                                          - */ - ContextSummaries?: ContextSummary[]; - - /** - *

                                                          A token for getting the next set of contexts, if there are any.

                                                          - */ - NextToken?: string; -} - -export namespace ListContextsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListContextsResponse): any => ({ - ...obj, - }); -} - -export enum MonitoringJobDefinitionSortKey { - CREATION_TIME = "CreationTime", - NAME = "Name", -} - -export interface ListDataQualityJobDefinitionsRequest { - /** - *

                                                          A filter that lists the data quality job definitions associated with the specified - * endpoint.

                                                          - */ - EndpointName?: string; - - /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          - */ - SortBy?: MonitoringJobDefinitionSortKey | string; - - /** - *

                                                          The sort order for results. The default is Descending.

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

                                                          If the result of the previous ListDataQualityJobDefinitions request was - * truncated, the response includes a NextToken. To retrieve the next set of - * transform jobs, use the token in the next request.>

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

                                                          The maximum number of data quality monitoring job definitions to return in the - * response.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A string in the data quality monitoring job definition name. This filter returns only - * data quality monitoring job definitions whose name contains the specified string.

                                                          - */ - NameContains?: string; - - /** - *

                                                          A filter that returns only data quality monitoring job definitions created before the - * specified time.

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          A filter that returns only data quality monitoring job definitions created after the - * specified time.

                                                          - */ - CreationTimeAfter?: Date; -} - -export namespace ListDataQualityJobDefinitionsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDataQualityJobDefinitionsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                          Summary information about a monitoring job.

                                                          - */ -export interface MonitoringJobDefinitionSummary { - /** - *

                                                          The name of the monitoring job.

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

                                                          The Amazon Resource Name (ARN) of the monitoring job.

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

                                                          The time that the monitoring job was created.

                                                          - */ - CreationTime: Date | undefined; - - /** - *

                                                          The name of the endpoint that the job monitors.

                                                          - */ - EndpointName: string | undefined; -} - -export namespace MonitoringJobDefinitionSummary { - /** - * @internal - */ - export const filterSensitiveLog = (obj: MonitoringJobDefinitionSummary): any => ({ - ...obj, - }); -} - -export interface ListDataQualityJobDefinitionsResponse { - /** - *

                                                          A list of data quality monitoring job definitions.

                                                          - */ - JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; - - /** - *

                                                          If the result of the previous ListDataQualityJobDefinitions request was - * truncated, the response includes a NextToken. To retrieve the next set of data - * quality monitoring job definitions, use the token in the next request.

                                                          - */ - NextToken?: string; -} - -export namespace ListDataQualityJobDefinitionsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDataQualityJobDefinitionsResponse): any => ({ - ...obj, - }); -} - -export enum ListDeviceFleetsSortBy { - CreationTime = "CREATION_TIME", - LastModifiedTime = "LAST_MODIFIED_TIME", - Name = "NAME", -} - -export interface ListDeviceFleetsRequest { - /** - *

                                                          The response from the last list when returning a list large enough to need tokening.

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

                                                          The maximum number of results to select.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          Filter fleets where packaging job was created after specified time.

                                                          - */ - CreationTimeAfter?: Date; - - /** - *

                                                          Filter fleets where the edge packaging job was created before specified time.

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          Select fleets where the job was updated after X

                                                          - */ - LastModifiedTimeAfter?: Date; - - /** - *

                                                          Select fleets where the job was updated before X

                                                          - */ - LastModifiedTimeBefore?: Date; - - /** - *

                                                          Filter for fleets containing this name in their fleet device name.

                                                          - */ - NameContains?: string; - - /** - *

                                                          The column to sort by.

                                                          - */ - SortBy?: ListDeviceFleetsSortBy | string; - - /** - *

                                                          What direction to sort in.

                                                          - */ - SortOrder?: SortOrder | string; -} - -export namespace ListDeviceFleetsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDeviceFleetsRequest): any => ({ - ...obj, - }); -} - -export interface ListDeviceFleetsResponse { - /** - *

                                                          Summary of the device fleet.

                                                          - */ - DeviceFleetSummaries: DeviceFleetSummary[] | undefined; - - /** - *

                                                          The response from the last list when returning a list large enough to need tokening.

                                                          - */ - NextToken?: string; -} - -export namespace ListDeviceFleetsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDeviceFleetsResponse): any => ({ - ...obj, - }); -} - -export interface ListDevicesRequest { - /** - *

                                                          The response from the last list when returning a list large enough to need tokening.

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

                                                          Maximum number of results to select.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          Select fleets where the job was updated after X

                                                          - */ - LatestHeartbeatAfter?: Date; - - /** - *

                                                          A filter that searches devices that contains this name in any of their models.

                                                          - */ - ModelName?: string; - - /** - *

                                                          Filter for fleets containing this name in their device fleet name.

                                                          - */ - DeviceFleetName?: string; -} - -export namespace ListDevicesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDevicesRequest): any => ({ - ...obj, - }); -} - -export interface ListDevicesResponse { - /** - *

                                                          Summary of devices.

                                                          - */ - DeviceSummaries: DeviceSummary[] | undefined; - - /** - *

                                                          The response from the last list when returning a list large enough to need tokening.

                                                          - */ - NextToken?: string; -} - -export namespace ListDevicesResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDevicesResponse): any => ({ - ...obj, - }); -} - -export interface ListDomainsRequest { - /** - *

                                                          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 { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDomainsRequest): any => ({ - ...obj, - }); -} - -export interface ListDomainsResponse { - /** - *

                                                          The list of domains.

                                                          - */ - Domains?: DomainDetails[]; - - /** - *

                                                          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; -} - -export namespace ListDomainsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListDomainsResponse): any => ({ - ...obj, - }); -} - -export enum ListEdgePackagingJobsSortBy { - CreationTime = "CREATION_TIME", - EdgePackagingJobStatus = "STATUS", - LastModifiedTime = "LAST_MODIFIED_TIME", - ModelName = "MODEL_NAME", - Name = "NAME", -} - -export interface ListEdgePackagingJobsRequest { - /** - *

                                                          The response from the last list when returning a list large enough to need tokening.

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

                                                          Maximum number of results to select.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          Select jobs where the job was created after specified time.

                                                          - */ - CreationTimeAfter?: Date; - - /** - *

                                                          Select jobs where the job was created before specified time.

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          Select jobs where the job was updated after specified time.

                                                          - */ - LastModifiedTimeAfter?: Date; - - /** - *

                                                          Select jobs where the job was updated before specified time.

                                                          - */ - LastModifiedTimeBefore?: Date; - - /** - *

                                                          Filter for jobs containing this name in their packaging job name.

                                                          - */ - NameContains?: string; - - /** - *

                                                          Filter for jobs where the model name contains this string.

                                                          - */ - ModelNameContains?: string; - - /** - *

                                                          The job status to filter for.

                                                          - */ - StatusEquals?: EdgePackagingJobStatus | string; - - /** - *

                                                          Use to specify what column to sort by.

                                                          - */ - SortBy?: ListEdgePackagingJobsSortBy | string; - - /** - *

                                                          What direction to sort by.

                                                          - */ - SortOrder?: SortOrder | string; -} - -export namespace ListEdgePackagingJobsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListEdgePackagingJobsRequest): any => ({ - ...obj, - }); -} - -export interface ListEdgePackagingJobsResponse { - /** - *

                                                          Summaries of edge packaging jobs.

                                                          - */ - EdgePackagingJobSummaries: EdgePackagingJobSummary[] | undefined; - - /** - *

                                                          Token to use when calling the next page of results.

                                                          - */ - NextToken?: string; -} - -export namespace ListEdgePackagingJobsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListEdgePackagingJobsResponse): any => ({ - ...obj, - }); -} - -export enum OrderKey { - Ascending = "Ascending", - Descending = "Descending", -} - -export interface ListEndpointConfigsInput { - /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          - */ - SortBy?: EndpointConfigSortKey | string; - - /** - *

                                                          The sort order for results. The default is Descending.

                                                          - */ - SortOrder?: OrderKey | string; - - /** - *

                                                          If the result of the previous ListEndpointConfig request was - * truncated, the response includes a NextToken. To retrieve the next set of - * endpoint configurations, use the token in the next request.

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

                                                          The maximum number of training jobs to return in the response.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A string in the endpoint configuration name. This filter returns only endpoint - * configurations whose name contains the specified string.

                                                          - */ - NameContains?: string; - - /** - *

                                                          A filter that returns only endpoint configurations created before the specified - * time (timestamp).

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          A filter that returns only endpoint configurations with a creation time greater - * than or equal to the specified time (timestamp).

                                                          - */ - CreationTimeAfter?: Date; -} - -export namespace ListEndpointConfigsInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ListEndpointConfigsInput): any => ({ - ...obj, - }); -} - -export interface ListEndpointConfigsOutput { - /** - *

                                                          An array of endpoint configurations.

                                                          + *

                                                          A Boolean binary operator that is used to evaluate the filter. The operator field + * contains one of the following values:

                                                          + *
                                                          + *
                                                          Equals
                                                          + *
                                                          + *

                                                          The value of Name equals Value.

                                                          + *
                                                          + *
                                                          NotEquals
                                                          + *
                                                          + *

                                                          The value of Name doesn't equal Value.

                                                          + *
                                                          + *
                                                          Exists
                                                          + *
                                                          + *

                                                          The Name property exists.

                                                          + *
                                                          + *
                                                          NotExists
                                                          + *
                                                          + *

                                                          The Name property does not exist.

                                                          + *
                                                          + *
                                                          GreaterThan
                                                          + *
                                                          + *

                                                          The value of Name is greater than Value. + * Not supported for text properties.

                                                          + *
                                                          + *
                                                          GreaterThanOrEqualTo
                                                          + *
                                                          + *

                                                          The value of Name is greater than or equal to Value. + * Not supported for text properties.

                                                          + *
                                                          + *
                                                          LessThan
                                                          + *
                                                          + *

                                                          The value of Name is less than Value. + * Not supported for text properties.

                                                          + *
                                                          + *
                                                          LessThanOrEqualTo
                                                          + *
                                                          + *

                                                          The value of Name is less than or equal to Value. + * Not supported for text properties.

                                                          + *
                                                          + *
                                                          In
                                                          + *
                                                          + *

                                                          The value of Name is one of the comma delimited strings in + * Value. Only supported for text properties.

                                                          + *
                                                          + *
                                                          Contains
                                                          + *
                                                          + *

                                                          The value of Name contains the string Value. + * Only supported for text properties.

                                                          + *

                                                          A SearchExpression can include the Contains operator + * multiple times when the value of Name is one of the following:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * Experiment.DisplayName + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Experiment.ExperimentName + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Experiment.Tags + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Trial.DisplayName + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Trial.TrialName + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Trial.Tags + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * TrialComponent.DisplayName + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * TrialComponent.TrialComponentName + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * TrialComponent.Tags + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * TrialComponent.InputArtifacts + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * TrialComponent.OutputArtifacts + *

                                                            + *
                                                          • + *
                                                          + *

                                                          A SearchExpression can include only one Contains operator + * for all other values of Name. In these cases, if you include multiple + * Contains operators in the SearchExpression, the result is + * the following error message: "'CONTAINS' operator usage limit of 1 + * exceeded."

                                                          + *
                                                          + *
                                                          */ - EndpointConfigs: EndpointConfigSummary[] | undefined; + Operator?: Operator | string; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * endpoint configurations, use it in the subsequent request

                                                          + *

                                                          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.

                                                          */ - NextToken?: string; + Value?: string; } -export namespace ListEndpointConfigsOutput { +export namespace Filter { /** * @internal */ - export const filterSensitiveLog = (obj: ListEndpointConfigsOutput): any => ({ + export const filterSensitiveLog = (obj: Filter): any => ({ ...obj, }); } -export interface ListEndpointsInput { - /** - *

                                                          Sorts the list of results. The default is CreationTime.

                                                          - */ - SortBy?: EndpointSortKey | string; - - /** - *

                                                          The sort order for results. The default is Descending.

                                                          - */ - SortOrder?: OrderKey | string; - - /** - *

                                                          If the result of a ListEndpoints request was truncated, the response - * includes a NextToken. To retrieve the next set of endpoints, use the token - * in the next request.

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

                                                          The maximum number of endpoints to return in the response. This value defaults to - * 10.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A string in endpoint names. This filter returns only endpoints whose name contains - * the specified string.

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

                                                          Contains summary information about the flow definition.

                                                          + */ +export interface FlowDefinitionSummary { /** - *

                                                          A filter that returns only endpoints that were created before the specified time - * (timestamp).

                                                          + *

                                                          The name of the flow definition.

                                                          */ - CreationTimeBefore?: Date; + FlowDefinitionName: string | undefined; /** - *

                                                          A filter that returns only endpoints with a creation time greater than or equal to - * the specified time (timestamp).

                                                          + *

                                                          The Amazon Resource Name (ARN) of the flow definition.

                                                          */ - CreationTimeAfter?: Date; + FlowDefinitionArn: string | undefined; /** - *

                                                          A filter that returns only endpoints that were modified before the specified - * timestamp.

                                                          + *

                                                          The status of the flow definition. Valid values:

                                                          */ - LastModifiedTimeBefore?: Date; + FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; /** - *

                                                          A filter that returns only endpoints that were modified after the specified - * timestamp.

                                                          + *

                                                          The timestamp when SageMaker created the flow definition.

                                                          */ - LastModifiedTimeAfter?: Date; + CreationTime: Date | undefined; /** - *

                                                          A filter that returns only endpoints with the specified status.

                                                          + *

                                                          The reason why the flow definition creation failed. A failure reason is returned only when the flow definition status is Failed.

                                                          */ - StatusEquals?: EndpointStatus | string; + FailureReason?: string; } -export namespace ListEndpointsInput { +export namespace FlowDefinitionSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListEndpointsInput): any => ({ + export const filterSensitiveLog = (obj: FlowDefinitionSummary): any => ({ ...obj, }); } -export interface ListEndpointsOutput { - /** - *

                                                          An array or endpoint objects.

                                                          - */ - Endpoints: EndpointSummary[] | undefined; - +export interface GetDeviceFleetReportRequest { /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * training jobs, use it in the subsequent request.

                                                          + *

                                                          The name of the fleet.

                                                          */ - NextToken?: string; + DeviceFleetName: string | undefined; } -export namespace ListEndpointsOutput { +export namespace GetDeviceFleetReportRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListEndpointsOutput): any => ({ + export const filterSensitiveLog = (obj: GetDeviceFleetReportRequest): any => ({ ...obj, }); } -export enum SortExperimentsBy { - CREATION_TIME = "CreationTime", - NAME = "Name", -} - -export interface ListExperimentsRequest { - /** - *

                                                          A filter that returns only experiments created after the specified time.

                                                          - */ - CreatedAfter?: Date; - +export interface GetDeviceFleetReportResponse { /** - *

                                                          A filter that returns only experiments created before the specified time.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the device.

                                                          */ - CreatedBefore?: Date; + DeviceFleetArn: string | undefined; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          The name of the fleet.

                                                          */ - SortBy?: SortExperimentsBy | string; + DeviceFleetName: string | undefined; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          The output configuration for storing sample data collected by the fleet.

                                                          */ - SortOrder?: SortOrder | string; + OutputConfig?: EdgeOutputConfig; /** - *

                                                          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.

                                                          + *

                                                          Description of the fleet.

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

                                                          The maximum number of experiments to return in the response. The default value is - * 10.

                                                          + *

                                                          Timestamp of when the report was generated.

                                                          */ - MaxResults?: number; -} + ReportGenerated?: Date; -export namespace ListExperimentsRequest { /** - * @internal + *

                                                          Status of devices.

                                                          */ - export const filterSensitiveLog = (obj: ListExperimentsRequest): any => ({ - ...obj, - }); -} + DeviceStats?: DeviceStats; -export interface ListExperimentsResponse { /** - *

                                                          A list of the summaries of your experiments.

                                                          + *

                                                          The versions of Edge Manager agent deployed on the fleet.

                                                          */ - ExperimentSummaries?: ExperimentSummary[]; + AgentVersions?: AgentVersion[]; /** - *

                                                          A token for getting the next set of experiments, if there are any.

                                                          + *

                                                          Status of model on device.

                                                          */ - NextToken?: string; + ModelStats?: EdgeModelStat[]; } -export namespace ListExperimentsResponse { +export namespace GetDeviceFleetReportResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListExperimentsResponse): any => ({ + export const filterSensitiveLog = (obj: GetDeviceFleetReportResponse): any => ({ ...obj, }); } -export interface ListFeatureGroupsRequest { +export interface GetLineageGroupPolicyRequest { /** - *

                                                          A string that partially matches one or more FeatureGroups names. Filters - * FeatureGroups by name.

                                                          + *

                                                          The name or Amazon Resource Name (ARN) of the lineage group.

                                                          */ - NameContains?: string; + LineageGroupName: string | undefined; +} +export namespace GetLineageGroupPolicyRequest { /** - *

                                                          A FeatureGroup status. Filters by FeatureGroup status.

                                                          + * @internal */ - FeatureGroupStatusEquals?: FeatureGroupStatus | string; + export const filterSensitiveLog = (obj: GetLineageGroupPolicyRequest): any => ({ + ...obj, + }); +} +export interface GetLineageGroupPolicyResponse { /** - *

                                                          An OfflineStore status. Filters by OfflineStore status.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          */ - OfflineStoreStatusEquals?: OfflineStoreStatusValue | string; + LineageGroupArn?: string; /** - *

                                                          Use this parameter to search for FeatureGroupss created after a specific - * date and time.

                                                          + *

                                                          The resource policy that gives access to the lineage group in another account.

                                                          */ - CreationTimeAfter?: Date; + ResourcePolicy?: string; +} +export namespace GetLineageGroupPolicyResponse { /** - *

                                                          Use this parameter to search for FeatureGroupss created before a specific - * date and time.

                                                          + * @internal */ - CreationTimeBefore?: Date; + export const filterSensitiveLog = (obj: GetLineageGroupPolicyResponse): any => ({ + ...obj, + }); +} +export interface GetModelPackageGroupPolicyInput { /** - *

                                                          The order in which feature groups are listed.

                                                          + *

                                                          The name of the model group for which to get the resource policy.

                                                          */ - SortOrder?: FeatureGroupSortOrder | string; + ModelPackageGroupName: string | undefined; +} +export namespace GetModelPackageGroupPolicyInput { /** - *

                                                          The value on which the feature group list is sorted.

                                                          + * @internal */ - SortBy?: FeatureGroupSortBy | string; + export const filterSensitiveLog = (obj: GetModelPackageGroupPolicyInput): any => ({ + ...obj, + }); +} +export interface GetModelPackageGroupPolicyOutput { /** - *

                                                          The maximum number of results returned by ListFeatureGroups.

                                                          + *

                                                          The resource policy for the model group.

                                                          */ - MaxResults?: number; + ResourcePolicy: string | undefined; +} +export namespace GetModelPackageGroupPolicyOutput { /** - *

                                                          A token to resume pagination of ListFeatureGroups results.

                                                          + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: GetModelPackageGroupPolicyOutput): any => ({ + ...obj, + }); } -export namespace ListFeatureGroupsRequest { +export interface GetSagemakerServicecatalogPortfolioStatusInput {} + +export namespace GetSagemakerServicecatalogPortfolioStatusInput { /** * @internal */ - export const filterSensitiveLog = (obj: ListFeatureGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: GetSagemakerServicecatalogPortfolioStatusInput): any => ({ ...obj, }); } -export interface ListFeatureGroupsResponse { - /** - *

                                                          A summary of feature groups.

                                                          - */ - FeatureGroupSummaries: FeatureGroupSummary[] | undefined; +export enum SagemakerServicecatalogStatus { + DISABLED = "Disabled", + ENABLED = "Enabled", +} +export interface GetSagemakerServicecatalogPortfolioStatusOutput { /** - *

                                                          A token to resume pagination of ListFeatureGroups results.

                                                          + *

                                                          Whether Service Catalog is enabled or disabled in SageMaker.

                                                          */ - NextToken: string | undefined; + Status?: SagemakerServicecatalogStatus | string; } -export namespace ListFeatureGroupsResponse { +export namespace GetSagemakerServicecatalogPortfolioStatusOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ListFeatureGroupsResponse): any => ({ + export const filterSensitiveLog = (obj: GetSagemakerServicecatalogPortfolioStatusOutput): any => ({ ...obj, }); } -export interface ListFlowDefinitionsRequest { - /** - *

                                                          A filter that returns only flow definitions with a creation time greater than or equal to the specified timestamp.

                                                          - */ - CreationTimeAfter?: Date; - - /** - *

                                                          A filter that returns only flow definitions that were created before the specified timestamp.

                                                          - */ - CreationTimeBefore?: Date; +export enum ResourceType { + ENDPOINT = "Endpoint", + EXPERIMENT = "Experiment", + EXPERIMENT_TRIAL = "ExperimentTrial", + EXPERIMENT_TRIAL_COMPONENT = "ExperimentTrialComponent", + FEATURE_GROUP = "FeatureGroup", + MODEL_PACKAGE = "ModelPackage", + MODEL_PACKAGE_GROUP = "ModelPackageGroup", + PIPELINE = "Pipeline", + PIPELINE_EXECUTION = "PipelineExecution", + PROJECT = "Project", + TRAINING_JOB = "TrainingJob", +} +/** + *

                                                          Part of the SuggestionQuery type. Specifies a hint for retrieving property + * names that begin with the specified text.

                                                          + */ +export interface PropertyNameQuery { /** - *

                                                          An optional value that specifies whether you want the results sorted in Ascending or Descending order.

                                                          + *

                                                          Text that begins a property's name.

                                                          */ - SortOrder?: SortOrder | string; + PropertyNameHint: string | undefined; +} +export namespace PropertyNameQuery { /** - *

                                                          A token to resume pagination.

                                                          + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: PropertyNameQuery): any => ({ + ...obj, + }); +} +/** + *

                                                          Specified in the GetSearchSuggestions request. + * Limits the property names that are included in the response.

                                                          + */ +export interface SuggestionQuery { /** - *

                                                          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.

                                                          + *

                                                          Defines a property name hint. Only property + * names that begin with the specified hint are included in the response.

                                                          */ - MaxResults?: number; + PropertyNameQuery?: PropertyNameQuery; } -export namespace ListFlowDefinitionsRequest { +export namespace SuggestionQuery { /** * @internal */ - export const filterSensitiveLog = (obj: ListFlowDefinitionsRequest): any => ({ + export const filterSensitiveLog = (obj: SuggestionQuery): any => ({ ...obj, }); } -export interface ListFlowDefinitionsResponse { +export interface GetSearchSuggestionsRequest { /** - *

                                                          An array of objects describing the flow definitions.

                                                          + *

                                                          The name of the Amazon SageMaker resource to search for.

                                                          */ - FlowDefinitionSummaries: FlowDefinitionSummary[] | undefined; + Resource: ResourceType | string | undefined; /** - *

                                                          A token to resume pagination.

                                                          + *

                                                          Limits the property names that are included in the response.

                                                          */ - NextToken?: string; + SuggestionQuery?: SuggestionQuery; } -export namespace ListFlowDefinitionsResponse { +export namespace GetSearchSuggestionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListFlowDefinitionsResponse): any => ({ + export const filterSensitiveLog = (obj: GetSearchSuggestionsRequest): any => ({ ...obj, }); } -export interface ListHumanTaskUisRequest { +/** + *

                                                          A property name returned from a GetSearchSuggestions call that specifies + * a value in the PropertyNameQuery field.

                                                          + */ +export interface PropertyNameSuggestion { /** - *

                                                          A filter that returns only human task user interfaces with a creation time greater than or equal to the specified timestamp.

                                                          + *

                                                          A suggested property name based on what you entered in the search textbox in the Amazon SageMaker + * console.

                                                          */ - CreationTimeAfter?: Date; + PropertyName?: string; +} +export namespace PropertyNameSuggestion { /** - *

                                                          A filter that returns only human task user interfaces that were created before the specified timestamp.

                                                          + * @internal */ - CreationTimeBefore?: Date; + export const filterSensitiveLog = (obj: PropertyNameSuggestion): any => ({ + ...obj, + }); +} +export interface GetSearchSuggestionsResponse { /** - *

                                                          An optional value that specifies whether you want the results sorted in Ascending or Descending order.

                                                          + *

                                                          A list of property names for a Resource that match a + * SuggestionQuery.

                                                          */ - SortOrder?: SortOrder | string; + PropertyNameSuggestions?: PropertyNameSuggestion[]; +} +export namespace GetSearchSuggestionsResponse { /** - *

                                                          A token to resume pagination.

                                                          + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: GetSearchSuggestionsResponse): any => ({ + ...obj, + }); +} +/** + *

                                                          Specifies configuration details for a Git repository when the repository is + * updated.

                                                          + */ +export interface GitConfigForUpdate { /** - *

                                                          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.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that contains the + * credentials used to access the git repository. The secret must have a staging label of + * AWSCURRENT and must be in the following format:

                                                          + *

                                                          + * {"username": UserName, "password": + * Password} + *

                                                          */ - MaxResults?: number; + SecretArn?: string; } -export namespace ListHumanTaskUisRequest { +export namespace GitConfigForUpdate { /** * @internal */ - export const filterSensitiveLog = (obj: ListHumanTaskUisRequest): any => ({ + export const filterSensitiveLog = (obj: GitConfigForUpdate): any => ({ ...obj, }); } -export interface ListHumanTaskUisResponse { +/** + *

                                                          Container for human task user interface information.

                                                          + */ +export interface HumanTaskUiSummary { /** - *

                                                          An array of objects describing the human task user interfaces.

                                                          + *

                                                          The name of the human task user interface.

                                                          */ - HumanTaskUiSummaries: HumanTaskUiSummary[] | undefined; + HumanTaskUiName: string | undefined; /** - *

                                                          A token to resume pagination.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the human task user interface.

                                                          */ - NextToken?: string; + HumanTaskUiArn: string | undefined; + + /** + *

                                                          A timestamp when SageMaker created the human task user interface.

                                                          + */ + CreationTime: Date | undefined; } -export namespace ListHumanTaskUisResponse { +export namespace HumanTaskUiSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListHumanTaskUisResponse): any => ({ + export const filterSensitiveLog = (obj: HumanTaskUiSummary): any => ({ ...obj, }); } -export interface ListHyperParameterTuningJobsRequest { +export enum HyperParameterTuningJobSortByOptions { + CreationTime = "CreationTime", + Name = "Name", + Status = "Status", +} + +/** + *

                                                          Provides summary information about a hyperparameter tuning job.

                                                          + */ +export interface HyperParameterTuningJobSummary { /** - *

                                                          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.

                                                          + *

                                                          The name of the tuning job.

                                                          */ - NextToken?: string; + HyperParameterTuningJobName: string | undefined; /** *

                                                          The - * maximum number of tuning jobs to return. The default value is - * 10.

                                                          + * Amazon + * Resource Name (ARN) of the tuning job.

                                                          */ - MaxResults?: number; + HyperParameterTuningJobArn: string | undefined; /** - *

                                                          The - * field - * to sort results by. The default is Name.

                                                          + *

                                                          The status of the + * tuning + * job.

                                                          */ - SortBy?: HyperParameterTuningJobSortByOptions | string; + HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; /** - *

                                                          The sort - * order - * for results. The default is Ascending.

                                                          + *

                                                          Specifies the search strategy hyperparameter tuning uses to choose which + * hyperparameters to + * use + * for each iteration. Currently, the only valid value is + * Bayesian.

                                                          */ - SortOrder?: SortOrder | string; + Strategy: HyperParameterTuningJobStrategyType | string | undefined; /** - *

                                                          A string in the tuning job name. This filter returns only tuning jobs whose name - * contains the specified string.

                                                          + *

                                                          The date and time that the tuning job was created.

                                                          */ - NameContains?: string; + CreationTime: Date | undefined; /** - *

                                                          A filter that returns only tuning jobs that were created after the - * specified - * time.

                                                          + *

                                                          The date and time that the tuning job ended.

                                                          */ - CreationTimeAfter?: Date; + HyperParameterTuningEndTime?: Date; /** - *

                                                          A filter that returns only tuning jobs that were created before the - * specified - * time.

                                                          + *

                                                          The date and time that the tuning job was + * modified.

                                                          */ - CreationTimeBefore?: Date; + LastModifiedTime?: Date; /** - *

                                                          A filter that returns only tuning jobs that were modified after the specified - * time.

                                                          + *

                                                          The TrainingJobStatusCounters object that specifies the numbers of + * training jobs, categorized by status, that this tuning job launched.

                                                          */ - LastModifiedTimeAfter?: Date; + TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; /** - *

                                                          A filter that returns only tuning jobs that were modified before the specified - * time.

                                                          + *

                                                          The ObjectiveStatusCounters object that specifies the numbers of + * training jobs, categorized by objective metric status, that this tuning job + * launched.

                                                          */ - LastModifiedTimeBefore?: Date; + ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; /** - *

                                                          A filter that returns only tuning jobs with the - * specified - * status.

                                                          + *

                                                          The ResourceLimits object that specifies the maximum number of + * training jobs and parallel training jobs allowed for this tuning job.

                                                          */ - StatusEquals?: HyperParameterTuningJobStatus | string; + ResourceLimits?: ResourceLimits; } -export namespace ListHyperParameterTuningJobsRequest { +export namespace HyperParameterTuningJobSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListHyperParameterTuningJobsRequest): any => ({ + export const filterSensitiveLog = (obj: HyperParameterTuningJobSummary): any => ({ ...obj, }); } -export interface ListHyperParameterTuningJobsResponse { +/** + *

                                                          A SageMaker image. A SageMaker image represents a set of container images that are derived from + * a common base container image. Each of these container images is represented by a SageMaker + * ImageVersion.

                                                          + */ +export interface Image { /** - *

                                                          A list of HyperParameterTuningJobSummary objects that - * describe - * the tuning jobs that the ListHyperParameterTuningJobs - * request returned.

                                                          + *

                                                          When the image was created.

                                                          */ - HyperParameterTuningJobSummaries: HyperParameterTuningJobSummary[] | undefined; + CreationTime: Date | undefined; /** - *

                                                          If the result of this ListHyperParameterTuningJobs request was truncated, - * the response includes a NextToken. To retrieve the next set of tuning jobs, - * use the token in the next request.

                                                          + *

                                                          The description of the image.

                                                          */ - NextToken?: string; -} + Description?: string; -export namespace ListHyperParameterTuningJobsResponse { /** - * @internal + *

                                                          The name of the image as displayed.

                                                          */ - export const filterSensitiveLog = (obj: ListHyperParameterTuningJobsResponse): any => ({ - ...obj, - }); -} + DisplayName?: string; -export interface ListImagesRequest { /** - *

                                                          A filter that returns only images created on or after the specified time.

                                                          + *

                                                          When a create, update, or delete operation fails, the reason for the failure.

                                                          */ - CreationTimeAfter?: Date; + FailureReason?: string; /** - *

                                                          A filter that returns only images created on or before the specified time.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the image.

                                                          */ - CreationTimeBefore?: Date; + ImageArn: string | undefined; /** - *

                                                          A filter that returns only images modified on or after the specified time.

                                                          + *

                                                          The name of the image.

                                                          */ - LastModifiedTimeAfter?: Date; + ImageName: string | undefined; /** - *

                                                          A filter that returns only images modified on or before the specified time.

                                                          + *

                                                          The status of the image.

                                                          */ - LastModifiedTimeBefore?: Date; + ImageStatus: ImageStatus | string | undefined; /** - *

                                                          The maximum number of images to return in the response. The default value is 10.

                                                          + *

                                                          When the image was last modified.

                                                          */ - MaxResults?: number; + LastModifiedTime: Date | undefined; +} +export namespace Image { /** - *

                                                          A filter that returns only images whose name contains the specified string.

                                                          + * @internal */ - NameContains?: string; + export const filterSensitiveLog = (obj: Image): any => ({ + ...obj, + }); +} + +export enum ImageSortBy { + CREATION_TIME = "CREATION_TIME", + IMAGE_NAME = "IMAGE_NAME", + LAST_MODIFIED_TIME = "LAST_MODIFIED_TIME", +} + +export enum ImageSortOrder { + ASCENDING = "ASCENDING", + DESCENDING = "DESCENDING", +} +/** + *

                                                          A version of a SageMaker Image. A version represents an existing container + * image.

                                                          + */ +export interface ImageVersion { /** - *

                                                          If the previous call to ListImages didn't return the full set of images, - * the call returns a token for getting the next set of images.

                                                          + *

                                                          When the version was created.

                                                          */ - NextToken?: string; + CreationTime: Date | undefined; /** - *

                                                          The property used to sort results. The default value is CREATION_TIME.

                                                          + *

                                                          When a create or delete operation fails, the reason for the failure.

                                                          */ - SortBy?: ImageSortBy | string; + FailureReason?: string; /** - *

                                                          The sort order. The default value is DESCENDING.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the image the version is based on.

                                                          */ - SortOrder?: ImageSortOrder | string; -} + ImageArn: string | undefined; -export namespace ListImagesRequest { /** - * @internal + *

                                                          The ARN of the version.

                                                          */ - export const filterSensitiveLog = (obj: ListImagesRequest): any => ({ - ...obj, - }); -} + ImageVersionArn: string | undefined; -export interface ListImagesResponse { /** - *

                                                          A list of images and their properties.

                                                          + *

                                                          The status of the version.

                                                          */ - Images?: Image[]; + ImageVersionStatus: ImageVersionStatus | string | undefined; /** - *

                                                          A token for getting the next set of images, if there are any.

                                                          + *

                                                          When the version was last modified.

                                                          */ - NextToken?: string; + LastModifiedTime: Date | undefined; + + /** + *

                                                          The version number.

                                                          + */ + Version: number | undefined; } -export namespace ListImagesResponse { +export namespace ImageVersion { /** * @internal */ - export const filterSensitiveLog = (obj: ListImagesResponse): any => ({ + export const filterSensitiveLog = (obj: ImageVersion): any => ({ ...obj, }); } -export interface ListImageVersionsRequest { - /** - *

                                                          A filter that returns only versions created on or after the specified time.

                                                          - */ - CreationTimeAfter?: Date; +export enum ImageVersionSortBy { + CREATION_TIME = "CREATION_TIME", + LAST_MODIFIED_TIME = "LAST_MODIFIED_TIME", + VERSION = "VERSION", +} - /** - *

                                                          A filter that returns only versions created on or before the specified time.

                                                          - */ - CreationTimeBefore?: Date; +export enum ImageVersionSortOrder { + ASCENDING = "ASCENDING", + DESCENDING = "DESCENDING", +} +/** + *

                                                          A structure that contains a list of recommendation jobs.

                                                          + */ +export interface InferenceRecommendationsJob { /** - *

                                                          The name of the image to list the versions of.

                                                          + *

                                                          The name of the job.

                                                          */ - ImageName: string | undefined; + JobName: string | undefined; /** - *

                                                          A filter that returns only versions modified on or after the specified time.

                                                          + *

                                                          The job description.

                                                          */ - LastModifiedTimeAfter?: Date; + JobDescription: string | undefined; /** - *

                                                          A filter that returns only versions modified on or before the specified time.

                                                          + *

                                                          The recommendation job type.

                                                          */ - LastModifiedTimeBefore?: Date; + JobType: RecommendationJobType | string | undefined; /** - *

                                                          The maximum number of versions to return in the response. The default value is 10.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the recommendation job.

                                                          */ - MaxResults?: number; + JobArn: string | undefined; /** - *

                                                          If the previous call to ListImageVersions didn't return the full set of - * versions, the call returns a token for getting the next set of versions.

                                                          + *

                                                          The status of the job.

                                                          */ - NextToken?: string; + Status: RecommendationJobStatus | string | undefined; /** - *

                                                          The property used to sort results. The default value is CREATION_TIME.

                                                          + *

                                                          A timestamp that shows when the job was created.

                                                          */ - SortBy?: ImageVersionSortBy | string; + CreationTime: Date | undefined; /** - *

                                                          The sort order. The default value is DESCENDING.

                                                          + *

                                                          A timestamp that shows when the job completed.

                                                          */ - SortOrder?: ImageVersionSortOrder | string; -} + CompletionTime?: Date; -export namespace ListImageVersionsRequest { /** - * @internal + *

                                                          The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker + * to perform tasks on your behalf.

                                                          */ - export const filterSensitiveLog = (obj: ListImageVersionsRequest): any => ({ - ...obj, - }); -} + RoleArn: string | undefined; -export interface ListImageVersionsResponse { /** - *

                                                          A list of versions and their properties.

                                                          + *

                                                          A timestamp that shows when the job was last modified.

                                                          */ - ImageVersions?: ImageVersion[]; + LastModifiedTime: Date | undefined; /** - *

                                                          A token for getting the next set of versions, if there are any.

                                                          + *

                                                          If the job fails, provides information why the job failed.

                                                          */ - NextToken?: string; + FailureReason?: string; } -export namespace ListImageVersionsResponse { +export namespace InferenceRecommendationsJob { /** * @internal */ - export const filterSensitiveLog = (obj: ListImageVersionsResponse): any => ({ + export const filterSensitiveLog = (obj: InferenceRecommendationsJob): any => ({ ...obj, }); } -export enum SortBy { - CREATION_TIME = "CreationTime", - NAME = "Name", - STATUS = "Status", -} - -export interface ListLabelingJobsRequest { +/** + *

                                                          Provides counts for human-labeled tasks in the labeling job.

                                                          + */ +export interface LabelCountersForWorkteam { /** - *

                                                          A filter that returns only labeling jobs created after the specified time - * (timestamp).

                                                          + *

                                                          The total number of data objects labeled by a human worker.

                                                          */ - CreationTimeAfter?: Date; + HumanLabeled?: number; /** - *

                                                          A filter that returns only labeling jobs created before the specified time - * (timestamp).

                                                          + *

                                                          The total number of data objects that need to be labeled by a human worker.

                                                          */ - CreationTimeBefore?: Date; + PendingHuman?: number; /** - *

                                                          A filter that returns only labeling jobs modified after the specified time - * (timestamp).

                                                          + *

                                                          The total number of tasks in the labeling job.

                                                          */ - LastModifiedTimeAfter?: Date; + Total?: number; +} +export namespace LabelCountersForWorkteam { /** - *

                                                          A filter that returns only labeling jobs modified before the specified time - * (timestamp).

                                                          + * @internal */ - LastModifiedTimeBefore?: Date; + export const filterSensitiveLog = (obj: LabelCountersForWorkteam): any => ({ + ...obj, + }); +} +/** + *

                                                          Provides summary information for a work team.

                                                          + */ +export interface LabelingJobForWorkteamSummary { /** - *

                                                          The maximum number of labeling jobs to return in each page of the response.

                                                          + *

                                                          The name of the labeling job that the work team is assigned to.

                                                          */ - MaxResults?: number; + LabelingJobName?: 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.

                                                          + *

                                                          A unique identifier for a labeling job. You can use this to refer to a specific + * labeling job.

                                                          */ - NextToken?: string; + JobReferenceCode: string | undefined; /** - *

                                                          A string in the labeling job name. This filter returns only labeling jobs whose name - * contains the specified string.

                                                          + *

                                                          The Amazon Web Services account ID of the account used to start the labeling job.

                                                          */ - NameContains?: string; + WorkRequesterAccountId: string | undefined; /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          + *

                                                          The date and time that the labeling job was created.

                                                          */ - SortBy?: SortBy | string; + CreationTime: Date | undefined; /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          Provides information about the progress of a labeling job.

                                                          */ - SortOrder?: SortOrder | string; + LabelCounters?: LabelCountersForWorkteam; /** - *

                                                          A filter that retrieves only labeling jobs with a specific status.

                                                          + *

                                                          The configured number of workers per data object.

                                                          */ - StatusEquals?: LabelingJobStatus | string; + NumberOfHumanWorkersPerDataObject?: number; } -export namespace ListLabelingJobsRequest { +export namespace LabelingJobForWorkteamSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListLabelingJobsRequest): any => ({ + export const filterSensitiveLog = (obj: LabelingJobForWorkteamSummary): any => ({ ...obj, }); } -export interface ListLabelingJobsResponse { +/** + *

                                                          Provides summary information about a labeling job.

                                                          + */ +export interface LabelingJobSummary { /** - *

                                                          An array of LabelingJobSummary objects, each describing a labeling - * job.

                                                          + *

                                                          The name of the labeling job.

                                                          */ - LabelingJobSummaryList?: LabelingJobSummary[]; + LabelingJobName: string | undefined; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * labeling jobs, use it in the subsequent request.

                                                          + *

                                                          The Amazon Resource Name (ARN) assigned to the labeling job when it was + * created.

                                                          */ - NextToken?: string; -} + LabelingJobArn: string | undefined; -export namespace ListLabelingJobsResponse { /** - * @internal + *

                                                          The date and time that the job was created (timestamp).

                                                          */ - export const filterSensitiveLog = (obj: ListLabelingJobsResponse): any => ({ - ...obj, - }); -} + CreationTime: Date | undefined; -export enum ListLabelingJobsForWorkteamSortByOptions { - CREATION_TIME = "CreationTime", -} + /** + *

                                                          The date and time that the job was last modified (timestamp).

                                                          + */ + LastModifiedTime: Date | undefined; -export interface ListLabelingJobsForWorkteamRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the work team for which you want to see labeling - * jobs for.

                                                          + *

                                                          The current status of the labeling job.

                                                          */ - WorkteamArn: string | undefined; + LabelingJobStatus: LabelingJobStatus | string | undefined; /** - *

                                                          The maximum number of labeling jobs to return in each page of the response.

                                                          + *

                                                          Counts showing the progress of the labeling job.

                                                          */ - MaxResults?: number; + LabelCounters: LabelCounters | undefined; /** - *

                                                          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.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the work team assigned to the job.

                                                          */ - NextToken?: string; + WorkteamArn: string | undefined; /** - *

                                                          A filter that returns only labeling jobs created after the specified time - * (timestamp).

                                                          + *

                                                          The Amazon Resource Name (ARN) of a Lambda function. The function is run before each + * data object is sent to a worker.

                                                          */ - CreationTimeAfter?: Date; + PreHumanTaskLambdaArn: string | undefined; /** - *

                                                          A filter that returns only labeling jobs created before the specified time - * (timestamp).

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Lambda function used to consolidate the + * annotations from individual workers into a label for a data object. For more + * information, see Annotation + * Consolidation.

                                                          */ - CreationTimeBefore?: Date; + AnnotationConsolidationLambdaArn?: string; /** - *

                                                          A filter the limits jobs to only the ones whose job reference code contains the - * specified string.

                                                          + *

                                                          If the LabelingJobStatus field is Failed, this field + * contains a description of the error.

                                                          */ - JobReferenceCodeContains?: string; + FailureReason?: string; /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          + *

                                                          The location of the output produced by the labeling job.

                                                          */ - SortBy?: ListLabelingJobsForWorkteamSortByOptions | string; + LabelingJobOutput?: LabelingJobOutput; /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          Input configuration for the labeling job.

                                                          */ - SortOrder?: SortOrder | string; + InputConfig?: LabelingJobInputConfig; } -export namespace ListLabelingJobsForWorkteamRequest { +export namespace LabelingJobSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListLabelingJobsForWorkteamRequest): any => ({ + export const filterSensitiveLog = (obj: LabelingJobSummary): any => ({ ...obj, }); } -export interface ListLabelingJobsForWorkteamResponse { +/** + *

                                                          Metadata for a Lambda step.

                                                          + */ +export interface LambdaStepMetadata { /** - *

                                                          An array of LabelingJobSummary objects, each describing a labeling - * job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution.

                                                          */ - LabelingJobSummaryList: LabelingJobForWorkteamSummary[] | undefined; + Arn?: string; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * labeling jobs, use it in the subsequent request.

                                                          + *

                                                          A list of the output parameters of the Lambda step.

                                                          */ - NextToken?: string; + OutputParameters?: OutputParameter[]; } -export namespace ListLabelingJobsForWorkteamResponse { +export namespace LambdaStepMetadata { /** * @internal */ - export const filterSensitiveLog = (obj: ListLabelingJobsForWorkteamResponse): any => ({ + export const filterSensitiveLog = (obj: LambdaStepMetadata): any => ({ ...obj, }); } -export interface ListModelBiasJobDefinitionsRequest { - /** - *

                                                          Name of the endpoint to monitor for model bias.

                                                          - */ - EndpointName?: string; - - /** - *

                                                          Whether to sort results by the Name or CreationTime field. The - * default is CreationTime.

                                                          - */ - SortBy?: MonitoringJobDefinitionSortKey | string; - - /** - *

                                                          Whether to sort the results in Ascending or Descending order. - * The default is Descending.

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

                                                          The token returned if the response is truncated. To retrieve the next set of job - * executions, use it in the next request.

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

                                                          The maximum number of model bias jobs to return in the response. The default value is - * 10.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          Filter for model bias jobs whose name contains a specified string.

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

                                                          Lists a summary of the properties of a lineage group. A lineage group provides a group of shareable lineage entity + * resources.

                                                          + */ +export interface LineageGroupSummary { /** - *

                                                          A filter that returns only model bias jobs created before a specified time.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the lineage group resource.

                                                          */ - CreationTimeBefore?: Date; + LineageGroupArn?: string; /** - *

                                                          A filter that returns only model bias jobs created after a specified time.

                                                          + *

                                                          The name or Amazon Resource Name (ARN) of the lineage group.

                                                          */ - CreationTimeAfter?: Date; -} + LineageGroupName?: string; -export namespace ListModelBiasJobDefinitionsRequest { /** - * @internal + *

                                                          The display name of the lineage group summary.

                                                          */ - export const filterSensitiveLog = (obj: ListModelBiasJobDefinitionsRequest): any => ({ - ...obj, - }); -} + DisplayName?: string; -export interface ListModelBiasJobDefinitionsResponse { /** - *

                                                          A JSON array in which each element is a summary for a model bias jobs.

                                                          + *

                                                          The creation time of the lineage group summary.

                                                          */ - JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; + CreationTime?: Date; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, - * use it in the subsequent request.

                                                          + *

                                                          The last modified time of the lineage group summary.

                                                          */ - NextToken?: string; + LastModifiedTime?: Date; } -export namespace ListModelBiasJobDefinitionsResponse { +export namespace LineageGroupSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelBiasJobDefinitionsResponse): any => ({ + export const filterSensitiveLog = (obj: LineageGroupSummary): any => ({ ...obj, }); } -export interface ListModelExplainabilityJobDefinitionsRequest { +export enum LineageType { + ACTION = "Action", + ARTIFACT = "Artifact", + CONTEXT = "Context", + TRIAL_COMPONENT = "TrialComponent", +} + +export enum SortActionsBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export enum SortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} + +export interface ListActionsRequest { /** - *

                                                          Name of the endpoint to monitor for model explainability.

                                                          + *

                                                          A filter that returns only actions with the specified source URI.

                                                          */ - EndpointName?: string; + SourceUri?: string; /** - *

                                                          Whether to sort results by the Name or CreationTime field. The - * default is CreationTime.

                                                          + *

                                                          A filter that returns only actions of the specified type.

                                                          */ - SortBy?: MonitoringJobDefinitionSortKey | string; + ActionType?: string; /** - *

                                                          Whether to sort the results in Ascending or Descending order. - * The default is Descending.

                                                          + *

                                                          A filter that returns only actions created on or after the specified time.

                                                          */ - SortOrder?: SortOrder | string; + CreatedAfter?: Date; /** - *

                                                          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 actions created on or before the specified time.

                                                          */ - NextToken?: string; + CreatedBefore?: Date; /** - *

                                                          The maximum number of jobs to return in the response. The default value is 10.

                                                          + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          */ - MaxResults?: number; + SortBy?: SortActionsBy | string; /** - *

                                                          Filter for model explainability jobs whose name contains a specified string.

                                                          + *

                                                          The sort order. The default value is Descending.

                                                          */ - NameContains?: string; + SortOrder?: SortOrder | string; /** - *

                                                          A filter that returns only model explainability jobs created before a specified - * time.

                                                          + *

                                                          If the previous call to ListActions didn't return the full set of actions, + * the call returns a token for getting the next set of actions.

                                                          */ - CreationTimeBefore?: Date; + NextToken?: string; /** - *

                                                          A filter that returns only model explainability jobs created after a specified - * time.

                                                          + *

                                                          The maximum number of actions to return in the response. The default value is 10.

                                                          */ - CreationTimeAfter?: Date; + MaxResults?: number; } -export namespace ListModelExplainabilityJobDefinitionsRequest { +export namespace ListActionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelExplainabilityJobDefinitionsRequest): any => ({ + export const filterSensitiveLog = (obj: ListActionsRequest): any => ({ ...obj, }); } -export interface ListModelExplainabilityJobDefinitionsResponse { +export interface ListActionsResponse { /** - *

                                                          A JSON array in which each element is a summary for a explainability bias jobs.

                                                          + *

                                                          A list of actions and their properties.

                                                          */ - JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; + ActionSummaries?: ActionSummary[]; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, - * use it in the subsequent request.

                                                          + *

                                                          A token for getting the next set of actions, if there are any.

                                                          */ NextToken?: string; } -export namespace ListModelExplainabilityJobDefinitionsResponse { +export namespace ListActionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelExplainabilityJobDefinitionsResponse): any => ({ + export const filterSensitiveLog = (obj: ListActionsResponse): any => ({ ...obj, }); } -export enum ModelPackageGroupSortBy { - CREATION_TIME = "CreationTime", - NAME = "Name", -} - -export interface ListModelPackageGroupsInput { +export interface ListAlgorithmsInput { /** - *

                                                          A filter that returns only model groups created after the specified time.

                                                          + *

                                                          A filter that returns only algorithms created after the specified time + * (timestamp).

                                                          */ CreationTimeAfter?: Date; /** - *

                                                          A filter that returns only model groups created before the specified time.

                                                          + *

                                                          A filter that returns only algorithms created before the specified time + * (timestamp).

                                                          */ CreationTimeBefore?: Date; /** - *

                                                          The maximum number of results to return in the response.

                                                          + *

                                                          The maximum number of algorithms to return in the response.

                                                          */ MaxResults?: number; /** - *

                                                          A string in the model group name. This filter returns only model groups whose name + *

                                                          A string in the algorithm name. This filter returns only algorithms whose name * contains the specified string.

                                                          */ NameContains?: string; /** - *

                                                          If the result of the previous ListModelPackageGroups request was - * truncated, the response includes a NextToken. To retrieve the next set of - * model groups, use the token in the next request.

                                                          + *

                                                          If the response to a previous ListAlgorithms request was truncated, the + * response includes a NextToken. To retrieve the next set of algorithms, use + * the token in the next request.

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

                                                          The field to sort results by. The default is CreationTime.

                                                          + *

                                                          The parameter by which to sort the results. The default is + * CreationTime.

                                                          */ - SortBy?: ModelPackageGroupSortBy | string; + SortBy?: AlgorithmSortBy | string; /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          The sort order for the results. The default is Ascending.

                                                          */ SortOrder?: SortOrder | string; } -export namespace ListModelPackageGroupsInput { +export namespace ListAlgorithmsInput { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelPackageGroupsInput): any => ({ + export const filterSensitiveLog = (obj: ListAlgorithmsInput): any => ({ ...obj, }); } -/** - *

                                                          Summary information about a model group.

                                                          - */ -export interface ModelPackageGroupSummary { +export interface ListAlgorithmsOutput { /** - *

                                                          The name of the model group.

                                                          + *

                                                          >An array of AlgorithmSummary objects, each of which lists an + * algorithm.

                                                          */ - ModelPackageGroupName: string | undefined; + AlgorithmSummaryList: AlgorithmSummary[] | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the model group.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * algorithms, use it in the subsequent request.

                                                          */ - ModelPackageGroupArn: string | undefined; + NextToken?: string; +} +export namespace ListAlgorithmsOutput { /** - *

                                                          A description of the model group.

                                                          + * @internal */ - ModelPackageGroupDescription?: string; + export const filterSensitiveLog = (obj: ListAlgorithmsOutput): any => ({ + ...obj, + }); +} +export interface ListAppImageConfigsRequest { /** - *

                                                          The time that the model group was created.

                                                          + *

                                                          The maximum number of AppImageConfigs to return in the response. The default value is + * 10.

                                                          */ - CreationTime: Date | undefined; + MaxResults?: number; /** - *

                                                          The status of the model group.

                                                          + *

                                                          If the previous call to ListImages didn't return the full set of + * AppImageConfigs, the call returns a token for getting the next set of AppImageConfigs.

                                                          */ - ModelPackageGroupStatus: ModelPackageGroupStatus | string | undefined; -} + NextToken?: string; -export namespace ModelPackageGroupSummary { /** - * @internal + *

                                                          A filter that returns only AppImageConfigs whose name contains the specified string.

                                                          */ - export const filterSensitiveLog = (obj: ModelPackageGroupSummary): any => ({ - ...obj, - }); -} + NameContains?: string; -export interface ListModelPackageGroupsOutput { /** - *

                                                          A list of summaries of the model groups in your Amazon Web Services account.

                                                          + *

                                                          A filter that returns only AppImageConfigs created on or before the specified time.

                                                          */ - ModelPackageGroupSummaryList: ModelPackageGroupSummary[] | undefined; + CreationTimeBefore?: Date; /** - *

                                                          If the response is truncated, SageMaker returns this token. To retrieve the next set - * of model groups, use it in the subsequent request.

                                                          + *

                                                          A filter that returns only AppImageConfigs created on or after the specified time.

                                                          */ - NextToken?: string; -} + CreationTimeAfter?: Date; -export namespace ListModelPackageGroupsOutput { /** - * @internal + *

                                                          A filter that returns only AppImageConfigs modified on or before the specified time.

                                                          */ - export const filterSensitiveLog = (obj: ListModelPackageGroupsOutput): any => ({ - ...obj, - }); -} + ModifiedTimeBefore?: Date; -export enum ModelPackageType { - BOTH = "Both", - UNVERSIONED = "Unversioned", - VERSIONED = "Versioned", -} + /** + *

                                                          A filter that returns only AppImageConfigs modified on or after the specified time.

                                                          + */ + ModifiedTimeAfter?: Date; -export enum ModelPackageSortBy { - CREATION_TIME = "CreationTime", - NAME = "Name", + /** + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + */ + SortBy?: AppImageConfigSortKey | string; + + /** + *

                                                          The sort order. The default value is Descending.

                                                          + */ + SortOrder?: SortOrder | string; } -export interface ListModelPackagesInput { +export namespace ListAppImageConfigsRequest { /** - *

                                                          A filter that returns only model packages created after the specified time - * (timestamp).

                                                          + * @internal */ - CreationTimeAfter?: Date; + export const filterSensitiveLog = (obj: ListAppImageConfigsRequest): any => ({ + ...obj, + }); +} +export interface ListAppImageConfigsResponse { /** - *

                                                          A filter that returns only model packages created before the specified time - * (timestamp).

                                                          + *

                                                          A token for getting the next set of AppImageConfigs, if there are any.

                                                          */ - CreationTimeBefore?: Date; + NextToken?: string; /** - *

                                                          The maximum number of model packages to return in the response.

                                                          + *

                                                          A list of AppImageConfigs and their properties.

                                                          */ - MaxResults?: number; + AppImageConfigs?: AppImageConfigDetails[]; +} +export namespace ListAppImageConfigsResponse { /** - *

                                                          A string in the model package name. This filter returns only model packages whose name - * contains the specified string.

                                                          + * @internal */ - NameContains?: string; + export const filterSensitiveLog = (obj: ListAppImageConfigsResponse): any => ({ + ...obj, + }); +} +export interface ListAppsRequest { /** - *

                                                          A filter that returns only the model packages with the specified approval - * status.

                                                          + *

                                                          If the previous response was truncated, you will receive this token. + * Use it in your next request to receive the next set of results.

                                                          */ - ModelApprovalStatus?: ModelApprovalStatus | string; + NextToken?: string; /** - *

                                                          A filter that returns only model versions that belong to the specified model group.

                                                          + *

                                                          Returns a list up to a specified limit.

                                                          */ - ModelPackageGroupName?: string; + MaxResults?: number; /** - *

                                                          A filter that returns onlyl the model packages of the specified type. This can be one - * of the following values.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * VERSIONED - List only versioned models.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * UNVERSIONED - List only unversioined models.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * BOTH - List both versioned and unversioned models.

                                                            - *
                                                          • - *
                                                          + *

                                                          The sort order for the results. The default is Ascending.

                                                          */ - ModelPackageType?: ModelPackageType | string; + SortOrder?: SortOrder | string; /** - *

                                                          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 parameter by which to sort the results. The default is CreationTime.

                                                          */ - NextToken?: string; + SortBy?: AppSortKey | string; /** - *

                                                          The parameter by which to sort the results. The default is - * CreationTime.

                                                          + *

                                                          A parameter to search for the domain ID.

                                                          */ - SortBy?: ModelPackageSortBy | string; + DomainIdEquals?: string; /** - *

                                                          The sort order for the results. The default is Ascending.

                                                          + *

                                                          A parameter to search by user profile name.

                                                          */ - SortOrder?: SortOrder | string; + UserProfileNameEquals?: string; } -export namespace ListModelPackagesInput { +export namespace ListAppsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelPackagesInput): any => ({ + export const filterSensitiveLog = (obj: ListAppsRequest): any => ({ ...obj, }); } -/** - *

                                                          Provides summary information about a model package.

                                                          - */ -export interface ModelPackageSummary { +export interface ListAppsResponse { /** - *

                                                          The name of the model package.

                                                          + *

                                                          The list of apps.

                                                          */ - ModelPackageName: string | undefined; + Apps?: AppDetails[]; /** - *

                                                          If the model package is a versioned model, the model group that the versioned model - * belongs to.

                                                          + *

                                                          If the previous response was truncated, you will receive this token. + * Use it in your next request to receive the next set of results.

                                                          */ - ModelPackageGroupName?: string; + NextToken?: string; +} +export namespace ListAppsResponse { /** - *

                                                          If the model package is a versioned model, the version of the model.

                                                          + * @internal */ - ModelPackageVersion?: number; + export const filterSensitiveLog = (obj: ListAppsResponse): any => ({ + ...obj, + }); +} + +export enum SortArtifactsBy { + CREATION_TIME = "CreationTime", +} +export interface ListArtifactsRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the model package.

                                                          + *

                                                          A filter that returns only artifacts with the specified source URI.

                                                          */ - ModelPackageArn: string | undefined; + SourceUri?: string; /** - *

                                                          A brief description of the model package.

                                                          + *

                                                          A filter that returns only artifacts of the specified type.

                                                          */ - ModelPackageDescription?: string; + ArtifactType?: string; /** - *

                                                          A timestamp that shows when the model package was created.

                                                          + *

                                                          A filter that returns only artifacts created on or after the specified time.

                                                          */ - CreationTime: Date | undefined; + CreatedAfter?: Date; /** - *

                                                          The overall status of the model package.

                                                          + *

                                                          A filter that returns only artifacts created on or before the specified time.

                                                          */ - ModelPackageStatus: ModelPackageStatus | string | undefined; + CreatedBefore?: Date; /** - *

                                                          The approval status of the model. This can be one of the following values.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * APPROVED - The model is approved

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * REJECTED - The model is rejected.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * PENDING_MANUAL_APPROVAL - The model is waiting for manual - * approval.

                                                            - *
                                                          • - *
                                                          + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          */ - ModelApprovalStatus?: ModelApprovalStatus | string; + SortBy?: SortArtifactsBy | string; + + /** + *

                                                          The sort order. The default value is Descending.

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

                                                          If the previous call to ListArtifacts didn't return the full set of artifacts, + * the call returns a token for getting the next set of artifacts.

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

                                                          The maximum number of artifacts to return in the response. The default value is 10.

                                                          + */ + MaxResults?: number; } -export namespace ModelPackageSummary { +export namespace ListArtifactsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModelPackageSummary): any => ({ + export const filterSensitiveLog = (obj: ListArtifactsRequest): any => ({ ...obj, }); } -export interface ListModelPackagesOutput { +export interface ListArtifactsResponse { /** - *

                                                          An array of ModelPackageSummary objects, each of which lists a model - * package.

                                                          + *

                                                          A list of artifacts and their properties.

                                                          */ - ModelPackageSummaryList: ModelPackageSummary[] | undefined; + ArtifactSummaries?: ArtifactSummary[]; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * model packages, use it in the subsequent request.

                                                          + *

                                                          A token for getting the next set of artifacts, if there are any.

                                                          */ NextToken?: string; } -export namespace ListModelPackagesOutput { +export namespace ListArtifactsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelPackagesOutput): any => ({ + export const filterSensitiveLog = (obj: ListArtifactsResponse): any => ({ ...obj, }); } -export interface ListModelQualityJobDefinitionsRequest { +export enum SortAssociationsBy { + CREATION_TIME = "CreationTime", + DESTINATION_ARN = "DestinationArn", + DESTINATION_TYPE = "DestinationType", + SOURCE_ARN = "SourceArn", + SOURCE_TYPE = "SourceType", +} + +export interface ListAssociationsRequest { /** - *

                                                          A filter that returns only model quality monitoring job definitions that are associated - * with the specified endpoint.

                                                          + *

                                                          A filter that returns only associations with the specified source ARN.

                                                          */ - EndpointName?: string; + SourceArn?: string; /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          + *

                                                          A filter that returns only associations with the specified destination Amazon Resource Name (ARN).

                                                          */ - SortBy?: MonitoringJobDefinitionSortKey | string; + DestinationArn?: string; /** - *

                                                          The sort order for results. The default is Descending.

                                                          + *

                                                          A filter that returns only associations with the specified source type.

                                                          */ - SortOrder?: SortOrder | string; + SourceType?: string; /** - *

                                                          If the result of the previous ListModelQualityJobDefinitions request was - * truncated, the response includes a NextToken. To retrieve the next set of - * model quality monitoring job definitions, use the token in the next request.

                                                          + *

                                                          A filter that returns only associations with the specified destination type.

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

                                                          The maximum number of results to return in a call to - * ListModelQualityJobDefinitions.

                                                          + *

                                                          A filter that returns only associations of the specified type.

                                                          */ - MaxResults?: number; + AssociationType?: AssociationEdgeType | string; /** - *

                                                          A string in the transform job name. This filter returns only model quality monitoring - * job definitions whose name contains the specified string.

                                                          + *

                                                          A filter that returns only associations created on or after the specified time.

                                                          */ - NameContains?: string; + CreatedAfter?: Date; /** - *

                                                          A filter that returns only model quality monitoring job definitions created before the - * specified time.

                                                          + *

                                                          A filter that returns only associations created on or before the specified time.

                                                          */ - CreationTimeBefore?: Date; + CreatedBefore?: Date; /** - *

                                                          A filter that returns only model quality monitoring job definitions created after the - * specified time.

                                                          + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          */ - CreationTimeAfter?: Date; + SortBy?: SortAssociationsBy | string; + + /** + *

                                                          The sort order. The default value is Descending.

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

                                                          If the previous call to ListAssociations didn't return the full set of associations, + * the call returns a token for getting the next set of associations.

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

                                                          The maximum number of associations to return in the response. The default value is 10.

                                                          + */ + MaxResults?: number; } -export namespace ListModelQualityJobDefinitionsRequest { +export namespace ListAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelQualityJobDefinitionsRequest): any => ({ + export const filterSensitiveLog = (obj: ListAssociationsRequest): any => ({ ...obj, }); } -export interface ListModelQualityJobDefinitionsResponse { +export interface ListAssociationsResponse { /** - *

                                                          A list of summaries of model quality monitoring job definitions.

                                                          + *

                                                          A list of associations and their properties.

                                                          */ - JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; + AssociationSummaries?: AssociationSummary[]; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of model - * quality monitoring job definitions, use it in the next request.

                                                          + *

                                                          A token for getting the next set of associations, if there are any.

                                                          */ NextToken?: string; } -export namespace ListModelQualityJobDefinitionsResponse { +export namespace ListAssociationsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelQualityJobDefinitionsResponse): any => ({ + export const filterSensitiveLog = (obj: ListAssociationsResponse): any => ({ ...obj, }); } -export enum ModelSortKey { - CreationTime = "CreationTime", - Name = "Name", -} - -export interface ListModelsInput { +export interface ListAutoMLJobsRequest { /** - *

                                                          Sorts the list of results. The default is CreationTime.

                                                          + *

                                                          Request a list of jobs, using a filter for time.

                                                          */ - SortBy?: ModelSortKey | string; + CreationTimeAfter?: Date; /** - *

                                                          The sort order for results. The default is Descending.

                                                          + *

                                                          Request a list of jobs, using a filter for time.

                                                          */ - SortOrder?: OrderKey | string; + CreationTimeBefore?: Date; /** - *

                                                          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.

                                                          + *

                                                          Request a list of jobs, using a filter for time.

                                                          */ - NextToken?: string; + LastModifiedTimeAfter?: Date; /** - *

                                                          The maximum number of models to return in the response.

                                                          + *

                                                          Request a list of jobs, using a filter for time.

                                                          */ - MaxResults?: number; + LastModifiedTimeBefore?: Date; /** - *

                                                          A string in the model name. This filter returns only models whose - * name contains the specified string.

                                                          + *

                                                          Request a list of jobs, using a search filter for name.

                                                          */ NameContains?: string; /** - *

                                                          A filter that returns only models created before the specified time - * (timestamp).

                                                          - */ - CreationTimeBefore?: Date; - - /** - *

                                                          A filter that returns only models with a creation time greater than or equal to the - * specified time (timestamp).

                                                          + *

                                                          Request a list of jobs, using a filter for status.

                                                          */ - CreationTimeAfter?: Date; -} + StatusEquals?: AutoMLJobStatus | string; -export namespace ListModelsInput { /** - * @internal + *

                                                          The sort order for the results. The default is Descending.

                                                          */ - export const filterSensitiveLog = (obj: ListModelsInput): any => ({ - ...obj, - }); -} + SortOrder?: AutoMLSortOrder | string; -/** - *

                                                          Provides summary information about a model.

                                                          - */ -export interface ModelSummary { /** - *

                                                          The name of the model that you want a summary for.

                                                          + *

                                                          The parameter by which to sort the results. The default is Name.

                                                          */ - ModelName: string | undefined; + SortBy?: AutoMLSortBy | string; /** - *

                                                          The Amazon Resource Name (ARN) of the model.

                                                          + *

                                                          Request a list of jobs up to a specified limit.

                                                          */ - ModelArn: string | undefined; + MaxResults?: number; /** - *

                                                          A timestamp that indicates when the model was created.

                                                          + *

                                                          If the previous response was truncated, you receive this token. Use it in your next + * request to receive the next set of results.

                                                          */ - CreationTime: Date | undefined; + NextToken?: string; } -export namespace ModelSummary { +export namespace ListAutoMLJobsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModelSummary): any => ({ + export const filterSensitiveLog = (obj: ListAutoMLJobsRequest): any => ({ ...obj, }); } -export interface ListModelsOutput { +export interface ListAutoMLJobsResponse { /** - *

                                                          An array of ModelSummary objects, each of which lists a - * model.

                                                          + *

                                                          Returns a summary list of jobs.

                                                          */ - Models: ModelSummary[] | undefined; + AutoMLJobSummaries: AutoMLJobSummary[] | undefined; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * models, use it in the subsequent request.

                                                          + *

                                                          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; } -export namespace ListModelsOutput { +export namespace ListAutoMLJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListModelsOutput): any => ({ + export const filterSensitiveLog = (obj: ListAutoMLJobsResponse): any => ({ ...obj, }); } -export enum MonitoringExecutionSortKey { - CREATION_TIME = "CreationTime", - SCHEDULED_TIME = "ScheduledTime", - STATUS = "Status", -} +export interface ListCandidatesForAutoMLJobRequest { + /** + *

                                                          List the candidates created for the job by providing the job's name.

                                                          + */ + AutoMLJobName: string | undefined; -export interface ListMonitoringExecutionsRequest { /** - *

                                                          Name of a specific schedule to fetch jobs for.

                                                          + *

                                                          List the candidates for the job and filter by status.

                                                          */ - MonitoringScheduleName?: string; + StatusEquals?: CandidateStatus | string; /** - *

                                                          Name of a specific endpoint to fetch jobs for.

                                                          + *

                                                          List the candidates for the job and filter by candidate name.

                                                          */ - EndpointName?: string; + CandidateNameEquals?: string; /** - *

                                                          Whether to sort results by Status, CreationTime, - * ScheduledTime field. The default is CreationTime.

                                                          + *

                                                          The sort order for the results. The default is Ascending.

                                                          */ - SortBy?: MonitoringExecutionSortKey | string; + SortOrder?: AutoMLSortOrder | string; /** - *

                                                          Whether to sort the results in Ascending or Descending order. - * The default is Descending.

                                                          + *

                                                          The parameter by which to sort the results. The default is + * Descending.

                                                          */ - SortOrder?: SortOrder | string; + SortBy?: CandidateSortBy | string; /** - *

                                                          The token returned if the response is truncated. To retrieve the next set of job - * executions, use it in the next request.

                                                          + *

                                                          List the job's candidates up to a specified limit.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          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; +} +export namespace ListCandidatesForAutoMLJobRequest { /** - *

                                                          The maximum number of jobs to return in the response. The default value is 10.

                                                          + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: ListCandidatesForAutoMLJobRequest): any => ({ + ...obj, + }); +} +export interface ListCandidatesForAutoMLJobResponse { /** - *

                                                          Filter for jobs scheduled before a specified time.

                                                          + *

                                                          Summaries about the AutoMLCandidates.

                                                          */ - ScheduledTimeBefore?: Date; + Candidates: AutoMLCandidate[] | undefined; /** - *

                                                          Filter for jobs scheduled after a specified time.

                                                          + *

                                                          If the previous response was truncated, you receive this token. Use it in your next + * request to receive the next set of results.

                                                          */ - ScheduledTimeAfter?: Date; + NextToken?: string; +} +export namespace ListCandidatesForAutoMLJobResponse { /** - *

                                                          A filter that returns only jobs created before a specified time.

                                                          + * @internal */ - CreationTimeBefore?: Date; + export const filterSensitiveLog = (obj: ListCandidatesForAutoMLJobResponse): any => ({ + ...obj, + }); +} +export interface ListCodeRepositoriesInput { /** - *

                                                          A filter that returns only jobs created after a specified time.

                                                          + *

                                                          A filter that returns only Git repositories that were created after the specified + * time.

                                                          */ CreationTimeAfter?: Date; /** - *

                                                          A filter that returns only jobs modified after a specified time.

                                                          + *

                                                          A filter that returns only Git repositories that were created before the specified + * time.

                                                          */ - LastModifiedTimeBefore?: Date; + CreationTimeBefore?: Date; /** - *

                                                          A filter that returns only jobs modified before a specified time.

                                                          + *

                                                          A filter that returns only Git repositories that were last modified after the + * specified time.

                                                          */ LastModifiedTimeAfter?: Date; /** - *

                                                          A filter that retrieves only jobs with a specific status.

                                                          + *

                                                          A filter that returns only Git repositories that were last modified before the + * specified time.

                                                          */ - StatusEquals?: ExecutionStatus | string; + LastModifiedTimeBefore?: Date; /** - *

                                                          Gets a list of the monitoring job runs of the specified monitoring job - * definitions.

                                                          + *

                                                          The maximum number of Git repositories to return in the response.

                                                          */ - MonitoringJobDefinitionName?: string; + MaxResults?: number; /** - *

                                                          A filter that returns only the monitoring job runs of the specified monitoring - * type.

                                                          + *

                                                          A string in the Git repositories name. This filter returns only repositories whose + * name contains the specified string.

                                                          */ - MonitoringTypeEquals?: MonitoringType | string; + NameContains?: 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.

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

                                                          The field to sort results by. The default is Name.

                                                          + */ + SortBy?: CodeRepositorySortBy | string; + + /** + *

                                                          The sort order for results. The default is Ascending.

                                                          + */ + SortOrder?: CodeRepositorySortOrder | string; } -export namespace ListMonitoringExecutionsRequest { +export namespace ListCodeRepositoriesInput { /** * @internal */ - export const filterSensitiveLog = (obj: ListMonitoringExecutionsRequest): any => ({ + export const filterSensitiveLog = (obj: ListCodeRepositoriesInput): any => ({ ...obj, }); } -export interface ListMonitoringExecutionsResponse { +export interface ListCodeRepositoriesOutput { /** - *

                                                          A JSON array in which each element is a summary for a monitoring execution.

                                                          + *

                                                          Gets a list of summaries of the Git repositories. Each summary specifies the following + * values for the repository:

                                                          + *
                                                            + *
                                                          • + *

                                                            Name

                                                            + *
                                                          • + *
                                                          • + *

                                                            Amazon Resource Name (ARN)

                                                            + *
                                                          • + *
                                                          • + *

                                                            Creation time

                                                            + *
                                                          • + *
                                                          • + *

                                                            Last modified time

                                                            + *
                                                          • + *
                                                          • + *

                                                            Configuration information, including the URL location of the repository and + * the ARN of the Amazon Web Services Secrets Manager secret that contains the credentials used + * to access the repository.

                                                            + *
                                                          • + *
                                                          */ - MonitoringExecutionSummaries: MonitoringExecutionSummary[] | undefined; + CodeRepositorySummaryList: CodeRepositorySummary[] | undefined; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, - * use it in the subsequent reques

                                                          + *

                                                          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.

                                                          */ NextToken?: string; } -export namespace ListMonitoringExecutionsResponse { +export namespace ListCodeRepositoriesOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ListMonitoringExecutionsResponse): any => ({ + export const filterSensitiveLog = (obj: ListCodeRepositoriesOutput): any => ({ ...obj, }); } -export enum MonitoringScheduleSortKey { +export enum ListCompilationJobsSortBy { CREATION_TIME = "CreationTime", NAME = "Name", STATUS = "Status", } -export interface ListMonitoringSchedulesRequest { +export interface ListCompilationJobsRequest { /** - *

                                                          Name of a specific endpoint to fetch schedules for.

                                                          + *

                                                          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.

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

                                                          Whether to sort results by Status, CreationTime, - * ScheduledTime field. The default is CreationTime.

                                                          + *

                                                          The maximum number of model compilation jobs to return in the response.

                                                          */ - SortBy?: MonitoringScheduleSortKey | string; + MaxResults?: number; /** - *

                                                          Whether to sort the results in Ascending or Descending order. - * The default is Descending.

                                                          + *

                                                          A filter that returns the model compilation jobs that were created after a specified + * time.

                                                          */ - SortOrder?: SortOrder | string; + CreationTimeAfter?: Date; /** - *

                                                          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 the model compilation jobs that were created before a specified + * time.

                                                          */ - NextToken?: string; + CreationTimeBefore?: Date; /** - *

                                                          The maximum number of jobs to return in the response. The default value is 10.

                                                          + *

                                                          A filter that returns the model compilation jobs that were modified after a specified + * time.

                                                          */ - MaxResults?: number; + LastModifiedTimeAfter?: Date; /** - *

                                                          Filter for monitoring schedules whose name contains a specified string.

                                                          + *

                                                          A filter that returns the model compilation jobs that were modified before a specified + * time.

                                                          */ - NameContains?: string; + LastModifiedTimeBefore?: Date; /** - *

                                                          A filter that returns only monitoring schedules created before a specified time.

                                                          + *

                                                          A filter that returns the model compilation jobs whose name contains a specified + * string.

                                                          */ - CreationTimeBefore?: Date; + NameContains?: string; /** - *

                                                          A filter that returns only monitoring schedules created after a specified time.

                                                          + *

                                                          A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus status.

                                                          */ - CreationTimeAfter?: Date; + StatusEquals?: CompilationJobStatus | string; /** - *

                                                          A filter that returns only monitoring schedules modified before a specified time.

                                                          + *

                                                          The field by which to sort results. The default is CreationTime.

                                                          */ - LastModifiedTimeBefore?: Date; + SortBy?: ListCompilationJobsSortBy | string; /** - *

                                                          A filter that returns only monitoring schedules modified after a specified time.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ - LastModifiedTimeAfter?: Date; + SortOrder?: SortOrder | string; +} +export namespace ListCompilationJobsRequest { /** - *

                                                          A filter that returns only monitoring schedules modified before a specified time.

                                                          + * @internal */ - StatusEquals?: ScheduleStatus | string; + export const filterSensitiveLog = (obj: ListCompilationJobsRequest): any => ({ + ...obj, + }); +} +export interface ListCompilationJobsResponse { /** - *

                                                          Gets a list of the monitoring schedules for the specified monitoring job - * definition.

                                                          + *

                                                          An array of CompilationJobSummary objects, each describing a model + * compilation job.

                                                          */ - MonitoringJobDefinitionName?: string; + CompilationJobSummaries: CompilationJobSummary[] | undefined; /** - *

                                                          A filter that returns only the monitoring schedules for the specified monitoring - * type.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this NextToken. To retrieve + * the next set of model compilation jobs, use this token in the next request.

                                                          */ - MonitoringTypeEquals?: MonitoringType | string; + NextToken?: string; } -export namespace ListMonitoringSchedulesRequest { +export namespace ListCompilationJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListMonitoringSchedulesRequest): any => ({ + export const filterSensitiveLog = (obj: ListCompilationJobsResponse): any => ({ ...obj, }); } -/** - *

                                                          Summarizes the monitoring schedule.

                                                          - */ -export interface MonitoringScheduleSummary { +export enum SortContextsBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export interface ListContextsRequest { /** - *

                                                          The name of the monitoring schedule.

                                                          + *

                                                          A filter that returns only contexts with the specified source URI.

                                                          */ - MonitoringScheduleName: string | undefined; + SourceUri?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the monitoring schedule.

                                                          + *

                                                          A filter that returns only contexts of the specified type.

                                                          */ - MonitoringScheduleArn: string | undefined; + ContextType?: string; /** - *

                                                          The creation time of the monitoring schedule.

                                                          + *

                                                          A filter that returns only contexts created on or after the specified time.

                                                          */ - CreationTime: Date | undefined; + CreatedAfter?: Date; /** - *

                                                          The last time the monitoring schedule was modified.

                                                          + *

                                                          A filter that returns only contexts created on or before the specified time.

                                                          */ - LastModifiedTime: Date | undefined; + CreatedBefore?: Date; /** - *

                                                          The status of the monitoring schedule.

                                                          + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          */ - MonitoringScheduleStatus: ScheduleStatus | string | undefined; + SortBy?: SortContextsBy | string; /** - *

                                                          The name of the endpoint using the monitoring schedule.

                                                          + *

                                                          The sort order. The default value is Descending.

                                                          */ - EndpointName?: string; + SortOrder?: SortOrder | string; /** - *

                                                          The name of the monitoring job definition that the schedule is for.

                                                          + *

                                                          If the previous call to ListContexts didn't return the full set of contexts, + * the call returns a token for getting the next set of contexts.

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

                                                          The type of the monitoring job definition that the schedule is for.

                                                          + *

                                                          The maximum number of contexts to return in the response. The default value is 10.

                                                          */ - MonitoringType?: MonitoringType | string; + MaxResults?: number; } -export namespace MonitoringScheduleSummary { +export namespace ListContextsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MonitoringScheduleSummary): any => ({ + export const filterSensitiveLog = (obj: ListContextsRequest): any => ({ ...obj, }); } -export interface ListMonitoringSchedulesResponse { +export interface ListContextsResponse { /** - *

                                                          A JSON array in which each element is a summary for a monitoring schedule.

                                                          + *

                                                          A list of contexts and their properties.

                                                          */ - MonitoringScheduleSummaries: MonitoringScheduleSummary[] | undefined; + ContextSummaries?: ContextSummary[]; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, - * use it in the subsequent request.

                                                          + *

                                                          A token for getting the next set of contexts, if there are any.

                                                          */ NextToken?: string; } -export namespace ListMonitoringSchedulesResponse { +export namespace ListContextsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListMonitoringSchedulesResponse): any => ({ + export const filterSensitiveLog = (obj: ListContextsResponse): any => ({ ...obj, }); } -export enum NotebookInstanceLifecycleConfigSortKey { +export enum MonitoringJobDefinitionSortKey { CREATION_TIME = "CreationTime", - LAST_MODIFIED_TIME = "LastModifiedTime", NAME = "Name", } -export enum NotebookInstanceLifecycleConfigSortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", -} +export interface ListDataQualityJobDefinitionsRequest { + /** + *

                                                          A filter that lists the data quality job definitions associated with the specified + * endpoint.

                                                          + */ + EndpointName?: string; -export interface ListNotebookInstanceLifecycleConfigsInput { /** - *

                                                          If the result of a ListNotebookInstanceLifecycleConfigs request was - * truncated, the response includes a NextToken. To get the next set of - * lifecycle configurations, use the token in the next request.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - NextToken?: string; + SortBy?: MonitoringJobDefinitionSortKey | string; /** - *

                                                          The maximum number of lifecycle configurations to return in the response.

                                                          + *

                                                          The sort order for results. The default is Descending.

                                                          */ - MaxResults?: number; + SortOrder?: SortOrder | string; /** - *

                                                          Sorts the list of results. The default is CreationTime.

                                                          + *

                                                          If the result of the previous ListDataQualityJobDefinitions request was + * truncated, the response includes a NextToken. To retrieve the next set of + * transform jobs, use the token in the next request.>

                                                          */ - SortBy?: NotebookInstanceLifecycleConfigSortKey | string; + NextToken?: string; /** - *

                                                          The sort order for results.

                                                          + *

                                                          The maximum number of data quality monitoring job definitions to return in the + * response.

                                                          */ - SortOrder?: NotebookInstanceLifecycleConfigSortOrder | string; + MaxResults?: number; /** - *

                                                          A string in the lifecycle configuration name. This filter returns only lifecycle - * configurations whose name contains the specified string.

                                                          + *

                                                          A string in the data quality monitoring job definition name. This filter returns only + * data quality monitoring job definitions whose name contains the specified string.

                                                          */ NameContains?: string; /** - *

                                                          A filter that returns only lifecycle configurations that were created before the - * specified time (timestamp).

                                                          + *

                                                          A filter that returns only data quality monitoring job definitions created before the + * specified time.

                                                          */ CreationTimeBefore?: Date; /** - *

                                                          A filter that returns only lifecycle configurations that were created after the - * specified time (timestamp).

                                                          + *

                                                          A filter that returns only data quality monitoring job definitions created after the + * specified time.

                                                          */ CreationTimeAfter?: Date; - - /** - *

                                                          A filter that returns only lifecycle configurations that were modified before the - * specified time (timestamp).

                                                          - */ - LastModifiedTimeBefore?: Date; - - /** - *

                                                          A filter that returns only lifecycle configurations that were modified after the - * specified time (timestamp).

                                                          - */ - LastModifiedTimeAfter?: Date; } -export namespace ListNotebookInstanceLifecycleConfigsInput { +export namespace ListDataQualityJobDefinitionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListNotebookInstanceLifecycleConfigsInput): any => ({ + export const filterSensitiveLog = (obj: ListDataQualityJobDefinitionsRequest): any => ({ ...obj, }); } /** - *

                                                          Provides a summary of a notebook instance lifecycle configuration.

                                                          + *

                                                          Summary information about a monitoring job.

                                                          */ -export interface NotebookInstanceLifecycleConfigSummary { +export interface MonitoringJobDefinitionSummary { /** - *

                                                          The name of the lifecycle configuration.

                                                          + *

                                                          The name of the monitoring job.

                                                          */ - NotebookInstanceLifecycleConfigName: string | undefined; + MonitoringJobDefinitionName: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the monitoring job.

                                                          */ - NotebookInstanceLifecycleConfigArn: string | undefined; + MonitoringJobDefinitionArn: string | undefined; /** - *

                                                          A timestamp that tells when the lifecycle configuration was created.

                                                          + *

                                                          The time that the monitoring job was created.

                                                          */ - CreationTime?: Date; + CreationTime: Date | undefined; /** - *

                                                          A timestamp that tells when the lifecycle configuration was last modified.

                                                          + *

                                                          The name of the endpoint that the job monitors.

                                                          */ - LastModifiedTime?: Date; + EndpointName: string | undefined; } -export namespace NotebookInstanceLifecycleConfigSummary { +export namespace MonitoringJobDefinitionSummary { /** * @internal */ - export const filterSensitiveLog = (obj: NotebookInstanceLifecycleConfigSummary): any => ({ + export const filterSensitiveLog = (obj: MonitoringJobDefinitionSummary): any => ({ ...obj, }); } -export interface ListNotebookInstanceLifecycleConfigsOutput { +export interface ListDataQualityJobDefinitionsResponse { /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To get the next set of - * lifecycle configurations, use it in the next request.

                                                          + *

                                                          A list of data quality monitoring job definitions.

                                                          */ - NextToken?: string; + JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; /** - *

                                                          An array of NotebookInstanceLifecycleConfiguration objects, each listing - * a lifecycle configuration.

                                                          + *

                                                          If the result of the previous ListDataQualityJobDefinitions request was + * truncated, the response includes a NextToken. To retrieve the next set of data + * quality monitoring job definitions, use the token in the next request.

                                                          */ - NotebookInstanceLifecycleConfigs?: NotebookInstanceLifecycleConfigSummary[]; + NextToken?: string; } -export namespace ListNotebookInstanceLifecycleConfigsOutput { +export namespace ListDataQualityJobDefinitionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListNotebookInstanceLifecycleConfigsOutput): any => ({ + export const filterSensitiveLog = (obj: ListDataQualityJobDefinitionsResponse): any => ({ ...obj, }); } -export enum NotebookInstanceSortKey { - CREATION_TIME = "CreationTime", - NAME = "Name", - STATUS = "Status", -} - -export enum NotebookInstanceSortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", +export enum ListDeviceFleetsSortBy { + CreationTime = "CREATION_TIME", + LastModifiedTime = "LAST_MODIFIED_TIME", + Name = "NAME", } -export interface ListNotebookInstancesInput { +export interface ListDeviceFleetsRequest { /** - *

                                                          If the previous call to the ListNotebookInstances is truncated, the - * response includes a NextToken. You can use this token in your subsequent - * ListNotebookInstances request to fetch the next set of notebook - * instances.

                                                          - * - *

                                                          You might specify a filter or a sort order in your request. When response is - * truncated, you must use the same values for the filer and sort order in the next - * request.

                                                          - *
                                                          + *

                                                          The response from the last list when returning a list large enough to need tokening.

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

                                                          The maximum number of notebook instances to return.

                                                          + *

                                                          The maximum number of results to select.

                                                          */ MaxResults?: number; /** - *

                                                          The field to sort results by. The default is Name.

                                                          - */ - SortBy?: NotebookInstanceSortKey | string; - - /** - *

                                                          The sort order for results.

                                                          + *

                                                          Filter fleets where packaging job was created after specified time.

                                                          */ - SortOrder?: NotebookInstanceSortOrder | string; + CreationTimeAfter?: Date; /** - *

                                                          A string in the notebook instances' name. This filter returns only notebook - * instances whose name contains the specified string.

                                                          + *

                                                          Filter fleets where the edge packaging job was created before specified time.

                                                          */ - NameContains?: string; + CreationTimeBefore?: Date; /** - *

                                                          A filter that returns only notebook instances that were created before the - * specified time (timestamp).

                                                          + *

                                                          Select fleets where the job was updated after X

                                                          */ - CreationTimeBefore?: Date; + LastModifiedTimeAfter?: Date; /** - *

                                                          A filter that returns only notebook instances that were created after the specified - * time (timestamp).

                                                          + *

                                                          Select fleets where the job was updated before X

                                                          */ - CreationTimeAfter?: Date; + LastModifiedTimeBefore?: Date; /** - *

                                                          A filter that returns only notebook instances that were modified before the - * specified time (timestamp).

                                                          + *

                                                          Filter for fleets containing this name in their fleet device name.

                                                          */ - LastModifiedTimeBefore?: Date; + NameContains?: string; /** - *

                                                          A filter that returns only notebook instances that were modified after the - * specified time (timestamp).

                                                          + *

                                                          The column to sort by.

                                                          */ - LastModifiedTimeAfter?: Date; + SortBy?: ListDeviceFleetsSortBy | string; /** - *

                                                          A filter that returns only notebook instances with the specified status.

                                                          + *

                                                          What direction to sort in.

                                                          */ - StatusEquals?: NotebookInstanceStatus | string; + SortOrder?: SortOrder | string; +} +export namespace ListDeviceFleetsRequest { /** - *

                                                          A string in the name of a notebook instances lifecycle configuration associated with - * this notebook instance. This filter returns only notebook instances associated with a - * lifecycle configuration with a name that contains the specified string.

                                                          + * @internal */ - NotebookInstanceLifecycleConfigNameContains?: string; + export const filterSensitiveLog = (obj: ListDeviceFleetsRequest): any => ({ + ...obj, + }); +} +export interface ListDeviceFleetsResponse { /** - *

                                                          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.

                                                          + *

                                                          Summary of the device fleet.

                                                          */ - DefaultCodeRepositoryContains?: string; + DeviceFleetSummaries: DeviceFleetSummary[] | undefined; /** - *

                                                          A filter that returns only notebook instances with associated with the specified git - * repository.

                                                          + *

                                                          The response from the last list when returning a list large enough to need tokening.

                                                          */ - AdditionalCodeRepositoryEquals?: string; + NextToken?: string; } -export namespace ListNotebookInstancesInput { +export namespace ListDeviceFleetsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListNotebookInstancesInput): any => ({ + export const filterSensitiveLog = (obj: ListDeviceFleetsResponse): any => ({ ...obj, }); } -/** - *

                                                          Provides summary information for an Amazon SageMaker notebook instance.

                                                          - */ -export interface NotebookInstanceSummary { - /** - *

                                                          The name of the notebook instance that you want a summary for.

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

                                                          The Amazon Resource Name (ARN) of the notebook instance.

                                                          - */ - NotebookInstanceArn: string | undefined; - +export interface ListDevicesRequest { /** - *

                                                          The status of the notebook instance.

                                                          + *

                                                          The response from the last list when returning a list large enough to need tokening.

                                                          */ - NotebookInstanceStatus?: NotebookInstanceStatus | string; + NextToken?: string; /** - *

                                                          The - * URL that you use to connect to the Jupyter instance running in your notebook instance. - *

                                                          + *

                                                          Maximum number of results to select.

                                                          */ - Url?: string; + MaxResults?: number; /** - *

                                                          The type of ML compute instance that the notebook instance is running on.

                                                          + *

                                                          Select fleets where the job was updated after X

                                                          */ - InstanceType?: _InstanceType | string; + LatestHeartbeatAfter?: Date; /** - *

                                                          A timestamp that shows when the notebook instance was created.

                                                          + *

                                                          A filter that searches devices that contains this name in any of their models.

                                                          */ - CreationTime?: Date; + ModelName?: string; /** - *

                                                          A timestamp that shows when the notebook instance was last modified.

                                                          + *

                                                          Filter for fleets containing this name in their device fleet name.

                                                          */ - LastModifiedTime?: Date; + DeviceFleetName?: string; +} +export namespace ListDevicesRequest { /** - *

                                                          The name of a notebook instance lifecycle configuration associated with this notebook - * instance.

                                                          - *

                                                          For information about notebook instance lifestyle configurations, see Step - * 2.1: (Optional) Customize a Notebook Instance.

                                                          + * @internal */ - NotebookInstanceLifecycleConfigName?: string; + export const filterSensitiveLog = (obj: ListDevicesRequest): any => ({ + ...obj, + }); +} +export interface ListDevicesResponse { /** - *

                                                          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 Amazon Web Services 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.

                                                          + *

                                                          Summary of devices.

                                                          */ - DefaultCodeRepository?: string; + DeviceSummaries: DeviceSummary[] | undefined; /** - *

                                                          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 Amazon Web Services 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 response from the last list when returning a list large enough to need tokening.

                                                          */ - AdditionalCodeRepositories?: string[]; + NextToken?: string; } -export namespace NotebookInstanceSummary { +export namespace ListDevicesResponse { /** * @internal */ - export const filterSensitiveLog = (obj: NotebookInstanceSummary): any => ({ + export const filterSensitiveLog = (obj: ListDevicesResponse): any => ({ ...obj, }); } -export interface ListNotebookInstancesOutput { +export interface ListDomainsRequest { /** - *

                                                          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.

                                                          + *

                                                          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; /** - *

                                                          An array of NotebookInstanceSummary objects, one for each notebook - * instance.

                                                          + *

                                                          Returns a list up to a specified limit.

                                                          */ - NotebookInstances?: NotebookInstanceSummary[]; + MaxResults?: number; } -export namespace ListNotebookInstancesOutput { +export namespace ListDomainsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListNotebookInstancesOutput): any => ({ + export const filterSensitiveLog = (obj: ListDomainsRequest): any => ({ ...obj, }); } -export enum SortPipelineExecutionsBy { - CREATION_TIME = "CreationTime", - PIPELINE_EXECUTION_ARN = "PipelineExecutionArn", -} +export interface ListDomainsResponse { + /** + *

                                                          The list of domains.

                                                          + */ + Domains?: DomainDetails[]; -export interface ListPipelineExecutionsRequest { /** - *

                                                          The name of the pipeline.

                                                          + *

                                                          If the previous response was truncated, you will receive this token. + * Use it in your next request to receive the next set of results.

                                                          */ - PipelineName: string | undefined; + NextToken?: string; +} +export namespace ListDomainsResponse { /** - *

                                                          A filter that returns the pipeline executions that were created after a specified - * time.

                                                          + * @internal */ - CreatedAfter?: Date; + export const filterSensitiveLog = (obj: ListDomainsResponse): any => ({ + ...obj, + }); +} + +export enum ListEdgePackagingJobsSortBy { + CreationTime = "CREATION_TIME", + EdgePackagingJobStatus = "STATUS", + LastModifiedTime = "LAST_MODIFIED_TIME", + ModelName = "MODEL_NAME", + Name = "NAME", +} +export interface ListEdgePackagingJobsRequest { /** - *

                                                          A filter that returns the pipeline executions that were created before a specified - * time.

                                                          + *

                                                          The response from the last list when returning a list large enough to need tokening.

                                                          */ - CreatedBefore?: Date; + NextToken?: string; /** - *

                                                          The field by which to sort results. The default is CreatedTime.

                                                          + *

                                                          Maximum number of results to select.

                                                          */ - SortBy?: SortPipelineExecutionsBy | string; + MaxResults?: number; /** - *

                                                          The sort order for results.

                                                          + *

                                                          Select jobs where the job was created after specified time.

                                                          */ - SortOrder?: SortOrder | string; + CreationTimeAfter?: Date; /** - *

                                                          If the result of the previous ListPipelineExecutions request was truncated, - * the response includes a NextToken. To retrieve the next set of pipeline executions, use the token in the next request.

                                                          + *

                                                          Select jobs where the job was created before specified time.

                                                          */ - NextToken?: string; + CreationTimeBefore?: Date; /** - *

                                                          The maximum number of pipeline executions to return in the response.

                                                          + *

                                                          Select jobs where the job was updated after specified time.

                                                          */ - MaxResults?: number; -} + LastModifiedTimeAfter?: Date; -export namespace ListPipelineExecutionsRequest { /** - * @internal + *

                                                          Select jobs where the job was updated before specified time.

                                                          */ - export const filterSensitiveLog = (obj: ListPipelineExecutionsRequest): any => ({ - ...obj, - }); -} + LastModifiedTimeBefore?: Date; -/** - *

                                                          A pipeline execution summary.

                                                          - */ -export interface PipelineExecutionSummary { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + *

                                                          Filter for jobs containing this name in their packaging job name.

                                                          */ - PipelineExecutionArn?: string; + NameContains?: string; /** - *

                                                          The start time of the pipeline execution.

                                                          + *

                                                          Filter for jobs where the model name contains this string.

                                                          */ - StartTime?: Date; + ModelNameContains?: string; /** - *

                                                          The status of the pipeline execution.

                                                          + *

                                                          The job status to filter for.

                                                          */ - PipelineExecutionStatus?: PipelineExecutionStatus | string; + StatusEquals?: EdgePackagingJobStatus | string; /** - *

                                                          The description of the pipeline execution.

                                                          + *

                                                          Use to specify what column to sort by.

                                                          */ - PipelineExecutionDescription?: string; + SortBy?: ListEdgePackagingJobsSortBy | string; /** - *

                                                          The display name of the pipeline execution.

                                                          + *

                                                          What direction to sort by.

                                                          */ - PipelineExecutionDisplayName?: string; + SortOrder?: SortOrder | string; } -export namespace PipelineExecutionSummary { +export namespace ListEdgePackagingJobsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PipelineExecutionSummary): any => ({ + export const filterSensitiveLog = (obj: ListEdgePackagingJobsRequest): any => ({ ...obj, }); } -export interface ListPipelineExecutionsResponse { +export interface ListEdgePackagingJobsResponse { /** - *

                                                          Contains a sorted list of pipeline execution summary objects matching the specified - * filters. Each run summary includes the Amazon Resource Name (ARN) of the pipeline execution, the run date, - * and the status. This list can be empty.

                                                          + *

                                                          Summaries of edge packaging jobs.

                                                          */ - PipelineExecutionSummaries?: PipelineExecutionSummary[]; + EdgePackagingJobSummaries: EdgePackagingJobSummary[] | undefined; /** - *

                                                          If the result of the previous ListPipelineExecutions request was truncated, - * the response includes a NextToken. To retrieve the next set of pipeline executions, use the token in the next request.

                                                          + *

                                                          Token to use when calling the next page of results.

                                                          */ NextToken?: string; } -export namespace ListPipelineExecutionsResponse { +export namespace ListEdgePackagingJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelineExecutionsResponse): any => ({ + export const filterSensitiveLog = (obj: ListEdgePackagingJobsResponse): any => ({ ...obj, }); } -export interface ListPipelineExecutionStepsRequest { +export enum OrderKey { + Ascending = "Ascending", + Descending = "Descending", +} + +export interface ListEndpointConfigsInput { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - PipelineExecutionArn?: string; + SortBy?: EndpointConfigSortKey | string; /** - *

                                                          If the result of the previous ListPipelineExecutionSteps request was truncated, - * the response includes a NextToken. To retrieve the next set of pipeline execution steps, use the token in the next request.

                                                          + *

                                                          The sort order for results. The default is Descending.

                                                          + */ + SortOrder?: OrderKey | string; + + /** + *

                                                          If the result of the previous ListEndpointConfig request was + * truncated, the response includes a NextToken. To retrieve the next set of + * endpoint configurations, use the token in the next request.

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

                                                          The maximum number of pipeline execution steps to return in the response.

                                                          + *

                                                          The maximum number of training jobs to return in the response.

                                                          */ MaxResults?: number; /** - *

                                                          The field by which to sort results. The default is CreatedTime.

                                                          + *

                                                          A string in the endpoint configuration name. This filter returns only endpoint + * configurations whose name contains the specified string.

                                                          */ - SortOrder?: SortOrder | string; + NameContains?: string; + + /** + *

                                                          A filter that returns only endpoint configurations created before the specified + * time (timestamp).

                                                          + */ + CreationTimeBefore?: Date; + + /** + *

                                                          A filter that returns only endpoint configurations with a creation time greater + * than or equal to the specified time (timestamp).

                                                          + */ + CreationTimeAfter?: Date; } -export namespace ListPipelineExecutionStepsRequest { +export namespace ListEndpointConfigsInput { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelineExecutionStepsRequest): any => ({ + export const filterSensitiveLog = (obj: ListEndpointConfigsInput): any => ({ ...obj, }); } -/** - *

                                                          Metadata for Model steps.

                                                          - */ -export interface ModelStepMetadata { +export interface ListEndpointConfigsOutput { /** - *

                                                          The Amazon Resource Name (ARN) of the created model.

                                                          + *

                                                          An array of endpoint configurations.

                                                          + */ + EndpointConfigs: EndpointConfigSummary[] | undefined; + + /** + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * endpoint configurations, use it in the subsequent request

                                                          */ - Arn?: string; + NextToken?: string; } -export namespace ModelStepMetadata { +export namespace ListEndpointConfigsOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ModelStepMetadata): any => ({ + export const filterSensitiveLog = (obj: ListEndpointConfigsOutput): any => ({ ...obj, }); } -/** - *

                                                          Metadata for a processing job step.

                                                          - */ -export interface ProcessingJobStepMetadata { +export interface ListEndpointsInput { /** - *

                                                          The Amazon Resource Name (ARN) of the processing job.

                                                          + *

                                                          Sorts the list of results. The default is CreationTime.

                                                          */ - Arn?: string; -} + SortBy?: EndpointSortKey | string; -export namespace ProcessingJobStepMetadata { /** - * @internal + *

                                                          The sort order for results. The default is Descending.

                                                          */ - export const filterSensitiveLog = (obj: ProcessingJobStepMetadata): any => ({ - ...obj, - }); -} + SortOrder?: OrderKey | string; -/** - *

                                                          Metadata for a register model job step.

                                                          - */ -export interface RegisterModelStepMetadata { /** - *

                                                          The Amazon Resource Name (ARN) of the model package.

                                                          + *

                                                          If the result of a ListEndpoints request was truncated, the response + * includes a NextToken. To retrieve the next set of endpoints, use the token + * in the next request.

                                                          */ - Arn?: string; -} + NextToken?: string; -export namespace RegisterModelStepMetadata { /** - * @internal + *

                                                          The maximum number of endpoints to return in the response. This value defaults to + * 10.

                                                          */ - export const filterSensitiveLog = (obj: RegisterModelStepMetadata): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                                                          Metadata for a training job step.

                                                          - */ -export interface TrainingJobStepMetadata { /** - *

                                                          The Amazon Resource Name (ARN) of the training job that was run by this step execution.

                                                          + *

                                                          A string in endpoint names. This filter returns only endpoints whose name contains + * the specified string.

                                                          */ - Arn?: string; -} + NameContains?: string; -export namespace TrainingJobStepMetadata { /** - * @internal + *

                                                          A filter that returns only endpoints that were created before the specified time + * (timestamp).

                                                          */ - export const filterSensitiveLog = (obj: TrainingJobStepMetadata): any => ({ - ...obj, - }); -} + CreationTimeBefore?: Date; -/** - *

                                                          Metadata for a transform job step.

                                                          - */ -export interface TransformJobStepMetadata { /** - *

                                                          The Amazon Resource Name (ARN) of the transform job that was run by this step execution.

                                                          + *

                                                          A filter that returns only endpoints with a creation time greater than or equal to + * the specified time (timestamp).

                                                          */ - Arn?: string; -} + CreationTimeAfter?: Date; -export namespace TransformJobStepMetadata { /** - * @internal + *

                                                          A filter that returns only endpoints that were modified before the specified + * timestamp.

                                                          */ - export const filterSensitiveLog = (obj: TransformJobStepMetadata): any => ({ - ...obj, - }); -} + LastModifiedTimeBefore?: Date; -/** - *

                                                          Metadata for a tuning step.

                                                          - */ -export interface TuningJobStepMetaData { /** - *

                                                          The Amazon Resource Name (ARN) of the tuning job that was run by this step execution.

                                                          + *

                                                          A filter that returns only endpoints that were modified after the specified + * timestamp.

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

                                                          A filter that returns only endpoints with the specified status.

                                                          + */ + StatusEquals?: EndpointStatus | string; } -export namespace TuningJobStepMetaData { +export namespace ListEndpointsInput { /** * @internal */ - export const filterSensitiveLog = (obj: TuningJobStepMetaData): any => ({ + export const filterSensitiveLog = (obj: ListEndpointsInput): any => ({ ...obj, }); } -/** - *

                                                          Metadata for a step execution.

                                                          - */ -export interface PipelineExecutionStepMetadata { +export interface ListEndpointsOutput { /** - *

                                                          The Amazon Resource Name (ARN) of the training job that was run by this step execution.

                                                          + *

                                                          An array or endpoint objects.

                                                          */ - TrainingJob?: TrainingJobStepMetadata; + Endpoints: EndpointSummary[] | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the processing job that was run by this step execution.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * training jobs, use it in the subsequent request.

                                                          */ - ProcessingJob?: ProcessingJobStepMetadata; + NextToken?: string; +} +export namespace ListEndpointsOutput { /** - *

                                                          The Amazon Resource Name (ARN) of the transform job that was run by this step execution.

                                                          + * @internal */ - TransformJob?: TransformJobStepMetadata; + export const filterSensitiveLog = (obj: ListEndpointsOutput): any => ({ + ...obj, + }); +} + +export enum SortExperimentsBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} +export interface ListExperimentsRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the tuning job that was run by this step execution.

                                                          + *

                                                          A filter that returns only experiments created after the specified time.

                                                          */ - TuningJob?: TuningJobStepMetaData; + CreatedAfter?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the model that was created by this step execution.

                                                          + *

                                                          A filter that returns only experiments created before the specified time.

                                                          */ - Model?: ModelStepMetadata; + CreatedBefore?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the model package the model was registered to by this step execution.

                                                          + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          */ - RegisterModel?: RegisterModelStepMetadata; + SortBy?: SortExperimentsBy | string; /** - *

                                                          The outcome of the condition evaluation that was run by this step execution.

                                                          + *

                                                          The sort order. The default value is Descending.

                                                          */ - Condition?: ConditionStepMetadata; + SortOrder?: SortOrder | string; /** - *

                                                          The URL of the Amazon SQS queue used by this step execution, the pipeline generated token, - * and a list of output parameters.

                                                          + *

                                                          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.

                                                          */ - Callback?: CallbackStepMetadata; + NextToken?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution and a list of - * output parameters.

                                                          + *

                                                          The maximum number of experiments to return in the response. The default value is + * 10.

                                                          */ - Lambda?: LambdaStepMetadata; + MaxResults?: number; } -export namespace PipelineExecutionStepMetadata { +export namespace ListExperimentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PipelineExecutionStepMetadata): any => ({ + export const filterSensitiveLog = (obj: ListExperimentsRequest): any => ({ ...obj, }); } -export enum StepStatus { - EXECUTING = "Executing", - FAILED = "Failed", - STARTING = "Starting", - STOPPED = "Stopped", - STOPPING = "Stopping", - SUCCEEDED = "Succeeded", +export interface ListExperimentsResponse { + /** + *

                                                          A list of the summaries of your experiments.

                                                          + */ + ExperimentSummaries?: ExperimentSummary[]; + + /** + *

                                                          A token for getting the next set of experiments, if there are any.

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

                                                          An execution of a step in a pipeline.

                                                          - */ -export interface PipelineExecutionStep { +export namespace ListExperimentsResponse { /** - *

                                                          The name of the step that is executed.

                                                          + * @internal */ - StepName?: string; + export const filterSensitiveLog = (obj: ListExperimentsResponse): any => ({ + ...obj, + }); +} +export interface ListFeatureGroupsRequest { /** - *

                                                          The time that the step started executing.

                                                          + *

                                                          A string that partially matches one or more FeatureGroups names. Filters + * FeatureGroups by name.

                                                          */ - StartTime?: Date; + NameContains?: string; /** - *

                                                          The time that the step stopped executing.

                                                          + *

                                                          A FeatureGroup status. Filters by FeatureGroup status.

                                                          */ - EndTime?: Date; + FeatureGroupStatusEquals?: FeatureGroupStatus | string; /** - *

                                                          The status of the step execution.

                                                          + *

                                                          An OfflineStore status. Filters by OfflineStore status.

                                                          */ - StepStatus?: StepStatus | string; + OfflineStoreStatusEquals?: OfflineStoreStatusValue | string; /** - *

                                                          If this pipeline execution step was cached, details on the cache hit.

                                                          + *

                                                          Use this parameter to search for FeatureGroupss created after a specific + * date and time.

                                                          */ - CacheHitResult?: CacheHitResult; + CreationTimeAfter?: Date; /** - *

                                                          The reason why the step failed execution. This is only returned if the step failed its execution.

                                                          + *

                                                          Use this parameter to search for FeatureGroupss created before a specific + * date and time.

                                                          */ - FailureReason?: string; + CreationTimeBefore?: Date; /** - *

                                                          Metadata for the step execution.

                                                          + *

                                                          The order in which feature groups are listed.

                                                          */ - Metadata?: PipelineExecutionStepMetadata; -} + SortOrder?: FeatureGroupSortOrder | string; -export namespace PipelineExecutionStep { /** - * @internal + *

                                                          The value on which the feature group list is sorted.

                                                          */ - export const filterSensitiveLog = (obj: PipelineExecutionStep): any => ({ - ...obj, - }); -} + SortBy?: FeatureGroupSortBy | string; -export interface ListPipelineExecutionStepsResponse { /** - *

                                                          A list of PipeLineExecutionStep objects. Each - * PipeLineExecutionStep consists of StepName, StartTime, EndTime, StepStatus, - * and Metadata. Metadata is an object with properties for each job that contains relevant - * information about the job created by the step.

                                                          + *

                                                          The maximum number of results returned by ListFeatureGroups.

                                                          */ - PipelineExecutionSteps?: PipelineExecutionStep[]; + MaxResults?: number; /** - *

                                                          If the result of the previous ListPipelineExecutionSteps request was truncated, - * the response includes a NextToken. To retrieve the next set of pipeline execution steps, use the token in the next request.

                                                          + *

                                                          A token to resume pagination of ListFeatureGroups results.

                                                          */ NextToken?: string; } -export namespace ListPipelineExecutionStepsResponse { +export namespace ListFeatureGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelineExecutionStepsResponse): any => ({ + export const filterSensitiveLog = (obj: ListFeatureGroupsRequest): any => ({ ...obj, }); } -export interface ListPipelineParametersForExecutionRequest { - /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          - */ - PipelineExecutionArn: string | undefined; - +export interface ListFeatureGroupsResponse { /** - *

                                                          If the result of the previous ListPipelineParametersForExecution request was truncated, - * the response includes a NextToken. To retrieve the next set of parameters, use the token in the next request.

                                                          + *

                                                          A summary of feature groups.

                                                          */ - NextToken?: string; + FeatureGroupSummaries: FeatureGroupSummary[] | undefined; /** - *

                                                          The maximum number of parameters to return in the response.

                                                          + *

                                                          A token to resume pagination of ListFeatureGroups results.

                                                          */ - MaxResults?: number; + NextToken: string | undefined; } -export namespace ListPipelineParametersForExecutionRequest { +export namespace ListFeatureGroupsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelineParametersForExecutionRequest): any => ({ + export const filterSensitiveLog = (obj: ListFeatureGroupsResponse): any => ({ ...obj, }); } -/** - *

                                                          Assigns a value to a named Pipeline parameter.

                                                          - */ -export interface Parameter { +export interface ListFlowDefinitionsRequest { /** - *

                                                          The name of the parameter to assign a value to. This parameter name must match a named parameter in the pipeline definition.

                                                          + *

                                                          A filter that returns only flow definitions with a creation time greater than or equal to the specified timestamp.

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

                                                          The literal value for the parameter.

                                                          + *

                                                          A filter that returns only flow definitions that were created before the specified timestamp.

                                                          */ - Value: string | undefined; + CreationTimeBefore?: Date; + + /** + *

                                                          An optional value that specifies whether you want the results sorted in Ascending or Descending order.

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

                                                          A token to resume pagination.

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

                                                          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.

                                                          + */ + MaxResults?: number; } -export namespace Parameter { +export namespace ListFlowDefinitionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Parameter): any => ({ + export const filterSensitiveLog = (obj: ListFlowDefinitionsRequest): any => ({ ...obj, }); } -export interface ListPipelineParametersForExecutionResponse { +export interface ListFlowDefinitionsResponse { /** - *

                                                          Contains a list of pipeline parameters. This list can be empty.

                                                          + *

                                                          An array of objects describing the flow definitions.

                                                          */ - PipelineParameters?: Parameter[]; + FlowDefinitionSummaries: FlowDefinitionSummary[] | undefined; /** - *

                                                          If the result of the previous ListPipelineParametersForExecution request was truncated, - * the response includes a NextToken. To retrieve the next set of parameters, use the token in the next request.

                                                          + *

                                                          A token to resume pagination.

                                                          */ NextToken?: string; } -export namespace ListPipelineParametersForExecutionResponse { +export namespace ListFlowDefinitionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelineParametersForExecutionResponse): any => ({ + export const filterSensitiveLog = (obj: ListFlowDefinitionsResponse): any => ({ ...obj, }); } -export enum SortPipelinesBy { - CREATION_TIME = "CreationTime", - NAME = "Name", -} +export interface ListHumanTaskUisRequest { + /** + *

                                                          A filter that returns only human task user interfaces with a creation time greater than or equal to the specified timestamp.

                                                          + */ + CreationTimeAfter?: Date; -export interface ListPipelinesRequest { /** - *

                                                          The prefix of the pipeline name.

                                                          + *

                                                          A filter that returns only human task user interfaces that were created before the specified timestamp.

                                                          */ - PipelineNamePrefix?: string; + CreationTimeBefore?: Date; /** - *

                                                          A filter that returns the pipelines that were created after a specified - * time.

                                                          + *

                                                          An optional value that specifies whether you want the results sorted in Ascending or Descending order.

                                                          */ - CreatedAfter?: Date; + SortOrder?: SortOrder | string; /** - *

                                                          A filter that returns the pipelines that were created before a specified - * time.

                                                          + *

                                                          A token to resume pagination.

                                                          */ - CreatedBefore?: Date; + NextToken?: string; /** - *

                                                          The field by which to sort results. The default is CreatedTime.

                                                          + *

                                                          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.

                                                          */ - SortBy?: SortPipelinesBy | string; + MaxResults?: number; +} +export namespace ListHumanTaskUisRequest { /** - *

                                                          The sort order for results.

                                                          + * @internal */ - SortOrder?: SortOrder | string; + export const filterSensitiveLog = (obj: ListHumanTaskUisRequest): any => ({ + ...obj, + }); +} +export interface ListHumanTaskUisResponse { /** - *

                                                          If the result of the previous ListPipelines request was truncated, - * the response includes a NextToken. To retrieve the next set of pipelines, use the token in the next request.

                                                          + *

                                                          An array of objects describing the human task user interfaces.

                                                          */ - NextToken?: string; + HumanTaskUiSummaries: HumanTaskUiSummary[] | undefined; /** - *

                                                          The maximum number of pipelines to return in the response.

                                                          + *

                                                          A token to resume pagination.

                                                          */ - MaxResults?: number; + NextToken?: string; } -export namespace ListPipelinesRequest { +export namespace ListHumanTaskUisResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelinesRequest): any => ({ + export const filterSensitiveLog = (obj: ListHumanTaskUisResponse): any => ({ ...obj, }); } -/** - *

                                                          A summary of a pipeline.

                                                          - */ -export interface PipelineSummary { +export interface ListHyperParameterTuningJobsRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline.

                                                          + *

                                                          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.

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

                                                          The name of the pipeline.

                                                          + *

                                                          The + * maximum number of tuning jobs to return. The default value is + * 10.

                                                          */ - PipelineName?: string; + MaxResults?: number; /** - *

                                                          The display name of the pipeline.

                                                          + *

                                                          The + * field + * to sort results by. The default is Name.

                                                          */ - PipelineDisplayName?: string; + SortBy?: HyperParameterTuningJobSortByOptions | string; /** - *

                                                          The description of the pipeline.

                                                          + *

                                                          The sort + * order + * for results. The default is Ascending.

                                                          */ - PipelineDescription?: string; + SortOrder?: SortOrder | string; /** - *

                                                          The Amazon Resource Name (ARN) that the pipeline used to execute.

                                                          + *

                                                          A string in the tuning job name. This filter returns only tuning jobs whose name + * contains the specified string.

                                                          */ - RoleArn?: string; + NameContains?: string; /** - *

                                                          The creation time of the pipeline.

                                                          + *

                                                          A filter that returns only tuning jobs that were created after the + * specified + * time.

                                                          */ - CreationTime?: Date; + CreationTimeAfter?: Date; /** - *

                                                          The time that the pipeline was last modified.

                                                          + *

                                                          A filter that returns only tuning jobs that were created before the + * specified + * time.

                                                          */ - LastModifiedTime?: Date; + CreationTimeBefore?: Date; /** - *

                                                          The last time that a pipeline execution began.

                                                          + *

                                                          A filter that returns only tuning jobs that were modified after the specified + * time.

                                                          */ - LastExecutionTime?: Date; + LastModifiedTimeAfter?: Date; + + /** + *

                                                          A filter that returns only tuning jobs that were modified before the specified + * time.

                                                          + */ + LastModifiedTimeBefore?: Date; + + /** + *

                                                          A filter that returns only tuning jobs with the + * specified + * status.

                                                          + */ + StatusEquals?: HyperParameterTuningJobStatus | string; } -export namespace PipelineSummary { +export namespace ListHyperParameterTuningJobsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PipelineSummary): any => ({ + export const filterSensitiveLog = (obj: ListHyperParameterTuningJobsRequest): any => ({ ...obj, }); } -export interface ListPipelinesResponse { +export interface ListHyperParameterTuningJobsResponse { /** - *

                                                          Contains a sorted list of PipelineSummary objects matching the specified - * filters. Each PipelineSummary consists of PipelineArn, PipelineName, - * ExperimentName, PipelineDescription, CreationTime, LastModifiedTime, LastRunTime, and - * RoleArn. This list can be empty.

                                                          + *

                                                          A list of HyperParameterTuningJobSummary objects that + * describe + * the tuning jobs that the ListHyperParameterTuningJobs + * request returned.

                                                          */ - PipelineSummaries?: PipelineSummary[]; + HyperParameterTuningJobSummaries: HyperParameterTuningJobSummary[] | undefined; /** - *

                                                          If the result of the previous ListPipelines request was truncated, - * the response includes a NextToken. To retrieve the next set of pipelines, use the token in the next request.

                                                          + *

                                                          If the result of this 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; } -export namespace ListPipelinesResponse { +export namespace ListHyperParameterTuningJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListPipelinesResponse): any => ({ + export const filterSensitiveLog = (obj: ListHyperParameterTuningJobsResponse): any => ({ ...obj, }); } -export interface ListProcessingJobsRequest { +export interface ListImagesRequest { /** - *

                                                          A filter that returns only processing jobs created after the specified time.

                                                          + *

                                                          A filter that returns only images created on or after the specified time.

                                                          */ CreationTimeAfter?: Date; /** - *

                                                          A filter that returns only processing jobs created after the specified time.

                                                          + *

                                                          A filter that returns only images created on or before the specified time.

                                                          */ CreationTimeBefore?: Date; /** - *

                                                          A filter that returns only processing jobs modified after the specified time.

                                                          + *

                                                          A filter that returns only images modified on or after the specified time.

                                                          */ LastModifiedTimeAfter?: Date; /** - *

                                                          A filter that returns only processing jobs modified before the specified time.

                                                          + *

                                                          A filter that returns only images modified on or before the specified time.

                                                          */ LastModifiedTimeBefore?: Date; /** - *

                                                          A string in the processing job name. This filter returns only processing jobs whose - * name contains the specified string.

                                                          + *

                                                          The maximum number of images to return in the response. The default value is 10.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          A filter that returns only images whose name contains the specified string.

                                                          */ NameContains?: string; /** - *

                                                          A filter that retrieves only processing jobs with a specific status.

                                                          + *

                                                          If the previous call to ListImages didn't return the full set of images, + * the call returns a token for getting the next set of images.

                                                          */ - StatusEquals?: ProcessingJobStatus | string; + NextToken?: string; /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          + *

                                                          The property used to sort results. The default value is CREATION_TIME.

                                                          */ - SortBy?: SortBy | string; + SortBy?: ImageSortBy | string; /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          The sort order. The default value is DESCENDING.

                                                          */ - SortOrder?: SortOrder | string; + SortOrder?: ImageSortOrder | string; +} +export namespace ListImagesRequest { /** - *

                                                          If the result of the previous ListProcessingJobs request was truncated, - * the response includes a NextToken. To retrieve the next set of processing - * jobs, use the token in the next request.

                                                          + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: ListImagesRequest): any => ({ + ...obj, + }); +} +export interface ListImagesResponse { /** - *

                                                          The maximum number of processing jobs to return in the response.

                                                          + *

                                                          A list of images and their properties.

                                                          */ - MaxResults?: number; + Images?: Image[]; + + /** + *

                                                          A token for getting the next set of images, if there are any.

                                                          + */ + NextToken?: string; } -export namespace ListProcessingJobsRequest { +export namespace ListImagesResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListProcessingJobsRequest): any => ({ - ...obj, - }); -} + export const filterSensitiveLog = (obj: ListImagesResponse): any => ({ + ...obj, + }); +} + +export interface ListImageVersionsRequest { + /** + *

                                                          A filter that returns only versions created on or after the specified time.

                                                          + */ + CreationTimeAfter?: Date; -/** - *

                                                          Summary of information about a processing job.

                                                          - */ -export interface ProcessingJobSummary { /** - *

                                                          The name of the processing job.

                                                          + *

                                                          A filter that returns only versions created on or before the specified time.

                                                          */ - ProcessingJobName: string | undefined; + CreationTimeBefore?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the processing job..

                                                          + *

                                                          The name of the image to list the versions of.

                                                          */ - ProcessingJobArn: string | undefined; + ImageName: string | undefined; /** - *

                                                          The time at which the processing job was created.

                                                          + *

                                                          A filter that returns only versions modified on or after the specified time.

                                                          */ - CreationTime: Date | undefined; + LastModifiedTimeAfter?: Date; /** - *

                                                          The time at which the processing job completed.

                                                          + *

                                                          A filter that returns only versions modified on or before the specified time.

                                                          */ - ProcessingEndTime?: Date; + LastModifiedTimeBefore?: Date; /** - *

                                                          A timestamp that indicates the last time the processing job was modified.

                                                          + *

                                                          The maximum number of versions to return in the response. The default value is 10.

                                                          */ - LastModifiedTime?: Date; + MaxResults?: number; /** - *

                                                          The status of the processing job.

                                                          + *

                                                          If the previous call to ListImageVersions didn't return the full set of + * versions, the call returns a token for getting the next set of versions.

                                                          */ - ProcessingJobStatus: ProcessingJobStatus | string | undefined; + NextToken?: string; /** - *

                                                          A string, up to one KB in size, that contains the reason a processing job failed, if - * it failed.

                                                          + *

                                                          The property used to sort results. The default value is CREATION_TIME.

                                                          */ - FailureReason?: string; + SortBy?: ImageVersionSortBy | string; /** - *

                                                          An optional string, up to one KB in size, that contains metadata from the processing - * container when the processing job exits.

                                                          + *

                                                          The sort order. The default value is DESCENDING.

                                                          */ - ExitMessage?: string; + SortOrder?: ImageVersionSortOrder | string; } -export namespace ProcessingJobSummary { +export namespace ListImageVersionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingJobSummary): any => ({ + export const filterSensitiveLog = (obj: ListImageVersionsRequest): any => ({ ...obj, }); } -export interface ListProcessingJobsResponse { +export interface ListImageVersionsResponse { /** - *

                                                          An array of ProcessingJobSummary objects, each listing a processing - * job.

                                                          + *

                                                          A list of versions and their properties.

                                                          */ - ProcessingJobSummaries: ProcessingJobSummary[] | undefined; + ImageVersions?: ImageVersion[]; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * processing jobs, use it in the subsequent request.

                                                          + *

                                                          A token for getting the next set of versions, if there are any.

                                                          */ NextToken?: string; } -export namespace ListProcessingJobsResponse { +export namespace ListImageVersionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListProcessingJobsResponse): any => ({ + export const filterSensitiveLog = (obj: ListImageVersionsResponse): any => ({ ...obj, }); } -export enum ProjectSortBy { +export enum ListInferenceRecommendationsJobsSortBy { CREATION_TIME = "CreationTime", NAME = "Name", + STATUS = "Status", } -export enum ProjectSortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", -} - -export interface ListProjectsInput { +export interface ListInferenceRecommendationsJobsRequest { /** - *

                                                          A filter that returns the projects that were created after a specified - * time.

                                                          + *

                                                          A filter that returns only jobs created after the specified time (timestamp).

                                                          */ CreationTimeAfter?: Date; /** - *

                                                          A filter that returns the projects that were created before a specified - * time.

                                                          + *

                                                          A filter that returns only jobs created before the specified time (timestamp).

                                                          */ CreationTimeBefore?: Date; /** - *

                                                          The maximum number of projects to return in the response.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A filter that returns the projects whose name contains a specified - * string.

                                                          + *

                                                          A filter that returns only jobs that were last modified after the specified time (timestamp).

                                                          */ - NameContains?: string; + LastModifiedTimeAfter?: Date; /** - *

                                                          If the result of the previous ListProjects request was truncated, - * the response includes a NextToken. To retrieve the next set of projects, use the token in the next request.

                                                          + *

                                                          A filter that returns only jobs that were last modified before the specified time (timestamp).

                                                          */ - NextToken?: string; + LastModifiedTimeBefore?: Date; /** - *

                                                          The field by which to sort results. The default is CreationTime.

                                                          + *

                                                          A string in the job name. This filter returns only recommendations whose name contains the specified string.

                                                          */ - SortBy?: ProjectSortBy | string; + NameContains?: string; /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          A filter that retrieves only inference recommendations jobs with a specific status.

                                                          */ - SortOrder?: ProjectSortOrder | string; -} + StatusEquals?: RecommendationJobStatus | string; -export namespace ListProjectsInput { /** - * @internal + *

                                                          The parameter by which to sort the results.

                                                          */ - export const filterSensitiveLog = (obj: ListProjectsInput): any => ({ - ...obj, - }); -} + SortBy?: ListInferenceRecommendationsJobsSortBy | string; -/** - *

                                                          Information about a project.

                                                          - */ -export interface ProjectSummary { /** - *

                                                          The name of the project.

                                                          + *

                                                          The sort order for the results.

                                                          */ - ProjectName: string | undefined; + SortOrder?: SortOrder | string; /** - *

                                                          The description of the project.

                                                          + *

                                                          If the response to a previous ListInferenceRecommendationsJobsRequest request + * was truncated, the response includes a NextToken. To retrieve the next set + * of recommendations, use the token in the next request.

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

                                                          The Amazon Resource Name (ARN) of the project.

                                                          + *

                                                          The maximum number of recommendations to return in the response.

                                                          */ - ProjectArn: string | undefined; + MaxResults?: number; +} +export namespace ListInferenceRecommendationsJobsRequest { /** - *

                                                          The ID of the project.

                                                          + * @internal */ - ProjectId: string | undefined; + export const filterSensitiveLog = (obj: ListInferenceRecommendationsJobsRequest): any => ({ + ...obj, + }); +} +export interface ListInferenceRecommendationsJobsResponse { /** - *

                                                          The time that the project was created.

                                                          + *

                                                          The recommendations created from the Amazon SageMaker Inference Recommender job.

                                                          */ - CreationTime: Date | undefined; + InferenceRecommendationsJobs: InferenceRecommendationsJob[] | undefined; /** - *

                                                          The status of the project.

                                                          + *

                                                          A token for getting the next set of recommendations, if there are any.

                                                          */ - ProjectStatus: ProjectStatus | string | undefined; + NextToken?: string; } -export namespace ProjectSummary { +export namespace ListInferenceRecommendationsJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ProjectSummary): any => ({ + export const filterSensitiveLog = (obj: ListInferenceRecommendationsJobsResponse): any => ({ ...obj, }); } -export interface ListProjectsOutput { +export enum SortBy { + CREATION_TIME = "CreationTime", + NAME = "Name", + STATUS = "Status", +} + +export interface ListLabelingJobsRequest { /** - *

                                                          A list of summaries of projects.

                                                          + *

                                                          A filter that returns only labeling jobs created after the specified time + * (timestamp).

                                                          */ - ProjectSummaryList: ProjectSummary[] | undefined; + CreationTimeAfter?: Date; /** - *

                                                          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.

                                                          + *

                                                          A filter that returns only labeling jobs created before the specified time + * (timestamp).

                                                          */ - NextToken?: string; -} + CreationTimeBefore?: Date; -export namespace ListProjectsOutput { /** - * @internal + *

                                                          A filter that returns only labeling jobs modified after the specified time + * (timestamp).

                                                          */ - export const filterSensitiveLog = (obj: ListProjectsOutput): any => ({ - ...obj, - }); -} + LastModifiedTimeAfter?: Date; -export enum StudioLifecycleConfigSortKey { - CreationTime = "CreationTime", - LastModifiedTime = "LastModifiedTime", - Name = "Name", -} + /** + *

                                                          A filter that returns only labeling jobs modified before the specified time + * (timestamp).

                                                          + */ + LastModifiedTimeBefore?: Date; -export interface ListStudioLifecycleConfigsRequest { /** - *

                                                          The maximum number of Studio Lifecycle Configurations to return in the response. The default value is 10.

                                                          + *

                                                          The maximum number of labeling jobs to return in each page of the response.

                                                          */ MaxResults?: number; /** - *

                                                          If the previous call to ListStudioLifecycleConfigs didn't return the full set of Lifecycle Configurations, the call returns a token for getting the next set of Lifecycle Configurations.

                                                          + *

                                                          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.

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

                                                          A string in the Lifecycle Configuration name. This filter returns only Lifecycle Configurations whose name contains the specified string.

                                                          + *

                                                          A string in the labeling job name. This filter returns only labeling jobs whose name + * contains the specified string.

                                                          */ NameContains?: string; /** - *

                                                          A parameter to search for the App Type to which the Lifecycle Configuration is attached.

                                                          - */ - AppTypeEquals?: StudioLifecycleConfigAppType | string; - - /** - *

                                                          A filter that returns only Lifecycle Configurations created on or before the specified time.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - CreationTimeBefore?: Date; + SortBy?: SortBy | string; /** - *

                                                          A filter that returns only Lifecycle Configurations created on or after the specified time.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ - CreationTimeAfter?: Date; + SortOrder?: SortOrder | string; /** - *

                                                          A filter that returns only Lifecycle Configurations modified before the specified time.

                                                          + *

                                                          A filter that retrieves only labeling jobs with a specific status.

                                                          */ - ModifiedTimeBefore?: Date; + StatusEquals?: LabelingJobStatus | string; +} +export namespace ListLabelingJobsRequest { /** - *

                                                          A filter that returns only Lifecycle Configurations modified after the specified time.

                                                          + * @internal */ - ModifiedTimeAfter?: Date; + export const filterSensitiveLog = (obj: ListLabelingJobsRequest): any => ({ + ...obj, + }); +} +export interface ListLabelingJobsResponse { /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          An array of LabelingJobSummary objects, each describing a labeling + * job.

                                                          */ - SortBy?: StudioLifecycleConfigSortKey | string; + LabelingJobSummaryList?: LabelingJobSummary[]; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * labeling jobs, use it in the subsequent request.

                                                          */ - SortOrder?: SortOrder | string; + NextToken?: string; } -export namespace ListStudioLifecycleConfigsRequest { +export namespace ListLabelingJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListStudioLifecycleConfigsRequest): any => ({ + export const filterSensitiveLog = (obj: ListLabelingJobsResponse): any => ({ ...obj, }); } -/** - *

                                                          Details of the Studio Lifecycle Configuration.

                                                          - */ -export interface StudioLifecycleConfigDetails { +export enum ListLabelingJobsForWorkteamSortByOptions { + CREATION_TIME = "CreationTime", +} + +export interface ListLabelingJobsForWorkteamRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the Lifecycle Configuration.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the work team for which you want to see labeling + * jobs for.

                                                          */ - StudioLifecycleConfigArn?: string; + WorkteamArn: string | undefined; /** - *

                                                          The name of the Studio Lifecycle Configuration.

                                                          + *

                                                          The maximum number of labeling jobs to return in each page of the response.

                                                          */ - StudioLifecycleConfigName?: string; + MaxResults?: number; /** - *

                                                          The creation time of the Studio Lifecycle Configuration.

                                                          + *

                                                          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; + + /** + *

                                                          A filter that returns only labeling jobs created after the specified time + * (timestamp).

                                                          + */ + CreationTimeAfter?: Date; + + /** + *

                                                          A filter that returns only labeling jobs created before the specified time + * (timestamp).

                                                          + */ + CreationTimeBefore?: Date; + + /** + *

                                                          A filter the limits jobs to only the ones whose job reference code contains the + * specified string.

                                                          */ - CreationTime?: Date; + JobReferenceCodeContains?: string; /** - *

                                                          This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - LastModifiedTime?: Date; + SortBy?: ListLabelingJobsForWorkteamSortByOptions | string; /** - *

                                                          The App type to which the Lifecycle Configuration is attached.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ - StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; + SortOrder?: SortOrder | string; } -export namespace StudioLifecycleConfigDetails { +export namespace ListLabelingJobsForWorkteamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: StudioLifecycleConfigDetails): any => ({ + export const filterSensitiveLog = (obj: ListLabelingJobsForWorkteamRequest): any => ({ ...obj, }); } -export interface ListStudioLifecycleConfigsResponse { +export interface ListLabelingJobsForWorkteamResponse { /** - *

                                                          A token for getting the next set of actions, if there are any.

                                                          + *

                                                          An array of LabelingJobSummary objects, each describing a labeling + * job.

                                                          */ - NextToken?: string; + LabelingJobSummaryList: LabelingJobForWorkteamSummary[] | undefined; /** - *

                                                          A list of Lifecycle Configurations and their properties.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * labeling jobs, use it in the subsequent request.

                                                          */ - StudioLifecycleConfigs?: StudioLifecycleConfigDetails[]; + NextToken?: string; } -export namespace ListStudioLifecycleConfigsResponse { +export namespace ListLabelingJobsForWorkteamResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListStudioLifecycleConfigsResponse): any => ({ + export const filterSensitiveLog = (obj: ListLabelingJobsForWorkteamResponse): any => ({ ...obj, }); } -export interface ListSubscribedWorkteamsRequest { +export enum SortLineageGroupsBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export interface ListLineageGroupsRequest { /** - *

                                                          A string in the work team name. This filter returns only work teams whose name - * contains the specified string.

                                                          + *

                                                          A timestamp to filter against lineage groups created after a certain point in time.

                                                          */ - NameContains?: string; + CreatedAfter?: Date; /** - *

                                                          If the result of the previous ListSubscribedWorkteams request was - * truncated, the response includes a NextToken. To retrieve the next set of - * labeling jobs, use the token in the next request.

                                                          + *

                                                          A timestamp to filter against lineage groups created before a certain point in time.

                                                          + */ + CreatedBefore?: Date; + + /** + *

                                                          The parameter by which to sort the results. The default is + * CreationTime.

                                                          + */ + SortBy?: SortLineageGroupsBy | string; + + /** + *

                                                          The sort order for the results. The default is Ascending.

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

                                                          If the response is truncated, SageMaker returns this token. To retrieve the next set of + * algorithms, use it in the subsequent request.

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

                                                          The maximum number of work teams to return in each page of the response.

                                                          + *

                                                          The maximum number of endpoints to return in the response. This value defaults to + * 10.

                                                          */ MaxResults?: number; } -export namespace ListSubscribedWorkteamsRequest { +export namespace ListLineageGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListSubscribedWorkteamsRequest): any => ({ + export const filterSensitiveLog = (obj: ListLineageGroupsRequest): any => ({ ...obj, }); } -export interface ListSubscribedWorkteamsResponse { +export interface ListLineageGroupsResponse { /** - *

                                                          An array of Workteam objects, each describing a work team.

                                                          + *

                                                          A list of lineage groups and their properties.

                                                          */ - SubscribedWorkteams: SubscribedWorkteam[] | undefined; + LineageGroupSummaries?: LineageGroupSummary[]; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * work teams, use it in the subsequent request.

                                                          + *

                                                          If the response is truncated, SageMaker returns this token. To retrieve the next set of + * algorithms, use it in the subsequent request.

                                                          */ NextToken?: string; } -export namespace ListSubscribedWorkteamsResponse { +export namespace ListLineageGroupsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListSubscribedWorkteamsResponse): any => ({ + export const filterSensitiveLog = (obj: ListLineageGroupsResponse): any => ({ ...obj, }); } -export interface ListTagsInput { +export interface ListModelBiasJobDefinitionsRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the resource whose tags you want to - * retrieve.

                                                          + *

                                                          Name of the endpoint to monitor for model bias.

                                                          */ - ResourceArn: string | undefined; + EndpointName?: string; /** - *

                                                          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. - *

                                                          + *

                                                          Whether to sort results by the Name or CreationTime field. The + * default is CreationTime.

                                                          + */ + SortBy?: MonitoringJobDefinitionSortKey | string; + + /** + *

                                                          Whether to sort the results in Ascending or Descending order. + * The default is Descending.

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

                                                          The token returned if the response is truncated. To retrieve the next set of job + * executions, use it in the next request.

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

                                                          Maximum number of tags to return.

                                                          + *

                                                          The maximum number of model bias jobs to return in the response. The default value is + * 10.

                                                          */ MaxResults?: number; + + /** + *

                                                          Filter for model bias jobs whose name contains a specified string.

                                                          + */ + NameContains?: string; + + /** + *

                                                          A filter that returns only model bias jobs created before a specified time.

                                                          + */ + CreationTimeBefore?: Date; + + /** + *

                                                          A filter that returns only model bias jobs created after a specified time.

                                                          + */ + CreationTimeAfter?: Date; } -export namespace ListTagsInput { +export namespace ListModelBiasJobDefinitionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListTagsInput): any => ({ + export const filterSensitiveLog = (obj: ListModelBiasJobDefinitionsRequest): any => ({ ...obj, }); } -export interface ListTagsOutput { +export interface ListModelBiasJobDefinitionsResponse { /** - *

                                                          An array of Tag objects, each with a tag key and a value.

                                                          + *

                                                          A JSON array in which each element is a summary for a model bias jobs.

                                                          */ - Tags?: Tag[]; + JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; /** - *

                                                          If response is truncated, Amazon SageMaker includes a token in the response. You can use this - * token in your subsequent request to fetch next set of tokens.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, + * use it in the subsequent request.

                                                          */ NextToken?: string; } -export namespace ListTagsOutput { +export namespace ListModelBiasJobDefinitionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListTagsOutput): any => ({ + export const filterSensitiveLog = (obj: ListModelBiasJobDefinitionsResponse): any => ({ ...obj, }); } -export interface ListTrainingJobsRequest { +export interface ListModelExplainabilityJobDefinitionsRequest { /** - *

                                                          If the result of the previous ListTrainingJobs request was truncated, - * the response includes a NextToken. To retrieve the next set of training - * jobs, use the token in the next request.

                                                          + *

                                                          Name of the endpoint to monitor for model explainability.

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

                                                          The maximum number of training jobs to return in the response.

                                                          + *

                                                          Whether to sort results by the Name or CreationTime field. The + * default is CreationTime.

                                                          */ - MaxResults?: number; + SortBy?: MonitoringJobDefinitionSortKey | string; /** - *

                                                          A filter that returns only training jobs created after the specified time - * (timestamp).

                                                          + *

                                                          Whether to sort the results in Ascending or Descending order. + * The default is Descending.

                                                          */ - CreationTimeAfter?: Date; + SortOrder?: SortOrder | string; /** - *

                                                          A filter that returns only training jobs created before the specified time - * (timestamp).

                                                          + *

                                                          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 training jobs modified after the specified time - * (timestamp).

                                                          + *

                                                          The maximum number of jobs to return in the response. The default value is 10.

                                                          */ - LastModifiedTimeAfter?: Date; + MaxResults?: number; /** - *

                                                          A filter that returns only training jobs modified before the specified time - * (timestamp).

                                                          + *

                                                          Filter for model explainability jobs whose name contains a specified string.

                                                          */ - LastModifiedTimeBefore?: Date; + NameContains?: string; /** - *

                                                          A string in the training job name. This filter returns only training jobs whose - * name contains the specified string.

                                                          + *

                                                          A filter that returns only model explainability jobs created before a specified + * time.

                                                          */ - NameContains?: string; + CreationTimeBefore?: Date; /** - *

                                                          A filter that retrieves only training jobs with a specific status.

                                                          + *

                                                          A filter that returns only model explainability jobs created after a specified + * time.

                                                          */ - StatusEquals?: TrainingJobStatus | string; + CreationTimeAfter?: Date; +} +export namespace ListModelExplainabilityJobDefinitionsRequest { /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          + * @internal */ - SortBy?: SortBy | string; + export const filterSensitiveLog = (obj: ListModelExplainabilityJobDefinitionsRequest): any => ({ + ...obj, + }); +} +export interface ListModelExplainabilityJobDefinitionsResponse { /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          A JSON array in which each element is a summary for a explainability bias jobs.

                                                          */ - SortOrder?: SortOrder | string; + JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; + + /** + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, + * use it in the subsequent request.

                                                          + */ + NextToken?: string; } -export namespace ListTrainingJobsRequest { +export namespace ListModelExplainabilityJobDefinitionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrainingJobsRequest): any => ({ + export const filterSensitiveLog = (obj: ListModelExplainabilityJobDefinitionsResponse): any => ({ ...obj, }); } +export enum ModelMetadataFilterType { + DOMAIN = "Domain", + FRAMEWORK = "Framework", + FRAMEWORKVERSION = "FrameworkVersion", + TASK = "Task", +} + /** - *

                                                          Provides summary information about a training job.

                                                          + *

                                                          Part of the search expression. You can specify the name and value + * (domain, task, framework, framework version, task, and model).

                                                          */ -export interface TrainingJobSummary { - /** - *

                                                          The name of the training job that you want a summary for.

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

                                                          The Amazon Resource Name (ARN) of the training job.

                                                          - */ - TrainingJobArn: string | undefined; - +export interface ModelMetadataFilter { /** - *

                                                          A timestamp that shows when the training job was created.

                                                          + *

                                                          The name of the of the model to filter by.

                                                          */ - CreationTime: Date | undefined; + Name: ModelMetadataFilterType | string | undefined; /** - *

                                                          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 value to filter the model metadata.

                                                          */ - TrainingEndTime?: Date; + Value: string | undefined; +} +export namespace ModelMetadataFilter { /** - *

                                                          Timestamp when the training job was last modified.

                                                          + * @internal */ - LastModifiedTime?: Date; + export const filterSensitiveLog = (obj: ModelMetadataFilter): any => ({ + ...obj, + }); +} +/** + *

                                                          One or more filters that searches for the specified resource or resources in + * a search. All resource objects that satisfy the expression's condition are + * included in the search results

                                                          + */ +export interface ModelMetadataSearchExpression { /** - *

                                                          The status of the training job.

                                                          + *

                                                          A list of filter objects.

                                                          */ - TrainingJobStatus: TrainingJobStatus | string | undefined; + Filters?: ModelMetadataFilter[]; } -export namespace TrainingJobSummary { +export namespace ModelMetadataSearchExpression { /** * @internal */ - export const filterSensitiveLog = (obj: TrainingJobSummary): any => ({ + export const filterSensitiveLog = (obj: ModelMetadataSearchExpression): any => ({ ...obj, }); } -export interface ListTrainingJobsResponse { +export interface ListModelMetadataRequest { /** - *

                                                          An array of TrainingJobSummary objects, each listing a training - * job.

                                                          + *

                                                          One or more filters that searches for the specified resource or resources + * in a search. All resource objects that satisfy the expression's condition are + * included in the search results. Specify the Framework, FrameworkVersion, Domain + * or Task to filter supported. Filter names and values are case-sensitive.

                                                          */ - TrainingJobSummaries: TrainingJobSummary[] | undefined; + SearchExpression?: ModelMetadataSearchExpression; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * training jobs, use it in the subsequent request.

                                                          + *

                                                          If the response to a previous ListModelMetadataResponse request was truncated, + * the response includes a NextToken. To retrieve the next set of model metadata, + * use the token in the next request.

                                                          */ NextToken?: string; -} -export namespace ListTrainingJobsResponse { /** - * @internal + *

                                                          The maximum number of models to return in the response.

                                                          */ - export const filterSensitiveLog = (obj: ListTrainingJobsResponse): any => ({ - ...obj, - }); -} - -export enum TrainingJobSortByOptions { - CreationTime = "CreationTime", - FinalObjectiveMetricValue = "FinalObjectiveMetricValue", - Name = "Name", - Status = "Status", + MaxResults?: number; } -export interface ListTrainingJobsForHyperParameterTuningJobRequest { +export namespace ListModelMetadataRequest { /** - *

                                                          The name of the tuning job whose training jobs you want to list.

                                                          + * @internal */ - HyperParameterTuningJobName: string | undefined; + export const filterSensitiveLog = (obj: ListModelMetadataRequest): any => ({ + ...obj, + }); +} +/** + *

                                                          A summary of the model metadata.

                                                          + */ +export interface ModelMetadataSummary { /** - *

                                                          If the result of the previous ListTrainingJobsForHyperParameterTuningJob - * request was truncated, the response includes a NextToken. To retrieve the - * next set of training jobs, use the token in the next request.

                                                          + *

                                                          The machine learning domain of the model.

                                                          */ - NextToken?: string; + Domain: string | undefined; /** - *

                                                          The maximum number of training jobs to return. The default value is 10.

                                                          + *

                                                          The machine learning framework of the model.

                                                          */ - MaxResults?: number; + Framework: string | undefined; /** - *

                                                          A filter that returns only training jobs with the - * specified - * status.

                                                          + *

                                                          The machine learning task of the model.

                                                          */ - StatusEquals?: TrainingJobStatus | string; + Task: string | undefined; /** - *

                                                          The field to sort - * results - * by. The default is Name.

                                                          - *

                                                          If the value of this field is FinalObjectiveMetricValue, any training - * jobs that did not return an objective metric are not listed.

                                                          + *

                                                          The name of the model.

                                                          */ - SortBy?: TrainingJobSortByOptions | string; + Model: string | undefined; /** - *

                                                          The sort order - * for - * results. The default is Ascending.

                                                          + *

                                                          The framework version of the model.

                                                          */ - SortOrder?: SortOrder | string; + FrameworkVersion: string | undefined; } -export namespace ListTrainingJobsForHyperParameterTuningJobRequest { +export namespace ModelMetadataSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrainingJobsForHyperParameterTuningJobRequest): any => ({ + export const filterSensitiveLog = (obj: ModelMetadataSummary): any => ({ ...obj, }); } -export interface ListTrainingJobsForHyperParameterTuningJobResponse { +export interface ListModelMetadataResponse { /** - *

                                                          A list of TrainingJobSummary objects that - * describe - * the training jobs that the - * ListTrainingJobsForHyperParameterTuningJob request returned.

                                                          + *

                                                          A structure that holds model metadata.

                                                          */ - TrainingJobSummaries: HyperParameterTrainingJobSummary[] | undefined; + ModelMetadataSummaries: ModelMetadataSummary[] | 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.

                                                          + *

                                                          A token for getting the next set of recommendations, if there are any.

                                                          */ NextToken?: string; } -export namespace ListTrainingJobsForHyperParameterTuningJobResponse { +export namespace ListModelMetadataResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrainingJobsForHyperParameterTuningJobResponse): any => ({ + export const filterSensitiveLog = (obj: ListModelMetadataResponse): any => ({ ...obj, }); } -export interface ListTransformJobsRequest { +export enum ModelPackageGroupSortBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export interface ListModelPackageGroupsInput { /** - *

                                                          A filter that returns only transform jobs created after the specified time.

                                                          + *

                                                          A filter that returns only model groups created after the specified time.

                                                          */ CreationTimeAfter?: Date; /** - *

                                                          A filter that returns only transform jobs created before the specified time.

                                                          + *

                                                          A filter that returns only model groups created before the specified time.

                                                          */ CreationTimeBefore?: Date; /** - *

                                                          A filter that returns only transform jobs modified after the specified time.

                                                          - */ - LastModifiedTimeAfter?: Date; - - /** - *

                                                          A filter that returns only transform jobs modified before the specified time.

                                                          + *

                                                          The maximum number of results to return in the response.

                                                          */ - LastModifiedTimeBefore?: Date; + MaxResults?: number; /** - *

                                                          A string in the transform job name. This filter returns only transform jobs whose name + *

                                                          A string in the model group name. This filter returns only model groups whose name * contains the specified string.

                                                          */ NameContains?: string; /** - *

                                                          A filter that retrieves only transform jobs with a specific status.

                                                          + *

                                                          If the result of the previous ListModelPackageGroups request was + * truncated, the response includes a NextToken. To retrieve the next set of + * model groups, use the token in the next request.

                                                          */ - StatusEquals?: TransformJobStatus | string; + NextToken?: string; /** *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - SortBy?: SortBy | string; + SortBy?: ModelPackageGroupSortBy | string; /** - *

                                                          The sort order for results. The default is Descending.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ 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.

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

                                                          The maximum number of transform jobs to return in the response. The default value is 10.

                                                          - */ - MaxResults?: number; } -export namespace ListTransformJobsRequest { +export namespace ListModelPackageGroupsInput { /** * @internal */ - export const filterSensitiveLog = (obj: ListTransformJobsRequest): any => ({ + export const filterSensitiveLog = (obj: ListModelPackageGroupsInput): any => ({ ...obj, }); } /** - *

                                                          Provides a - * summary - * of a transform job. Multiple TransformJobSummary objects are returned as a - * list after in response to a ListTransformJobs call.

                                                          + *

                                                          Summary information about a model group.

                                                          */ -export interface TransformJobSummary { - /** - *

                                                          The name of the transform job.

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

                                                          The Amazon Resource Name (ARN) of the transform job.

                                                          - */ - TransformJobArn: string | undefined; - +export interface ModelPackageGroupSummary { /** - *

                                                          A timestamp that shows when the transform Job was created.

                                                          + *

                                                          The name of the model group.

                                                          */ - CreationTime: Date | undefined; + ModelPackageGroupName: string | undefined; /** - *

                                                          Indicates when the transform - * job - * ends on compute instances. For successful jobs and stopped jobs, this - * is the exact time - * recorded - * after the results are uploaded. For failed jobs, this is when Amazon SageMaker - * detected that the job failed.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the model group.

                                                          */ - TransformEndTime?: Date; + ModelPackageGroupArn: string | undefined; /** - *

                                                          Indicates when the transform job was last modified.

                                                          + *

                                                          A description of the model group.

                                                          */ - LastModifiedTime?: Date; + ModelPackageGroupDescription?: string; /** - *

                                                          The status of the transform job.

                                                          + *

                                                          The time that the model group was created.

                                                          */ - TransformJobStatus: TransformJobStatus | string | undefined; + CreationTime: Date | undefined; /** - *

                                                          If the transform job failed, - * the - * reason it failed.

                                                          + *

                                                          The status of the model group.

                                                          */ - FailureReason?: string; + ModelPackageGroupStatus: ModelPackageGroupStatus | string | undefined; } -export namespace TransformJobSummary { +export namespace ModelPackageGroupSummary { /** * @internal */ - export const filterSensitiveLog = (obj: TransformJobSummary): any => ({ + export const filterSensitiveLog = (obj: ModelPackageGroupSummary): any => ({ ...obj, }); } -export interface ListTransformJobsResponse { +export interface ListModelPackageGroupsOutput { /** - *

                                                          An array of - * TransformJobSummary - * objects.

                                                          + *

                                                          A list of summaries of the model groups in your Amazon Web Services account.

                                                          */ - TransformJobSummaries: TransformJobSummary[] | undefined; + ModelPackageGroupSummaryList: ModelPackageGroupSummary[] | undefined; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * transform jobs, use it in the next request.

                                                          + *

                                                          If the response is truncated, SageMaker returns this token. To retrieve the next set + * of model groups, use it in the subsequent request.

                                                          */ NextToken?: string; } -export namespace ListTransformJobsResponse { +export namespace ListModelPackageGroupsOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ListTransformJobsResponse): any => ({ + export const filterSensitiveLog = (obj: ListModelPackageGroupsOutput): any => ({ ...obj, }); } -export enum SortTrialComponentsBy { +export enum ModelPackageType { + BOTH = "Both", + UNVERSIONED = "Unversioned", + VERSIONED = "Versioned", +} + +export enum ModelPackageSortBy { CREATION_TIME = "CreationTime", NAME = "Name", } -export interface ListTrialComponentsRequest { +export interface ListModelPackagesInput { /** - *

                                                          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 model packages created after the specified time + * (timestamp).

                                                          */ - ExperimentName?: string; + CreationTimeAfter?: 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.

                                                          + *

                                                          A filter that returns only model packages created before the specified time + * (timestamp).

                                                          */ - TrialName?: string; + CreationTimeBefore?: Date; /** - *

                                                          A filter that returns only components that have the specified source Amazon Resource Name - * (ARN). If you specify SourceArn, you can't filter by ExperimentName - * or TrialName.

                                                          + *

                                                          The maximum number of model packages to return in the response.

                                                          */ - SourceArn?: string; + MaxResults?: number; /** - *

                                                          A filter that returns only components created after the specified time.

                                                          + *

                                                          A string in the model package name. This filter returns only model packages whose name + * contains the specified string.

                                                          */ - CreatedAfter?: Date; + NameContains?: string; /** - *

                                                          A filter that returns only components created before the specified time.

                                                          + *

                                                          A filter that returns only the model packages with the specified approval + * status.

                                                          */ - CreatedBefore?: Date; + ModelApprovalStatus?: ModelApprovalStatus | string; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          A filter that returns only model versions that belong to the specified model group.

                                                          */ - SortBy?: SortTrialComponentsBy | string; + ModelPackageGroupName?: string; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          A filter that returns onlyl the model packages of the specified type. This can be one + * of the following values.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * VERSIONED - List only versioned models.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * UNVERSIONED - List only unversioined models.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * BOTH - List both versioned and unversioned models.

                                                            + *
                                                          • + *
                                                          + */ + ModelPackageType?: ModelPackageType | string; + + /** + *

                                                          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.

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

                                                          The parameter by which to sort the results. The default is + * CreationTime.

                                                          + */ + SortBy?: ModelPackageSortBy | string; + + /** + *

                                                          The sort order for the results. The default is Ascending.

                                                          */ SortOrder?: SortOrder | string; +} +export namespace ListModelPackagesInput { /** - *

                                                          The maximum number of components to return in the response. The default value is - * 10.

                                                          + * @internal + */ + export const filterSensitiveLog = (obj: ListModelPackagesInput): any => ({ + ...obj, + }); +} + +/** + *

                                                          Provides summary information about a model package.

                                                          + */ +export interface ModelPackageSummary { + /** + *

                                                          The name of the model package.

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

                                                          If the model package is a versioned model, the model group that the versioned model + * belongs to.

                                                          + */ + ModelPackageGroupName?: string; + + /** + *

                                                          If the model package is a versioned model, the version of the model.

                                                          + */ + ModelPackageVersion?: number; + + /** + *

                                                          The Amazon Resource Name (ARN) of the model package.

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

                                                          A brief description of the model package.

                                                          + */ + ModelPackageDescription?: string; + + /** + *

                                                          A timestamp that shows when the model package was created.

                                                          + */ + CreationTime: Date | undefined; + + /** + *

                                                          The overall status of the model package.

                                                          */ - MaxResults?: number; + ModelPackageStatus: ModelPackageStatus | string | undefined; /** - *

                                                          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.

                                                          + *

                                                          The approval status of the model. This can be one of the following values.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * APPROVED - The model is approved

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * REJECTED - The model is rejected.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PENDING_MANUAL_APPROVAL - The model is waiting for manual + * approval.

                                                            + *
                                                          • + *
                                                          */ - NextToken?: string; + ModelApprovalStatus?: ModelApprovalStatus | string; } -export namespace ListTrialComponentsRequest { +export namespace ModelPackageSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrialComponentsRequest): any => ({ + export const filterSensitiveLog = (obj: ModelPackageSummary): any => ({ ...obj, }); } -/** - *

                                                          A summary of the properties of a trial component. To get all the properties, call the - * DescribeTrialComponent API and provide the - * TrialComponentName.

                                                          - */ -export interface TrialComponentSummary { +export interface ListModelPackagesOutput { /** - *

                                                          The name of the trial component.

                                                          + *

                                                          An array of ModelPackageSummary objects, each of which lists a model + * package.

                                                          */ - TrialComponentName?: string; + ModelPackageSummaryList: ModelPackageSummary[] | undefined; /** - *

                                                          The ARN of the trial component.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * model packages, use it in the subsequent request.

                                                          */ - TrialComponentArn?: string; + NextToken?: string; +} +export namespace ListModelPackagesOutput { /** - *

                                                          The name of the component as displayed. If DisplayName isn't specified, - * TrialComponentName is displayed.

                                                          + * @internal */ - DisplayName?: string; + export const filterSensitiveLog = (obj: ListModelPackagesOutput): any => ({ + ...obj, + }); +} +export interface ListModelQualityJobDefinitionsRequest { /** - *

                                                          The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                                          + *

                                                          A filter that returns only model quality monitoring job definitions that are associated + * with the specified endpoint.

                                                          */ - TrialComponentSource?: TrialComponentSource; + EndpointName?: string; /** - *

                                                          The status of the component. States include:

                                                          - *
                                                            - *
                                                          • - *

                                                            InProgress

                                                            - *
                                                          • - *
                                                          • - *

                                                            Completed

                                                            - *
                                                          • - *
                                                          • - *

                                                            Failed

                                                            - *
                                                          • - *
                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - Status?: TrialComponentStatus; + SortBy?: MonitoringJobDefinitionSortKey | string; /** - *

                                                          When the component started.

                                                          + *

                                                          The sort order for results. The default is Descending.

                                                          */ - StartTime?: Date; + SortOrder?: SortOrder | string; /** - *

                                                          When the component ended.

                                                          + *

                                                          If the result of the previous ListModelQualityJobDefinitions request was + * truncated, the response includes a NextToken. To retrieve the next set of + * model quality monitoring job definitions, use the token in the next request.

                                                          */ - EndTime?: Date; + NextToken?: string; /** - *

                                                          When the component was created.

                                                          + *

                                                          The maximum number of results to return in a call to + * ListModelQualityJobDefinitions.

                                                          */ - CreationTime?: Date; + MaxResults?: number; /** - *

                                                          Who created the trial component.

                                                          + *

                                                          A string in the transform job name. This filter returns only model quality monitoring + * job definitions whose name contains the specified string.

                                                          */ - CreatedBy?: UserContext; + NameContains?: string; /** - *

                                                          When the component was last modified.

                                                          + *

                                                          A filter that returns only model quality monitoring job definitions created before the + * specified time.

                                                          */ - LastModifiedTime?: Date; + CreationTimeBefore?: Date; /** - *

                                                          Who last modified the component.

                                                          + *

                                                          A filter that returns only model quality monitoring job definitions created after the + * specified time.

                                                          */ - LastModifiedBy?: UserContext; + CreationTimeAfter?: Date; } -export namespace TrialComponentSummary { +export namespace ListModelQualityJobDefinitionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentSummary): any => ({ + export const filterSensitiveLog = (obj: ListModelQualityJobDefinitionsRequest): any => ({ ...obj, }); } -export interface ListTrialComponentsResponse { +export interface ListModelQualityJobDefinitionsResponse { /** - *

                                                          A list of the summaries of your trial components.

                                                          + *

                                                          A list of summaries of model quality monitoring job definitions.

                                                          */ - TrialComponentSummaries?: TrialComponentSummary[]; + JobDefinitionSummaries: MonitoringJobDefinitionSummary[] | undefined; /** - *

                                                          A token for getting the next set of components, if there are any.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of model + * quality monitoring job definitions, use it in the next request.

                                                          */ NextToken?: string; } -export namespace ListTrialComponentsResponse { +export namespace ListModelQualityJobDefinitionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrialComponentsResponse): any => ({ + export const filterSensitiveLog = (obj: ListModelQualityJobDefinitionsResponse): any => ({ ...obj, }); } -export enum SortTrialsBy { - CREATION_TIME = "CreationTime", - NAME = "Name", +export enum ModelSortKey { + CreationTime = "CreationTime", + Name = "Name", } -export interface ListTrialsRequest { - /** - *

                                                          A filter that returns only trials that are part of the specified experiment.

                                                          - */ - ExperimentName?: string; - +export interface ListModelsInput { /** - *

                                                          A filter that returns only trials that are associated with the specified trial - * component.

                                                          + *

                                                          Sorts the list of results. The default is CreationTime.

                                                          */ - TrialComponentName?: string; + SortBy?: ModelSortKey | string; /** - *

                                                          A filter that returns only trials created after the specified time.

                                                          + *

                                                          The sort order for results. The default is Descending.

                                                          */ - CreatedAfter?: Date; + SortOrder?: OrderKey | string; /** - *

                                                          A filter that returns only trials created before the specified time.

                                                          + *

                                                          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.

                                                          */ - CreatedBefore?: Date; + NextToken?: string; /** - *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + *

                                                          The maximum number of models to return in the response.

                                                          */ - SortBy?: SortTrialsBy | string; + MaxResults?: number; /** - *

                                                          The sort order. The default value is Descending.

                                                          + *

                                                          A string in the model name. This filter returns only models whose + * name contains the specified string.

                                                          */ - SortOrder?: SortOrder | string; + NameContains?: string; /** - *

                                                          The maximum number of trials to return in the response. The default value is 10.

                                                          + *

                                                          A filter that returns only models created before the specified time + * (timestamp).

                                                          */ - MaxResults?: number; + CreationTimeBefore?: Date; /** - *

                                                          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 models with a creation time greater than or equal to the + * specified time (timestamp).

                                                          */ - NextToken?: string; + CreationTimeAfter?: Date; } -export namespace ListTrialsRequest { +export namespace ListModelsInput { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrialsRequest): any => ({ + export const filterSensitiveLog = (obj: ListModelsInput): any => ({ ...obj, }); } /** - *

                                                          A summary of the properties of a trial. To get the complete set of properties, call the - * DescribeTrial API and provide the TrialName.

                                                          + *

                                                          Provides summary information about a model.

                                                          */ -export interface TrialSummary { - /** - *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          - */ - TrialArn?: string; - - /** - *

                                                          The name of the trial.

                                                          - */ - TrialName?: string; - - /** - *

                                                          The name of the trial as displayed. If DisplayName isn't specified, - * TrialName is displayed.

                                                          - */ - DisplayName?: string; - +export interface ModelSummary { /** - *

                                                          The source of the trial.

                                                          + *

                                                          The name of the model that you want a summary for.

                                                          */ - TrialSource?: TrialSource; + ModelName: string | undefined; /** - *

                                                          When the trial was created.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the model.

                                                          */ - CreationTime?: Date; + ModelArn: string | undefined; /** - *

                                                          When the trial was last modified.

                                                          + *

                                                          A timestamp that indicates when the model was created.

                                                          */ - LastModifiedTime?: Date; + CreationTime: Date | undefined; } -export namespace TrialSummary { +export namespace ModelSummary { /** * @internal */ - export const filterSensitiveLog = (obj: TrialSummary): any => ({ + export const filterSensitiveLog = (obj: ModelSummary): any => ({ ...obj, }); } -export interface ListTrialsResponse { +export interface ListModelsOutput { /** - *

                                                          A list of the summaries of your trials.

                                                          + *

                                                          An array of ModelSummary objects, each of which lists a + * model.

                                                          */ - TrialSummaries?: TrialSummary[]; + Models: ModelSummary[] | undefined; /** - *

                                                          A token for getting the next set of trials, if there are any.

                                                          + *

                                                          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 ListTrialsResponse { +export namespace ListModelsOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ListTrialsResponse): any => ({ + export const filterSensitiveLog = (obj: ListModelsOutput): any => ({ ...obj, }); } -export enum UserProfileSortKey { - CreationTime = "CreationTime", - LastModifiedTime = "LastModifiedTime", +export enum MonitoringExecutionSortKey { + CREATION_TIME = "CreationTime", + SCHEDULED_TIME = "ScheduledTime", + STATUS = "Status", } -export interface ListUserProfilesRequest { +export interface ListMonitoringExecutionsRequest { /** - *

                                                          If the previous response was truncated, you will receive this token. - * Use it in your next request to receive the next set of results.

                                                          + *

                                                          Name of a specific schedule to fetch jobs for.

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

                                                          Returns a list up to a specified limit.

                                                          + *

                                                          Name of a specific endpoint to fetch jobs for.

                                                          */ - MaxResults?: number; + EndpointName?: string; /** - *

                                                          The sort order for the results. The default is Ascending.

                                                          + *

                                                          Whether to sort results by Status, CreationTime, + * ScheduledTime field. The default is CreationTime.

                                                          + */ + SortBy?: MonitoringExecutionSortKey | string; + + /** + *

                                                          Whether to sort the results in Ascending or Descending order. + * The default is Descending.

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

                                                          The parameter by which to sort the results. The default is CreationTime.

                                                          + *

                                                          The token returned if the response is truncated. To retrieve the next set of job + * executions, use it in the next request.

                                                          */ - SortBy?: UserProfileSortKey | string; + NextToken?: string; /** - *

                                                          A parameter by which to filter the results.

                                                          + *

                                                          The maximum number of jobs to return in the response. The default value is 10.

                                                          */ - DomainIdEquals?: string; + MaxResults?: number; /** - *

                                                          A parameter by which to filter the results.

                                                          + *

                                                          Filter for jobs scheduled before a specified time.

                                                          */ - UserProfileNameContains?: string; -} + ScheduledTimeBefore?: Date; -export namespace ListUserProfilesRequest { /** - * @internal + *

                                                          Filter for jobs scheduled after a specified time.

                                                          */ - export const filterSensitiveLog = (obj: ListUserProfilesRequest): any => ({ - ...obj, - }); -} + ScheduledTimeAfter?: Date; -/** - *

                                                          The user profile details.

                                                          - */ -export interface UserProfileDetails { /** - *

                                                          The domain ID.

                                                          + *

                                                          A filter that returns only jobs created before a specified time.

                                                          */ - DomainId?: string; + CreationTimeBefore?: Date; /** - *

                                                          The user profile name.

                                                          + *

                                                          A filter that returns only jobs created after a specified time.

                                                          */ - UserProfileName?: string; + CreationTimeAfter?: Date; /** - *

                                                          The status.

                                                          + *

                                                          A filter that returns only jobs modified after a specified time.

                                                          */ - Status?: UserProfileStatus | string; + LastModifiedTimeBefore?: Date; /** - *

                                                          The creation time.

                                                          + *

                                                          A filter that returns only jobs modified before a specified time.

                                                          */ - CreationTime?: Date; + LastModifiedTimeAfter?: Date; /** - *

                                                          The last modified time.

                                                          + *

                                                          A filter that retrieves only jobs with a specific status.

                                                          */ - LastModifiedTime?: Date; + StatusEquals?: ExecutionStatus | string; + + /** + *

                                                          Gets a list of the monitoring job runs of the specified monitoring job + * definitions.

                                                          + */ + MonitoringJobDefinitionName?: string; + + /** + *

                                                          A filter that returns only the monitoring job runs of the specified monitoring + * type.

                                                          + */ + MonitoringTypeEquals?: MonitoringType | string; } -export namespace UserProfileDetails { +export namespace ListMonitoringExecutionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UserProfileDetails): any => ({ + export const filterSensitiveLog = (obj: ListMonitoringExecutionsRequest): any => ({ ...obj, }); } -export interface ListUserProfilesResponse { +export interface ListMonitoringExecutionsResponse { /** - *

                                                          The list of user profiles.

                                                          + *

                                                          A JSON array in which each element is a summary for a monitoring execution.

                                                          */ - UserProfiles?: UserProfileDetails[]; + MonitoringExecutionSummaries: MonitoringExecutionSummary[] | 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.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, + * use it in the subsequent reques

                                                          */ NextToken?: string; } -export namespace ListUserProfilesResponse { +export namespace ListMonitoringExecutionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ListUserProfilesResponse): any => ({ + export const filterSensitiveLog = (obj: ListMonitoringExecutionsResponse): any => ({ ...obj, }); } -export enum ListWorkforcesSortByOptions { - CreateDate = "CreateDate", - Name = "Name", +export enum MonitoringScheduleSortKey { + CREATION_TIME = "CreationTime", + NAME = "Name", + STATUS = "Status", } -export interface ListWorkforcesRequest { +export interface ListMonitoringSchedulesRequest { /** - *

                                                          Sort workforces using the workforce name or creation date.

                                                          + *

                                                          Name of a specific endpoint to fetch schedules for.

                                                          */ - SortBy?: ListWorkforcesSortByOptions | string; + EndpointName?: string; /** - *

                                                          Sort workforces in ascending or descending order.

                                                          + *

                                                          Whether to sort results by Status, CreationTime, + * ScheduledTime field. The default is CreationTime.

                                                          */ - SortOrder?: SortOrder | string; + SortBy?: MonitoringScheduleSortKey | string; /** - *

                                                          A filter you can use to search for workforces using part of the workforce name.

                                                          + *

                                                          Whether to sort the results in Ascending or Descending order. + * The default is Descending.

                                                          */ - NameContains?: string; + SortOrder?: SortOrder | string; /** - *

                                                          A token to resume pagination.

                                                          + *

                                                          The token returned if the response is truncated. To retrieve the next set of job + * executions, use it in the next request.

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

                                                          The maximum number of workforces returned in the response.

                                                          + *

                                                          The maximum number of jobs to return in the response. The default value is 10.

                                                          */ MaxResults?: number; -} -export namespace ListWorkforcesRequest { /** - * @internal + *

                                                          Filter for monitoring schedules whose name contains a specified string.

                                                          */ - export const filterSensitiveLog = (obj: ListWorkforcesRequest): any => ({ - ...obj, - }); -} + NameContains?: string; + + /** + *

                                                          A filter that returns only monitoring schedules created before a specified time.

                                                          + */ + CreationTimeBefore?: Date; -export interface ListWorkforcesResponse { /** - *

                                                          A list containing information about your workforce.

                                                          + *

                                                          A filter that returns only monitoring schedules created after a specified time.

                                                          */ - Workforces: Workforce[] | undefined; + CreationTimeAfter?: Date; /** - *

                                                          A token to resume pagination.

                                                          + *

                                                          A filter that returns only monitoring schedules modified before a specified time.

                                                          */ - NextToken?: string; + LastModifiedTimeBefore?: Date; + + /** + *

                                                          A filter that returns only monitoring schedules modified after a specified time.

                                                          + */ + LastModifiedTimeAfter?: Date; + + /** + *

                                                          A filter that returns only monitoring schedules modified before a specified time.

                                                          + */ + StatusEquals?: ScheduleStatus | string; + + /** + *

                                                          Gets a list of the monitoring schedules for the specified monitoring job + * definition.

                                                          + */ + MonitoringJobDefinitionName?: string; + + /** + *

                                                          A filter that returns only the monitoring schedules for the specified monitoring + * type.

                                                          + */ + MonitoringTypeEquals?: MonitoringType | string; } -export namespace ListWorkforcesResponse { +export namespace ListMonitoringSchedulesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListWorkforcesResponse): any => ({ + export const filterSensitiveLog = (obj: ListMonitoringSchedulesRequest): any => ({ ...obj, }); } -export enum ListWorkteamsSortByOptions { - CreateDate = "CreateDate", - Name = "Name", -} - -export interface ListWorkteamsRequest { +/** + *

                                                          Summarizes the monitoring schedule.

                                                          + */ +export interface MonitoringScheduleSummary { /** - *

                                                          The field to sort results by. The default is CreationTime.

                                                          + *

                                                          The name of the monitoring schedule.

                                                          */ - SortBy?: ListWorkteamsSortByOptions | string; + MonitoringScheduleName: string | undefined; /** - *

                                                          The sort order for results. The default is Ascending.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the monitoring schedule.

                                                          */ - SortOrder?: SortOrder | string; + MonitoringScheduleArn: string | undefined; /** - *

                                                          A string in the work team's name. This filter returns only work teams whose name - * contains the specified string.

                                                          + *

                                                          The creation time of the monitoring schedule.

                                                          */ - NameContains?: string; + CreationTime: Date | undefined; /** - *

                                                          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.

                                                          + *

                                                          The last time the monitoring schedule was modified.

                                                          */ - NextToken?: string; + LastModifiedTime: Date | undefined; /** - *

                                                          The maximum number of work teams to return in each page of the response.

                                                          + *

                                                          The status of the monitoring schedule.

                                                          */ - MaxResults?: number; -} + MonitoringScheduleStatus: ScheduleStatus | string | undefined; -export namespace ListWorkteamsRequest { /** - * @internal + *

                                                          The name of the endpoint using the monitoring schedule.

                                                          */ - export const filterSensitiveLog = (obj: ListWorkteamsRequest): any => ({ - ...obj, - }); -} + EndpointName?: string; -export interface ListWorkteamsResponse { /** - *

                                                          An array of Workteam objects, each describing a work team.

                                                          + *

                                                          The name of the monitoring job definition that the schedule is for.

                                                          */ - Workteams: Workteam[] | undefined; + MonitoringJobDefinitionName?: string; /** - *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * work teams, use it in the subsequent request.

                                                          + *

                                                          The type of the monitoring job definition that the schedule is for.

                                                          */ - NextToken?: string; + MonitoringType?: MonitoringType | string; } -export namespace ListWorkteamsResponse { +export namespace MonitoringScheduleSummary { /** * @internal */ - export const filterSensitiveLog = (obj: ListWorkteamsResponse): any => ({ + export const filterSensitiveLog = (obj: MonitoringScheduleSummary): any => ({ ...obj, }); } -/** - *

                                                          A versioned model that can be deployed for SageMaker inference.

                                                          - */ -export interface ModelPackage { +export interface ListMonitoringSchedulesResponse { /** - *

                                                          The name of the model.

                                                          + *

                                                          A JSON array in which each element is a summary for a monitoring schedule.

                                                          */ - ModelPackageName?: string; + MonitoringScheduleSummaries: MonitoringScheduleSummary[] | undefined; /** - *

                                                          The model group to which the model belongs.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, + * use it in the subsequent request.

                                                          */ - ModelPackageGroupName?: string; + NextToken?: string; +} +export namespace ListMonitoringSchedulesResponse { /** - *

                                                          The version number of a versioned model.

                                                          + * @internal */ - ModelPackageVersion?: number; + export const filterSensitiveLog = (obj: ListMonitoringSchedulesResponse): any => ({ + ...obj, + }); +} - /** - *

                                                          The Amazon Resource Name (ARN) of the model package.

                                                          - */ - ModelPackageArn?: string; +export enum NotebookInstanceLifecycleConfigSortKey { + CREATION_TIME = "CreationTime", + LAST_MODIFIED_TIME = "LastModifiedTime", + NAME = "Name", +} + +export enum NotebookInstanceLifecycleConfigSortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} +export interface ListNotebookInstanceLifecycleConfigsInput { /** - *

                                                          The description of the model package.

                                                          + *

                                                          If the result of a ListNotebookInstanceLifecycleConfigs request was + * truncated, the response includes a NextToken. To get the next set of + * lifecycle configurations, use the token in the next request.

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

                                                          The time that the model package was created.

                                                          + *

                                                          The maximum number of lifecycle configurations to return in the response.

                                                          */ - CreationTime?: Date; + MaxResults?: number; /** - *

                                                          Defines how to perform inference generation after a training job is run.

                                                          + *

                                                          Sorts the list of results. The default is CreationTime.

                                                          */ - InferenceSpecification?: InferenceSpecification; + SortBy?: NotebookInstanceLifecycleConfigSortKey | string; /** - *

                                                          A list of algorithms that were used to create a model package.

                                                          + *

                                                          The sort order for results.

                                                          */ - SourceAlgorithmSpecification?: SourceAlgorithmSpecification; + SortOrder?: NotebookInstanceLifecycleConfigSortOrder | string; /** - *

                                                          Specifies batch transform jobs that Amazon SageMaker runs to validate your model package.

                                                          + *

                                                          A string in the lifecycle configuration name. This filter returns only lifecycle + * configurations whose name contains the specified string.

                                                          */ - ValidationSpecification?: ModelPackageValidationSpecification; + NameContains?: string; /** - *

                                                          The status of the model package. This can be one of the following values.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * PENDING - The model package is pending being created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * IN_PROGRESS - The model package is in the process of being - * created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * COMPLETED - The model package was successfully created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * FAILED - The model package failed.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * DELETING - The model package is in the process of being deleted.

                                                            - *
                                                          • - *
                                                          + *

                                                          A filter that returns only lifecycle configurations that were created before the + * specified time (timestamp).

                                                          */ - ModelPackageStatus?: ModelPackageStatus | string; + CreationTimeBefore?: Date; /** - *

                                                          Specifies the validation and image scan statuses of the model package.

                                                          + *

                                                          A filter that returns only lifecycle configurations that were created after the + * specified time (timestamp).

                                                          */ - ModelPackageStatusDetails?: ModelPackageStatusDetails; + CreationTimeAfter?: Date; /** - *

                                                          Whether the model package is to be certified to be listed on Amazon Web Services Marketplace. For - * information about listing model packages on Amazon Web Services Marketplace, see List Your - * Algorithm or Model Package on Amazon Web Services Marketplace.

                                                          + *

                                                          A filter that returns only lifecycle configurations that were modified before the + * specified time (timestamp).

                                                          */ - CertifyForMarketplace?: boolean; + LastModifiedTimeBefore?: Date; /** - *

                                                          The approval status of the model. This can be one of the following values.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * APPROVED - The model is approved

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * REJECTED - The model is rejected.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * PENDING_MANUAL_APPROVAL - The model is waiting for manual - * approval.

                                                            - *
                                                          • - *
                                                          + *

                                                          A filter that returns only lifecycle configurations that were modified after the + * specified time (timestamp).

                                                          */ - ModelApprovalStatus?: ModelApprovalStatus | string; + LastModifiedTimeAfter?: Date; +} +export namespace ListNotebookInstanceLifecycleConfigsInput { /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + * @internal */ - CreatedBy?: UserContext; + export const filterSensitiveLog = (obj: ListNotebookInstanceLifecycleConfigsInput): any => ({ + ...obj, + }); +} +/** + *

                                                          Provides a summary of a notebook instance lifecycle configuration.

                                                          + */ +export interface NotebookInstanceLifecycleConfigSummary { /** - *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + *

                                                          The name of the lifecycle configuration.

                                                          */ - MetadataProperties?: MetadataProperties; + NotebookInstanceLifecycleConfigName: string | undefined; /** - *

                                                          Metrics for the model.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                          */ - ModelMetrics?: ModelMetrics; + NotebookInstanceLifecycleConfigArn: string | undefined; /** - *

                                                          The last time the model package was modified.

                                                          + *

                                                          A timestamp that tells when the lifecycle configuration was created.

                                                          */ - LastModifiedTime?: Date; + CreationTime?: Date; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          A timestamp that tells when the lifecycle configuration was last modified.

                                                          */ - LastModifiedBy?: UserContext; + LastModifiedTime?: Date; +} +export namespace NotebookInstanceLifecycleConfigSummary { /** - *

                                                          A description provided when the model approval is set.

                                                          + * @internal */ - ApprovalDescription?: string; + export const filterSensitiveLog = (obj: NotebookInstanceLifecycleConfigSummary): any => ({ + ...obj, + }); +} +export interface ListNotebookInstanceLifecycleConfigsOutput { /** - *

                                                          A list of the tags associated with the model package. For more information, see Tagging Amazon Web Services - * resources in the Amazon Web Services General Reference Guide.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To get the next set of + * lifecycle configurations, use it in the next request.

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

                                                          The metadata properties for the model package.

                                                          + *

                                                          An array of NotebookInstanceLifecycleConfiguration objects, each listing + * a lifecycle configuration.

                                                          */ - CustomerMetadataProperties?: { [key: string]: string }; + NotebookInstanceLifecycleConfigs?: NotebookInstanceLifecycleConfigSummary[]; } -export namespace ModelPackage { +export namespace ListNotebookInstanceLifecycleConfigsOutput { /** * @internal */ - export const filterSensitiveLog = (obj: ModelPackage): any => ({ + export const filterSensitiveLog = (obj: ListNotebookInstanceLifecycleConfigsOutput): any => ({ ...obj, }); } -/** - *

                                                          A group of versioned models in the model registry.

                                                          - */ -export interface ModelPackageGroup { +export enum NotebookInstanceSortKey { + CREATION_TIME = "CreationTime", + NAME = "Name", + STATUS = "Status", +} + +export enum NotebookInstanceSortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} + +export interface ListNotebookInstancesInput { /** - *

                                                          The name of the model group.

                                                          + *

                                                          If the previous call to the ListNotebookInstances is truncated, the + * response includes a NextToken. You can use this token in your subsequent + * ListNotebookInstances request to fetch the next set of notebook + * instances.

                                                          + * + *

                                                          You might specify a filter or a sort order in your request. When response is + * truncated, you must use the same values for the filer and sort order in the next + * request.

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

                                                          The Amazon Resource Name (ARN) of the model group.

                                                          + *

                                                          The maximum number of notebook instances to return.

                                                          */ - ModelPackageGroupArn?: string; + MaxResults?: number; /** - *

                                                          The description for the model group.

                                                          + *

                                                          The field to sort results by. The default is Name.

                                                          */ - ModelPackageGroupDescription?: string; + SortBy?: NotebookInstanceSortKey | string; /** - *

                                                          The time that the model group was created.

                                                          + *

                                                          The sort order for results.

                                                          */ - CreationTime?: Date; + SortOrder?: NotebookInstanceSortOrder | string; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          A string in the notebook instances' name. This filter returns only notebook + * instances whose name contains the specified string.

                                                          */ - CreatedBy?: UserContext; + NameContains?: string; /** - *

                                                          The status of the model group. This can be one of the following values.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * PENDING - The model group is pending being created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * IN_PROGRESS - The model group is in the process of being - * created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * COMPLETED - The model group was successfully created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * FAILED - The model group failed.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * DELETING - The model group is in the process of being deleted.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * DELETE_FAILED - SageMaker failed to delete the model group.

                                                            - *
                                                          • - *
                                                          + *

                                                          A filter that returns only notebook instances that were created before the + * specified time (timestamp).

                                                          */ - ModelPackageGroupStatus?: ModelPackageGroupStatus | string; + CreationTimeBefore?: Date; /** - *

                                                          A list of the tags associated with the model group. For more information, see Tagging Amazon Web Services - * resources in the Amazon Web Services General Reference Guide.

                                                          + *

                                                          A filter that returns only notebook instances that were created after the specified + * time (timestamp).

                                                          */ - Tags?: Tag[]; -} + CreationTimeAfter?: Date; -export namespace ModelPackageGroup { /** - * @internal + *

                                                          A filter that returns only notebook instances that were modified before the + * specified time (timestamp).

                                                          */ - export const filterSensitiveLog = (obj: ModelPackageGroup): any => ({ - ...obj, - }); -} + LastModifiedTimeBefore?: Date; -/** - *

                                                          A list of nested Filter objects. A resource must satisfy the conditions - * of all filters to be included in the results returned from the Search API.

                                                          - *

                                                          For example, to filter on a training job's InputDataConfig property with a - * specific channel name and S3Uri prefix, define the following filters:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * '{Name:"InputDataConfig.ChannelName", "Operator":"Equals", "Value":"train"}', - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * '{Name:"InputDataConfig.DataSource.S3DataSource.S3Uri", "Operator":"Contains", - * "Value":"mybucket/catdata"}' - *

                                                            - *
                                                          • - *
                                                          - */ -export interface NestedFilters { /** - *

                                                          The name of the property to use in the nested filters. The value must match a listed property name, - * such as InputDataConfig.

                                                          + *

                                                          A filter that returns only notebook instances that were modified after the + * specified time (timestamp).

                                                          */ - NestedPropertyName: string | undefined; + LastModifiedTimeAfter?: Date; /** - *

                                                          A list of filters. Each filter acts on a property. Filters must contain at least one - * Filters value. For example, a NestedFilters call might - * include a filter on the PropertyName parameter of the - * InputDataConfig property: - * InputDataConfig.DataSource.S3DataSource.S3Uri.

                                                          + *

                                                          A filter that returns only notebook instances with the specified status.

                                                          */ - Filters: Filter[] | undefined; -} + StatusEquals?: NotebookInstanceStatus | string; -export namespace NestedFilters { /** - * @internal + *

                                                          A string in the name of a notebook instances lifecycle configuration associated with + * this notebook instance. This filter returns only notebook instances associated with a + * lifecycle configuration with a name that contains the specified string.

                                                          */ - export const filterSensitiveLog = (obj: NestedFilters): any => ({ - ...obj, - }); -} + NotebookInstanceLifecycleConfigNameContains?: string; -/** - *

                                                          The trial that a trial component is associated with and the experiment the trial is part - * of. A component might not be associated with a trial. A component can be associated with - * multiple trials.

                                                          - */ -export interface Parent { /** - *

                                                          The name of the trial.

                                                          + *

                                                          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.

                                                          */ - TrialName?: string; + DefaultCodeRepositoryContains?: string; /** - *

                                                          The name of the experiment.

                                                          + *

                                                          A filter that returns only notebook instances with associated with the specified git + * repository.

                                                          */ - ExperimentName?: string; + AdditionalCodeRepositoryEquals?: string; } -export namespace Parent { +export namespace ListNotebookInstancesInput { /** * @internal */ - export const filterSensitiveLog = (obj: Parent): any => ({ + export const filterSensitiveLog = (obj: ListNotebookInstancesInput): any => ({ ...obj, }); } /** - *

                                                          A SageMaker Model Building Pipeline instance.

                                                          + *

                                                          Provides summary information for an Amazon SageMaker notebook instance.

                                                          */ -export interface Pipeline { +export interface NotebookInstanceSummary { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline.

                                                          + *

                                                          The name of the notebook instance that you want a summary for.

                                                          */ - PipelineArn?: string; + NotebookInstanceName: string | undefined; /** - *

                                                          The name of the pipeline.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the notebook instance.

                                                          */ - PipelineName?: string; + NotebookInstanceArn: string | undefined; /** - *

                                                          The display name of the pipeline.

                                                          + *

                                                          The status of the notebook instance.

                                                          */ - PipelineDisplayName?: string; + NotebookInstanceStatus?: NotebookInstanceStatus | string; /** - *

                                                          The description of the pipeline.

                                                          + *

                                                          The + * URL that you use to connect to the Jupyter instance running in your notebook instance. + *

                                                          */ - PipelineDescription?: string; + Url?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the role that created the pipeline.

                                                          + *

                                                          The type of ML compute instance that the notebook instance is running on.

                                                          */ - RoleArn?: string; + InstanceType?: _InstanceType | string; /** - *

                                                          The status of the pipeline.

                                                          + *

                                                          A timestamp that shows when the notebook instance was created.

                                                          */ - PipelineStatus?: PipelineStatus | string; + CreationTime?: Date; /** - *

                                                          The creation time of the pipeline.

                                                          + *

                                                          A timestamp that shows when the notebook instance was last modified.

                                                          */ - CreationTime?: Date; + LastModifiedTime?: Date; /** - *

                                                          The time that the pipeline was last modified.

                                                          + *

                                                          The name of a notebook instance lifecycle configuration associated with this notebook + * instance.

                                                          + *

                                                          For information about notebook instance lifestyle configurations, see Step + * 2.1: (Optional) Customize a Notebook Instance.

                                                          */ - LastModifiedTime?: Date; + NotebookInstanceLifecycleConfigName?: string; /** - *

                                                          The time when the pipeline was last run.

                                                          + *

                                                          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 Amazon Web Services 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.

                                                          */ - LastRunTime?: Date; + DefaultCodeRepository?: string; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          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 Amazon Web Services 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.

                                                          */ - CreatedBy?: UserContext; + AdditionalCodeRepositories?: string[]; +} +export namespace NotebookInstanceSummary { /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + * @internal */ - LastModifiedBy?: UserContext; + export const filterSensitiveLog = (obj: NotebookInstanceSummary): any => ({ + ...obj, + }); +} +export interface ListNotebookInstancesOutput { /** - *

                                                          A list of tags that apply to the pipeline.

                                                          + *

                                                          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.

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

                                                          An array of NotebookInstanceSummary objects, one for each notebook + * instance.

                                                          + */ + NotebookInstances?: NotebookInstanceSummary[]; } -export namespace Pipeline { +export namespace ListNotebookInstancesOutput { /** * @internal */ - export const filterSensitiveLog = (obj: Pipeline): any => ({ + export const filterSensitiveLog = (obj: ListNotebookInstancesOutput): any => ({ ...obj, }); } -/** - *

                                                          An execution of a pipeline.

                                                          - */ -export interface PipelineExecution { +export enum SortPipelineExecutionsBy { + CREATION_TIME = "CreationTime", + PIPELINE_EXECUTION_ARN = "PipelineExecutionArn", +} + +export interface ListPipelineExecutionsRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline that was executed.

                                                          + *

                                                          The name of the pipeline.

                                                          */ - PipelineArn?: string; + PipelineName: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + *

                                                          A filter that returns the pipeline executions that were created after a specified + * time.

                                                          */ - PipelineExecutionArn?: string; + CreatedAfter?: Date; /** - *

                                                          The display name of the pipeline execution.

                                                          + *

                                                          A filter that returns the pipeline executions that were created before a specified + * time.

                                                          */ - PipelineExecutionDisplayName?: string; + CreatedBefore?: Date; /** - *

                                                          The status of the pipeline status.

                                                          + *

                                                          The field by which to sort results. The default is CreatedTime.

                                                          */ - PipelineExecutionStatus?: PipelineExecutionStatus | string; + SortBy?: SortPipelineExecutionsBy | string; /** - *

                                                          The description of the pipeline execution.

                                                          + *

                                                          The sort order for results.

                                                          */ - PipelineExecutionDescription?: string; + SortOrder?: SortOrder | string; /** - *

                                                          Specifies the names of the experiment and trial created by a pipeline.

                                                          + *

                                                          If the result of the previous ListPipelineExecutions request was truncated, + * the response includes a NextToken. To retrieve the next set of pipeline executions, use the token in the next request.

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

                                                          If the execution failed, a message describing why.

                                                          + *

                                                          The maximum number of pipeline executions to return in the response.

                                                          */ - FailureReason?: string; + MaxResults?: number; +} +export namespace ListPipelineExecutionsRequest { /** - *

                                                          The creation time of the pipeline execution.

                                                          + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: ListPipelineExecutionsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                          A pipeline execution summary.

                                                          + */ +export interface PipelineExecutionSummary { /** - *

                                                          The time that the pipeline execution was last modified.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          */ - LastModifiedTime?: Date; + PipelineExecutionArn?: string; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          The start time of the pipeline execution.

                                                          */ - CreatedBy?: UserContext; + StartTime?: Date; + + /** + *

                                                          The status of the pipeline execution.

                                                          + */ + PipelineExecutionStatus?: PipelineExecutionStatus | string; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          The description of the pipeline execution.

                                                          */ - LastModifiedBy?: UserContext; + PipelineExecutionDescription?: string; /** - *

                                                          Contains a list of pipeline parameters. This list can be empty.

                                                          + *

                                                          The display name of the pipeline execution.

                                                          */ - PipelineParameters?: Parameter[]; + PipelineExecutionDisplayName?: string; } -export namespace PipelineExecution { +export namespace PipelineExecutionSummary { /** * @internal */ - export const filterSensitiveLog = (obj: PipelineExecution): any => ({ + export const filterSensitiveLog = (obj: PipelineExecutionSummary): any => ({ ...obj, }); } -/** - *

                                                          An Amazon SageMaker processing job that is used to analyze data and evaluate models. For more information, - * see Process - * Data and Evaluate Models.

                                                          - */ -export interface ProcessingJob { +export interface ListPipelineExecutionsResponse { /** - *

                                                          List of input configurations for the processing job.

                                                          + *

                                                          Contains a sorted list of pipeline execution summary objects matching the specified + * filters. Each run summary includes the Amazon Resource Name (ARN) of the pipeline execution, the run date, + * and the status. This list can be empty.

                                                          */ - ProcessingInputs?: ProcessingInput[]; + PipelineExecutionSummaries?: PipelineExecutionSummary[]; /** - *

                                                          Configuration for uploading output from the processing container.

                                                          + *

                                                          If the result of the previous ListPipelineExecutions request was truncated, + * the response includes a NextToken. To retrieve the next set of pipeline executions, use the token in the next request.

                                                          */ - ProcessingOutputConfig?: ProcessingOutputConfig; + NextToken?: string; +} +export namespace ListPipelineExecutionsResponse { /** - *

                                                          The name of the processing job.

                                                          + * @internal */ - ProcessingJobName?: string; + export const filterSensitiveLog = (obj: ListPipelineExecutionsResponse): any => ({ + ...obj, + }); +} +export interface ListPipelineExecutionStepsRequest { /** - *

                                                          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 Amazon Resource Name (ARN) of the pipeline execution.

                                                          */ - ProcessingResources?: ProcessingResources; + PipelineExecutionArn?: string; /** - *

                                                          Configures conditions under which the processing job should be stopped, such as how long - * the processing job has been running. After the condition is met, the processing job is stopped.

                                                          + *

                                                          If the result of the previous ListPipelineExecutionSteps request was truncated, + * the response includes a NextToken. To retrieve the next set of pipeline execution steps, use the token in the next request.

                                                          */ - StoppingCondition?: ProcessingStoppingCondition; + NextToken?: string; /** - *

                                                          Configuration to run a processing job in a specified container image.

                                                          + *

                                                          The maximum number of pipeline execution steps to return in the response.

                                                          */ - AppSpecification?: AppSpecification; + MaxResults?: number; /** - *

                                                          Sets the environment variables in the Docker container.

                                                          + *

                                                          The field by which to sort results. The default is CreatedTime.

                                                          */ - Environment?: { [key: string]: string }; + SortOrder?: SortOrder | string; +} +export namespace ListPipelineExecutionStepsRequest { /** - *

                                                          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.

                                                          + * @internal */ - NetworkConfig?: NetworkConfig; + export const filterSensitiveLog = (obj: ListPipelineExecutionStepsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                          Metadata for Model steps.

                                                          + */ +export interface ModelStepMetadata { /** - *

                                                          The ARN of the role used to create the processing job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the created model.

                                                          */ - RoleArn?: string; + Arn?: string; +} +export namespace ModelStepMetadata { /** - *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                          - * + * @internal */ - ExperimentConfig?: ExperimentConfig; + export const filterSensitiveLog = (obj: ModelStepMetadata): any => ({ + ...obj, + }); +} +/** + *

                                                          Metadata for a processing job step.

                                                          + */ +export interface ProcessingJobStepMetadata { /** - *

                                                          The ARN of the processing job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the processing job.

                                                          */ - ProcessingJobArn?: string; + Arn?: string; +} +export namespace ProcessingJobStepMetadata { /** - *

                                                          The status of the processing job.

                                                          + * @internal */ - ProcessingJobStatus?: ProcessingJobStatus | string; + export const filterSensitiveLog = (obj: ProcessingJobStepMetadata): any => ({ + ...obj, + }); +} +/** + *

                                                          Container for the metadata for a Quality check step. For more information, see + * the topic on QualityCheck step in the Amazon SageMaker Developer Guide. + *

                                                          + */ +export interface QualityCheckStepMetadata { /** - *

                                                          A string, up to one KB in size, that contains metadata from the processing - * container when the processing job exits.

                                                          + *

                                                          The type of the Quality check step.

                                                          */ - ExitMessage?: string; + CheckType?: string; /** - *

                                                          A string, up to one KB in size, that contains the reason a processing job failed, if - * it failed.

                                                          + *

                                                          The Amazon S3 URI of the baseline statistics file used for the drift check.

                                                          */ - FailureReason?: string; + BaselineUsedForDriftCheckStatistics?: string; /** - *

                                                          The time that the processing job ended.

                                                          + *

                                                          The Amazon S3 URI of the baseline constraints file used for the drift check.

                                                          */ - ProcessingEndTime?: Date; + BaselineUsedForDriftCheckConstraints?: string; /** - *

                                                          The time that the processing job started.

                                                          + *

                                                          The Amazon S3 URI of the newly calculated baseline statistics file.

                                                          */ - ProcessingStartTime?: Date; + CalculatedBaselineStatistics?: string; /** - *

                                                          The time the processing job was last modified.

                                                          + *

                                                          The Amazon S3 URI of the newly calculated baseline constraints file.

                                                          */ - LastModifiedTime?: Date; + CalculatedBaselineConstraints?: string; /** - *

                                                          The time the processing job was created.

                                                          + *

                                                          The model package group name.

                                                          */ - CreationTime?: Date; + ModelPackageGroupName?: string; /** - *

                                                          The ARN of a monitoring schedule for an endpoint associated with this processing - * job.

                                                          + *

                                                          The Amazon S3 URI of violation report if violations are detected.

                                                          */ - MonitoringScheduleArn?: string; + ViolationReport?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Quality check processing job that was run by this step execution.

                                                          */ - AutoMLJobArn?: string; + CheckJobArn?: string; /** - *

                                                          The ARN of the training job associated with this processing job.

                                                          + *

                                                          This flag indicates if the drift check against the previous baseline will be skipped or not. + * If it is set to False, the previous baseline of the configured check type must be available.

                                                          */ - TrainingJobArn?: string; + SkipCheck?: boolean; /** - *

                                                          An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                          + *

                                                          This flag indicates if a newly calculated baseline can be accessed through step properties + * BaselineUsedForDriftCheckConstraints and BaselineUsedForDriftCheckStatistics. + * If it is set to False, the previous baseline of the configured check type must also be available. + * These can be accessed through the BaselineUsedForDriftCheckConstraints and + * BaselineUsedForDriftCheckStatistics properties.

                                                          */ - Tags?: Tag[]; + RegisterNewBaseline?: boolean; } -export namespace ProcessingJob { +export namespace QualityCheckStepMetadata { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessingJob): any => ({ + export const filterSensitiveLog = (obj: QualityCheckStepMetadata): any => ({ ...obj, }); } /** - *

                                                          Configuration information for updating the Debugger profile parameters, system and framework metrics configurations, and - * storage paths.

                                                          + *

                                                          Metadata for a register model job step.

                                                          */ -export interface ProfilerConfigForUpdate { - /** - *

                                                          Path to Amazon S3 storage location for system and framework metrics.

                                                          - */ - S3OutputPath?: string; - +export interface RegisterModelStepMetadata { /** - *

                                                          A time interval for capturing system metrics in milliseconds. Available values are - * 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 minute) milliseconds. The default value is 500 milliseconds.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the model package.

                                                          */ - ProfilingIntervalInMilliseconds?: number; + Arn?: string; +} +export namespace RegisterModelStepMetadata { /** - *

                                                          Configuration information for capturing framework metrics. Available key strings for different profiling options are - * DetailedProfilingConfig, PythonProfilingConfig, and DataLoaderProfilingConfig. - * The following codes are configuration structures for the ProfilingParameters parameter. To learn more about - * how to configure the ProfilingParameters parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job. - *

                                                          + * @internal */ - ProfilingParameters?: { [key: string]: string }; + export const filterSensitiveLog = (obj: RegisterModelStepMetadata): any => ({ + ...obj, + }); +} +/** + *

                                                          Metadata for a training job step.

                                                          + */ +export interface TrainingJobStepMetadata { /** - *

                                                          To disable Debugger monitoring and profiling, set to True.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the training job that was run by this step execution.

                                                          */ - DisableProfiler?: boolean; + Arn?: string; } -export namespace ProfilerConfigForUpdate { +export namespace TrainingJobStepMetadata { /** * @internal */ - export const filterSensitiveLog = (obj: ProfilerConfigForUpdate): any => ({ + export const filterSensitiveLog = (obj: TrainingJobStepMetadata): any => ({ ...obj, }); } /** - *

                                                          The properties of a project as returned by the Search API.

                                                          + *

                                                          Metadata for a transform job step.

                                                          */ -export interface Project { +export interface TransformJobStepMetadata { /** - *

                                                          The Amazon Resource Name (ARN) of the project.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the transform job that was run by this step execution.

                                                          */ - ProjectArn?: string; + Arn?: string; +} +export namespace TransformJobStepMetadata { /** - *

                                                          The name of the project.

                                                          + * @internal */ - ProjectName?: string; + export const filterSensitiveLog = (obj: TransformJobStepMetadata): any => ({ + ...obj, + }); +} +/** + *

                                                          Metadata for a tuning step.

                                                          + */ +export interface TuningJobStepMetaData { /** - *

                                                          The ID of the project.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the tuning job that was run by this step execution.

                                                          */ - ProjectId?: string; + Arn?: string; +} +export namespace TuningJobStepMetaData { /** - *

                                                          The description of the project.

                                                          + * @internal */ - ProjectDescription?: string; + export const filterSensitiveLog = (obj: TuningJobStepMetaData): any => ({ + ...obj, + }); +} +/** + *

                                                          Metadata for a step execution.

                                                          + */ +export interface PipelineExecutionStepMetadata { /** - *

                                                          Details that you specify to provision a service catalog product. For information about - * service catalog, see What is Amazon Web Services Service - * Catalog.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the training job that was run by this step execution.

                                                          */ - ServiceCatalogProvisioningDetails?: ServiceCatalogProvisioningDetails; + TrainingJob?: TrainingJobStepMetadata; /** - *

                                                          Details of a provisioned service catalog product. For information about service catalog, - * see What is Amazon Web Services Service - * Catalog.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the processing job that was run by this step execution.

                                                          */ - ServiceCatalogProvisionedProductDetails?: ServiceCatalogProvisionedProductDetails; + ProcessingJob?: ProcessingJobStepMetadata; /** - *

                                                          The status of the project.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the transform job that was run by this step execution.

                                                          */ - ProjectStatus?: ProjectStatus | string; + TransformJob?: TransformJobStepMetadata; /** - *

                                                          Who created the project.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the tuning job that was run by this step execution.

                                                          */ - CreatedBy?: UserContext; + TuningJob?: TuningJobStepMetaData; /** - *

                                                          A timestamp specifying when the project was created.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the model that was created by this step execution.

                                                          */ - CreationTime?: Date; + Model?: ModelStepMetadata; /** - *

                                                          An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the model package the model was registered to by this step execution.

                                                          */ - Tags?: Tag[]; + RegisterModel?: RegisterModelStepMetadata; /** - *

                                                          A timestamp container for when the project was last modified.

                                                          + *

                                                          The outcome of the condition evaluation that was run by this step execution.

                                                          */ - LastModifiedTime?: Date; + Condition?: ConditionStepMetadata; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          The URL of the Amazon SQS queue used by this step execution, the pipeline generated token, + * and a list of output parameters.

                                                          */ - LastModifiedBy?: UserContext; -} + Callback?: CallbackStepMetadata; -export namespace Project { /** - * @internal + *

                                                          The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution and a list of + * output parameters.

                                                          */ - export const filterSensitiveLog = (obj: Project): any => ({ - ...obj, - }); -} + Lambda?: LambdaStepMetadata; -export interface PutModelPackageGroupPolicyInput { /** - *

                                                          The name of the model group to add a resource policy to.

                                                          + *

                                                          The configurations and outcomes of the check step execution. This includes:

                                                          + *
                                                            + *
                                                          • + *

                                                            The type of the check conducted,

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon S3 URIs of newly calculated baseline constraints and statistics.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The model package group name provided.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon S3 URI of the violation report if violations detected.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon Resource Name (ARN) of check processing job initiated by the step execution.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The boolean flags indicating if the drift check is skipped.

                                                            + *
                                                          • + *
                                                          • + *

                                                            If step property BaselineUsedForDriftCheck is set the same as + * CalculatedBaseline.

                                                            + *
                                                          • + *
                                                          */ - ModelPackageGroupName: string | undefined; + QualityCheck?: QualityCheckStepMetadata; /** - *

                                                          The resource policy for the model group.

                                                          + *

                                                          Container for the metadata for a Clarify check step. The configurations + * and outcomes of the check step execution. This includes:

                                                          + *
                                                            + *
                                                          • + *

                                                            The type of the check conducted,

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon S3 URIs of newly calculated baseline constraints and statistics.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The model package group name provided.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon S3 URI of the violation report if violations detected.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The Amazon Resource Name (ARN) of check processing job initiated by the step execution.

                                                            + *
                                                          • + *
                                                          • + *

                                                            The boolean flags indicating if the drift check is skipped.

                                                            + *
                                                          • + *
                                                          • + *

                                                            If step property BaselineUsedForDriftCheck is set the same as + * CalculatedBaseline.

                                                            + *
                                                          • + *
                                                          */ - ResourcePolicy: string | undefined; + ClarifyCheck?: ClarifyCheckStepMetadata; } -export namespace PutModelPackageGroupPolicyInput { +export namespace PipelineExecutionStepMetadata { /** * @internal */ - export const filterSensitiveLog = (obj: PutModelPackageGroupPolicyInput): any => ({ + export const filterSensitiveLog = (obj: PipelineExecutionStepMetadata): any => ({ ...obj, }); } -export interface PutModelPackageGroupPolicyOutput { +export enum StepStatus { + EXECUTING = "Executing", + FAILED = "Failed", + STARTING = "Starting", + STOPPED = "Stopped", + STOPPING = "Stopping", + SUCCEEDED = "Succeeded", +} + +/** + *

                                                          An execution of a step in a pipeline.

                                                          + */ +export interface PipelineExecutionStep { /** - *

                                                          The Amazon Resource Name (ARN) of the model package group.

                                                          + *

                                                          The name of the step that is executed.

                                                          */ - ModelPackageGroupArn: string | undefined; -} + StepName?: string; -export namespace PutModelPackageGroupPolicyOutput { /** - * @internal + *

                                                          The time that the step started executing.

                                                          */ - export const filterSensitiveLog = (obj: PutModelPackageGroupPolicyOutput): any => ({ - ...obj, - }); -} + StartTime?: Date; -export interface RegisterDevicesRequest { /** - *

                                                          The name of the fleet.

                                                          + *

                                                          The time that the step stopped executing.

                                                          */ - DeviceFleetName: string | undefined; + EndTime?: Date; /** - *

                                                          A list of devices to register with SageMaker Edge Manager.

                                                          + *

                                                          The status of the step execution.

                                                          */ - Devices: Device[] | undefined; + StepStatus?: StepStatus | string; /** - *

                                                          The tags associated with devices.

                                                          + *

                                                          If this pipeline execution step was cached, details on the cache hit.

                                                          */ - Tags?: Tag[]; -} + CacheHitResult?: CacheHitResult; -export namespace RegisterDevicesRequest { /** - * @internal + *

                                                          The reason why the step failed execution. This is only returned if the step failed its execution.

                                                          */ - export const filterSensitiveLog = (obj: RegisterDevicesRequest): any => ({ - ...obj, - }); -} + FailureReason?: string; -/** - *

                                                          Contains input values for a task.

                                                          - */ -export interface RenderableTask { /** - *

                                                          A JSON object that contains values for the variables defined in the template. It is - * made available to the template under the substitution variable task.input. - * For example, if you define a variable task.input.text in your template, you - * can supply the variable in the JSON object as "text": "sample text".

                                                          + *

                                                          Metadata for the step execution.

                                                          */ - Input: string | undefined; + Metadata?: PipelineExecutionStepMetadata; } -export namespace RenderableTask { +export namespace PipelineExecutionStep { /** * @internal */ - export const filterSensitiveLog = (obj: RenderableTask): any => ({ + export const filterSensitiveLog = (obj: PipelineExecutionStep): any => ({ ...obj, }); } -/** - *

                                                          A description of an error that occurred while rendering the template.

                                                          - */ -export interface RenderingError { +export interface ListPipelineExecutionStepsResponse { /** - *

                                                          A unique identifier for a specific class of errors.

                                                          + *

                                                          A list of PipeLineExecutionStep objects. Each + * PipeLineExecutionStep consists of StepName, StartTime, EndTime, StepStatus, + * and Metadata. Metadata is an object with properties for each job that contains relevant + * information about the job created by the step.

                                                          */ - Code: string | undefined; + PipelineExecutionSteps?: PipelineExecutionStep[]; /** - *

                                                          A human-readable message describing the error.

                                                          + *

                                                          If the result of the previous ListPipelineExecutionSteps request was truncated, + * the response includes a NextToken. To retrieve the next set of pipeline execution steps, use the token in the next request.

                                                          */ - Message: string | undefined; + NextToken?: string; } -export namespace RenderingError { +export namespace ListPipelineExecutionStepsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: RenderingError): any => ({ + export const filterSensitiveLog = (obj: ListPipelineExecutionStepsResponse): any => ({ ...obj, }); } -export interface RenderUiTemplateRequest { - /** - *

                                                          A Template object containing the worker UI template to render.

                                                          - */ - UiTemplate?: UiTemplate; - +export interface ListPipelineParametersForExecutionRequest { /** - *

                                                          A RenderableTask object containing a representative task to - * render.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          */ - Task: RenderableTask | undefined; + PipelineExecutionArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) that has access to the S3 objects that are used by the - * template.

                                                          + *

                                                          If the result of the previous ListPipelineParametersForExecution request was truncated, + * the response includes a NextToken. To retrieve the next set of parameters, use the token in the next request.

                                                          */ - RoleArn: string | undefined; + NextToken?: string; /** - *

                                                          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 maximum number of parameters to return in the response.

                                                          */ - HumanTaskUiArn?: string; + MaxResults?: number; } -export namespace RenderUiTemplateRequest { +export namespace ListPipelineParametersForExecutionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RenderUiTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: ListPipelineParametersForExecutionRequest): any => ({ ...obj, }); } -export interface RenderUiTemplateResponse { +/** + *

                                                          Assigns a value to a named Pipeline parameter.

                                                          + */ +export interface Parameter { /** - *

                                                          A Liquid template that renders the HTML for the worker UI.

                                                          + *

                                                          The name of the parameter to assign a value to. This parameter name must match a named parameter in the pipeline definition.

                                                          */ - RenderedContent: string | undefined; + Name: 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.

                                                          + *

                                                          The literal value for the parameter.

                                                          */ - Errors: RenderingError[] | undefined; + Value: string | undefined; } -export namespace RenderUiTemplateResponse { +export namespace Parameter { /** * @internal */ - export const filterSensitiveLog = (obj: RenderUiTemplateResponse): any => ({ + export const filterSensitiveLog = (obj: Parameter): any => ({ ...obj, }); } -export interface RetryPipelineExecutionRequest { - /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

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

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * operation. An idempotent operation completes no more than once.

                                                          - */ - ClientRequestToken?: string; -} - -export namespace RetryPipelineExecutionRequest { +export interface ListPipelineParametersForExecutionResponse { /** - * @internal + *

                                                          Contains a list of pipeline parameters. This list can be empty.

                                                          */ - export const filterSensitiveLog = (obj: RetryPipelineExecutionRequest): any => ({ - ...obj, - }); -} + PipelineParameters?: Parameter[]; -export interface RetryPipelineExecutionResponse { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + *

                                                          If the result of the previous ListPipelineParametersForExecution request was truncated, + * the response includes a NextToken. To retrieve the next set of parameters, use the token in the next request.

                                                          */ - PipelineExecutionArn?: string; + NextToken?: string; } -export namespace RetryPipelineExecutionResponse { +export namespace ListPipelineParametersForExecutionResponse { /** * @internal */ - export const filterSensitiveLog = (obj: RetryPipelineExecutionResponse): any => ({ + export const filterSensitiveLog = (obj: ListPipelineParametersForExecutionResponse): any => ({ ...obj, }); } -export enum SearchSortOrder { - ASCENDING = "Ascending", - DESCENDING = "Descending", +export enum SortPipelinesBy { + CREATION_TIME = "CreationTime", + NAME = "Name", } -/** - *

                                                          Contains information about a training job.

                                                          - */ -export interface TrainingJob { - /** - *

                                                          The name of the training job.

                                                          - */ - TrainingJobName?: string; - +export interface ListPipelinesRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the training job.

                                                          + *

                                                          The prefix of the pipeline name.

                                                          */ - TrainingJobArn?: string; + PipelineNamePrefix?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the - * training job was launched by a hyperparameter tuning job.

                                                          + *

                                                          A filter that returns the pipelines that were created after a specified + * time.

                                                          */ - TuningJobArn?: string; + CreatedAfter?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the labeling job.

                                                          + *

                                                          A filter that returns the pipelines that were created before a specified + * time.

                                                          */ - LabelingJobArn?: string; + CreatedBefore?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the job.

                                                          + *

                                                          The field by which to sort results. The default is CreatedTime.

                                                          */ - AutoMLJobArn?: string; + SortBy?: SortPipelinesBy | string; /** - *

                                                          Information about the Amazon S3 location that is configured for storing model - * artifacts.

                                                          + *

                                                          The sort order for results.

                                                          */ - ModelArtifacts?: ModelArtifacts; + SortOrder?: SortOrder | string; /** - *

                                                          The status of the - * training - * job.

                                                          - *

                                                          Training job statuses are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * 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.

                                                          + *

                                                          If the result of the previous ListPipelines request was truncated, + * the response includes a NextToken. To retrieve the next set of pipelines, use the token in the next request.

                                                          */ - TrainingJobStatus?: TrainingJobStatus | string; + NextToken?: string; /** - *

                                                          Provides detailed information about the state of the training job. For detailed - * information about the secondary status of the training job, see - * StatusMessage under SecondaryStatusTransition.

                                                          - *

                                                          Amazon SageMaker provides primary statuses and secondary statuses that apply to each of - * them:

                                                          - *
                                                          - *
                                                          InProgress
                                                          - *
                                                          - *
                                                            - *
                                                          • - *

                                                            - * Starting - * - Starting the training job.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Downloading - An optional stage for algorithms that - * support File training input mode. It indicates that - * data is being downloaded to the ML storage volumes.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Training - Training is in progress.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Uploading - Training is complete and the model - * artifacts are being uploaded to the S3 location.

                                                            - *
                                                          • - *
                                                          - *
                                                          - *
                                                          Completed
                                                          - *
                                                          - *
                                                            - *
                                                          • - *

                                                            - * Completed - The training job has completed.

                                                            - *
                                                          • - *
                                                          - *
                                                          - *
                                                          Failed
                                                          - *
                                                          - *
                                                            - *
                                                          • - *

                                                            - * Failed - The training job has failed. The reason for - * the failure is returned in the FailureReason field of - * DescribeTrainingJobResponse.

                                                            - *
                                                          • - *
                                                          - *
                                                          - *
                                                          Stopped
                                                          - *
                                                          - *
                                                            - *
                                                          • - *

                                                            - * MaxRuntimeExceeded - The job stopped because it - * exceeded the maximum allowed runtime.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * Stopped - The training job has stopped.

                                                            - *
                                                          • - *
                                                          - *
                                                          - *
                                                          Stopping
                                                          - *
                                                          - *
                                                            - *
                                                          • - *

                                                            - * Stopping - Stopping the training job.

                                                            - *
                                                          • - *
                                                          - *
                                                          - *
                                                          - * - *

                                                          Valid values for SecondaryStatus are subject to change.

                                                          - *
                                                          - *

                                                          We no longer support the following secondary statuses:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * LaunchingMLInstances - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * PreparingTrainingStack - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * DownloadingTrainingImage - *

                                                            - *
                                                          • - *
                                                          + *

                                                          The maximum number of pipelines to return in the response.

                                                          */ - SecondaryStatus?: SecondaryStatus | string; + MaxResults?: number; +} +export namespace ListPipelinesRequest { /** - *

                                                          If the training job failed, the reason it failed.

                                                          + * @internal */ - FailureReason?: string; + export const filterSensitiveLog = (obj: ListPipelinesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                          A summary of a pipeline.

                                                          + */ +export interface PipelineSummary { /** - *

                                                          Algorithm-specific parameters.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the pipeline.

                                                          */ - HyperParameters?: { [key: string]: string }; + PipelineArn?: string; /** - *

                                                          Information about the algorithm used for training, and algorithm metadata.

                                                          + *

                                                          The name of the pipeline.

                                                          */ - AlgorithmSpecification?: AlgorithmSpecification; + PipelineName?: string; /** - *

                                                          The Amazon Web Services Identity and Access Management (IAM) role configured for the training job.

                                                          + *

                                                          The display name of the pipeline.

                                                          */ - RoleArn?: string; + PipelineDisplayName?: string; /** - *

                                                          An array of Channel objects that describes each data input - * channel.

                                                          + *

                                                          The description of the pipeline.

                                                          */ - InputDataConfig?: Channel[]; + PipelineDescription?: string; /** - *

                                                          The S3 path where model artifacts that you configured when creating the job are - * stored. Amazon SageMaker creates subfolders for model artifacts.

                                                          + *

                                                          The Amazon Resource Name (ARN) that the pipeline used to execute.

                                                          */ - OutputDataConfig?: OutputDataConfig; + RoleArn?: string; /** - *

                                                          Resources, including ML compute instances and ML storage volumes, that are configured - * for model training.

                                                          + *

                                                          The creation time of the pipeline.

                                                          */ - ResourceConfig?: ResourceConfig; + CreationTime?: Date; /** - *

                                                          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.

                                                          + *

                                                          The time that the pipeline was last modified.

                                                          */ - VpcConfig?: VpcConfig; + LastModifiedTime?: Date; /** - *

                                                          Specifies a limit to how long a model training job can run. It also specifies how long - * a managed Spot training job has to complete. 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.

                                                          + *

                                                          The last time that a pipeline execution began.

                                                          */ - StoppingCondition?: StoppingCondition; + LastExecutionTime?: Date; +} +export namespace PipelineSummary { /** - *

                                                          A timestamp that indicates when the training job was created.

                                                          + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: PipelineSummary): any => ({ + ...obj, + }); +} +export interface ListPipelinesResponse { /** - *

                                                          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.

                                                          + *

                                                          Contains a sorted list of PipelineSummary objects matching the specified + * filters. Each PipelineSummary consists of PipelineArn, PipelineName, + * ExperimentName, PipelineDescription, CreationTime, LastModifiedTime, LastRunTime, and + * RoleArn. This list can be empty.

                                                          */ - TrainingStartTime?: Date; + PipelineSummaries?: PipelineSummary[]; /** - *

                                                          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.

                                                          + *

                                                          If the result of the previous ListPipelines request was truncated, + * the response includes a NextToken. To retrieve the next set of pipelines, use the token in the next request.

                                                          */ - TrainingEndTime?: Date; + NextToken?: string; +} +export namespace ListPipelinesResponse { /** - *

                                                          A timestamp that indicates when the status of the training job was last - * modified.

                                                          + * @internal */ - LastModifiedTime?: Date; + export const filterSensitiveLog = (obj: ListPipelinesResponse): any => ({ + ...obj, + }); +} +export interface ListProcessingJobsRequest { /** - *

                                                          A history of all of the secondary statuses that the training job has transitioned - * through.

                                                          + *

                                                          A filter that returns only processing jobs created after the specified time.

                                                          */ - SecondaryStatusTransitions?: SecondaryStatusTransition[]; + CreationTimeAfter?: Date; /** - *

                                                          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.

                                                          + *

                                                          A filter that returns only processing jobs created after the specified time.

                                                          */ - FinalMetricDataList?: MetricData[]; + CreationTimeBefore?: 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.

                                                          + *

                                                          A filter that returns only processing jobs modified after the specified time.

                                                          */ - EnableNetworkIsolation?: boolean; + LastModifiedTimeAfter?: Date; /** - *

                                                          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.

                                                          + *

                                                          A filter that returns only processing jobs modified before the specified time.

                                                          */ - EnableInterContainerTrafficEncryption?: boolean; + LastModifiedTimeBefore?: Date; /** - *

                                                          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 string in the processing job name. This filter returns only processing jobs whose + * name contains the specified string.

                                                          */ - EnableManagedSpotTraining?: boolean; + NameContains?: string; /** - *

                                                          Contains information about the output location for managed spot training checkpoint - * data.

                                                          + *

                                                          A filter that retrieves only processing jobs with a specific status.

                                                          */ - CheckpointConfig?: CheckpointConfig; + StatusEquals?: ProcessingJobStatus | string; /** - *

                                                          The training time in seconds.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - TrainingTimeInSeconds?: number; + SortBy?: SortBy | string; /** - *

                                                          The billable time in seconds.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ - BillableTimeInSeconds?: number; + SortOrder?: SortOrder | string; /** - *

                                                          Configuration information for the Debugger hook parameters, metric and tensor collections, and - * storage paths. To learn more about - * how to configure the DebugHookConfig parameter, - * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                          + *

                                                          If the result of the previous ListProcessingJobs request was truncated, + * the response includes a NextToken. To retrieve the next set of processing + * jobs, use the token in the next request.

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

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                          - * + *

                                                          The maximum number of processing jobs to return in the response.

                                                          */ - ExperimentConfig?: ExperimentConfig; + MaxResults?: number; +} +export namespace ListProcessingJobsRequest { /** - *

                                                          Information about the debug rule configuration.

                                                          + * @internal */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; + export const filterSensitiveLog = (obj: ListProcessingJobsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                          Summary of information about a processing job.

                                                          + */ +export interface ProcessingJobSummary { /** - *

                                                          Configuration of storage locations for the Debugger TensorBoard output data.

                                                          + *

                                                          The name of the processing job.

                                                          */ - TensorBoardOutputConfig?: TensorBoardOutputConfig; + ProcessingJobName: string | undefined; /** - *

                                                          Information about the evaluation status of the rules for the training job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the processing job..

                                                          */ - DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; + ProcessingJobArn: string | undefined; /** - *

                                                          The environment variables to set in the Docker container.

                                                          + *

                                                          The time at which the processing job was created.

                                                          */ - Environment?: { [key: string]: string }; + CreationTime: Date | undefined; /** - *

                                                          The number of times to retry the job when the job fails due to an - * InternalServerError.

                                                          + *

                                                          The time at which the processing job completed.

                                                          */ - RetryStrategy?: RetryStrategy; + ProcessingEndTime?: Date; /** - *

                                                          An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                          + *

                                                          A timestamp that indicates the last time the processing job was modified.

                                                          */ - Tags?: Tag[]; -} + LastModifiedTime?: Date; -export namespace TrainingJob { /** - * @internal + *

                                                          The status of the processing job.

                                                          */ - export const filterSensitiveLog = (obj: TrainingJob): any => ({ - ...obj, - }); -} + ProcessingJobStatus: ProcessingJobStatus | string | undefined; -/** - *

                                                          A short summary of a trial component.

                                                          - */ -export interface TrialComponentSimpleSummary { /** - *

                                                          The name of the trial component.

                                                          + *

                                                          A string, up to one KB in size, that contains the reason a processing job failed, if + * it failed.

                                                          */ - TrialComponentName?: string; + FailureReason?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the trial component.

                                                          + *

                                                          An optional string, up to one KB in size, that contains metadata from the processing + * container when the processing job exits.

                                                          */ - TrialComponentArn?: string; + ExitMessage?: string; +} +export namespace ProcessingJobSummary { /** - *

                                                          The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                                          + * @internal */ - TrialComponentSource?: TrialComponentSource; + export const filterSensitiveLog = (obj: ProcessingJobSummary): any => ({ + ...obj, + }); +} +export interface ListProcessingJobsResponse { /** - *

                                                          When the component was created.

                                                          + *

                                                          An array of ProcessingJobSummary objects, each listing a processing + * job.

                                                          */ - CreationTime?: Date; + ProcessingJobSummaries: ProcessingJobSummary[] | undefined; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * processing jobs, use it in the subsequent request.

                                                          */ - CreatedBy?: UserContext; + NextToken?: string; } -export namespace TrialComponentSimpleSummary { +export namespace ListProcessingJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentSimpleSummary): any => ({ + export const filterSensitiveLog = (obj: ListProcessingJobsResponse): any => ({ ...obj, }); } -/** - *

                                                          The properties of a trial as returned by the Search API.

                                                          - */ -export interface Trial { +export enum ProjectSortBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export enum ProjectSortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} + +export interface ListProjectsInput { /** - *

                                                          The name of the trial.

                                                          + *

                                                          A filter that returns the projects that were created after a specified + * time.

                                                          */ - TrialName?: string; + CreationTimeAfter?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          + *

                                                          A filter that returns the projects that were created before a specified + * time.

                                                          */ - TrialArn?: string; + CreationTimeBefore?: Date; /** - *

                                                          The name of the trial as displayed. If DisplayName isn't specified, - * TrialName is displayed.

                                                          + *

                                                          The maximum number of projects to return in the response.

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

                                                          The name of the experiment the trial is part of.

                                                          + *

                                                          A filter that returns the projects whose name contains a specified + * string.

                                                          + */ + NameContains?: string; + + /** + *

                                                          If the result of the previous ListProjects request was truncated, + * the response includes a NextToken. To retrieve the next set of projects, use the token in the next request.

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

                                                          The field by which to sort results. The default is CreationTime.

                                                          */ - ExperimentName?: string; + SortBy?: ProjectSortBy | string; /** - *

                                                          The source of the trial.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ - Source?: TrialSource; + SortOrder?: ProjectSortOrder | string; +} +export namespace ListProjectsInput { /** - *

                                                          When the trial was created.

                                                          + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: ListProjectsInput): any => ({ + ...obj, + }); +} +/** + *

                                                          Information about a project.

                                                          + */ +export interface ProjectSummary { /** - *

                                                          Who created the trial.

                                                          + *

                                                          The name of the project.

                                                          */ - CreatedBy?: UserContext; + ProjectName: string | undefined; /** - *

                                                          Who last modified the trial.

                                                          + *

                                                          The description of the project.

                                                          */ - LastModifiedTime?: Date; + ProjectDescription?: string; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the project.

                                                          */ - LastModifiedBy?: UserContext; + ProjectArn: string | undefined; /** - *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + *

                                                          The ID of the project.

                                                          */ - MetadataProperties?: MetadataProperties; + ProjectId: string | undefined; /** - *

                                                          The list of tags that are associated with the trial. You can use Search - * API to search on the tags.

                                                          + *

                                                          The time that the project was created.

                                                          */ - Tags?: Tag[]; + CreationTime: Date | undefined; /** - *

                                                          A list of the components associated with the trial. For each component, a summary of the - * component's properties is included.

                                                          + *

                                                          The status of the project.

                                                          */ - TrialComponentSummaries?: TrialComponentSimpleSummary[]; + ProjectStatus: ProjectStatus | string | undefined; } -export namespace Trial { +export namespace ProjectSummary { /** * @internal */ - export const filterSensitiveLog = (obj: Trial): any => ({ + export const filterSensitiveLog = (obj: ProjectSummary): any => ({ ...obj, }); } -/** - *

                                                          A batch transform job. For information about SageMaker batch transform, see Use Batch - * Transform.

                                                          - */ -export interface TransformJob { +export interface ListProjectsOutput { /** - *

                                                          The name of the transform job.

                                                          + *

                                                          A list of summaries of projects.

                                                          */ - TransformJobName?: string; + ProjectSummaryList: ProjectSummary[] | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the transform job.

                                                          + *

                                                          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.

                                                          */ - TransformJobArn?: string; + NextToken?: string; +} +export namespace ListProjectsOutput { /** - *

                                                          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.

                                                            - *
                                                          • - *
                                                          + * @internal */ - TransformJobStatus?: TransformJobStatus | string; + export const filterSensitiveLog = (obj: ListProjectsOutput): any => ({ + ...obj, + }); +} + +export enum StudioLifecycleConfigSortKey { + CreationTime = "CreationTime", + LastModifiedTime = "LastModifiedTime", + Name = "Name", +} +export interface ListStudioLifecycleConfigsRequest { /** - *

                                                          If the transform job failed, the reason it failed.

                                                          + *

                                                          The maximum number of Studio Lifecycle Configurations to return in the response. The default value is 10.

                                                          */ - FailureReason?: string; + MaxResults?: number; /** - *

                                                          The name of the model associated with the transform job.

                                                          + *

                                                          If the previous call to ListStudioLifecycleConfigs didn't return the full set of Lifecycle Configurations, the call returns a token for getting the next set of Lifecycle Configurations.

                                                          */ - ModelName?: string; + NextToken?: 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.

                                                          + *

                                                          A string in the Lifecycle Configuration name. This filter returns only Lifecycle Configurations whose name contains the specified string.

                                                          */ - MaxConcurrentTransforms?: number; + NameContains?: string; /** - *

                                                          Configures the timeout and maximum number of retries for processing a transform job - * invocation.

                                                          + *

                                                          A parameter to search for the App Type to which the Lifecycle Configuration is attached.

                                                          */ - ModelClientConfig?: ModelClientConfig; + AppTypeEquals?: StudioLifecycleConfigAppType | 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.

                                                          + *

                                                          A filter that returns only Lifecycle Configurations created on or before the specified time.

                                                          */ - MaxPayloadInMB?: number; + CreationTimeBefore?: Date; /** - *

                                                          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.

                                                          + *

                                                          A filter that returns only Lifecycle Configurations created on or after the specified time.

                                                          */ - BatchStrategy?: BatchStrategy | string; + CreationTimeAfter?: Date; /** - *

                                                          The environment variables to set in the Docker container. We support up to 16 key and - * values entries in the map.

                                                          + *

                                                          A filter that returns only Lifecycle Configurations modified before the specified time.

                                                          */ - Environment?: { [key: string]: string }; + ModifiedTimeBefore?: Date; /** - *

                                                          Describes the input source of a transform job and the way the transform job consumes - * it.

                                                          + *

                                                          A filter that returns only Lifecycle Configurations modified after the specified time.

                                                          */ - TransformInput?: TransformInput; + ModifiedTimeAfter?: Date; /** - *

                                                          Describes the results of a transform job.

                                                          + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          */ - TransformOutput?: TransformOutput; + SortBy?: StudioLifecycleConfigSortKey | string; /** - *

                                                          Describes the resources, including ML instance types and ML instance count, to use for - * transform job.

                                                          + *

                                                          The sort order. The default value is Descending.

                                                          */ - TransformResources?: TransformResources; + SortOrder?: SortOrder | string; +} +export namespace ListStudioLifecycleConfigsRequest { /** - *

                                                          A timestamp that shows when the transform Job was created.

                                                          + * @internal */ - CreationTime?: Date; + export const filterSensitiveLog = (obj: ListStudioLifecycleConfigsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          Details of the Studio Lifecycle Configuration.

                                                          + */ +export interface StudioLifecycleConfigDetails { + /** + *

                                                          The Amazon Resource Name (ARN) of the Lifecycle Configuration.

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

                                                          Indicates when the transform job starts on ML instances. You are billed for the time - * interval between this time and the value of TransformEndTime.

                                                          + *

                                                          The name of the Studio Lifecycle Configuration.

                                                          */ - TransformStartTime?: Date; + StudioLifecycleConfigName?: 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.

                                                          + *

                                                          The creation time of the Studio Lifecycle Configuration.

                                                          */ - TransformEndTime?: Date; + CreationTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the labeling job that created the transform job.

                                                          + *

                                                          This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

                                                          */ - LabelingJobArn?: string; + LastModifiedTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the AutoML job that created the transform job.

                                                          + *

                                                          The App type to which the Lifecycle Configuration is attached.

                                                          */ - AutoMLJobArn?: string; + StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; +} +export namespace StudioLifecycleConfigDetails { /** - *

                                                          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.

                                                          + * @internal */ - DataProcessing?: DataProcessing; + export const filterSensitiveLog = (obj: StudioLifecycleConfigDetails): any => ({ + ...obj, + }); +} +export interface ListStudioLifecycleConfigsResponse { /** - *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                                          - * + *

                                                          A token for getting the next set of actions, if there are any.

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

                                                          A list of tags associated with the transform job.

                                                          + *

                                                          A list of Lifecycle Configurations and their properties.

                                                          */ - Tags?: Tag[]; + StudioLifecycleConfigs?: StudioLifecycleConfigDetails[]; } -export namespace TransformJob { +export namespace ListStudioLifecycleConfigsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: TransformJob): any => ({ + export const filterSensitiveLog = (obj: ListStudioLifecycleConfigsResponse): any => ({ ...obj, }); } -/** - *

                                                          Detailed information about the source of a trial component. Either - * ProcessingJob or TrainingJob is returned.

                                                          - */ -export interface TrialComponentSourceDetail { - /** - *

                                                          The Amazon Resource Name (ARN) of the source.

                                                          - */ - SourceArn?: string; - +export interface ListSubscribedWorkteamsRequest { /** - *

                                                          Information about a training job that's the source of a trial component.

                                                          + *

                                                          A string in the work team name. This filter returns only work teams whose name + * contains the specified string.

                                                          */ - TrainingJob?: TrainingJob; + NameContains?: string; /** - *

                                                          Information about a processing job that's the source of a trial component.

                                                          + *

                                                          If the result of the previous ListSubscribedWorkteams request was + * truncated, the response includes a NextToken. To retrieve the next set of + * labeling jobs, use the token in the next request.

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

                                                          Information about a transform job that's the source of a trial component.

                                                          + *

                                                          The maximum number of work teams to return in each page of the response.

                                                          */ - TransformJob?: TransformJob; + MaxResults?: number; } -export namespace TrialComponentSourceDetail { +export namespace ListSubscribedWorkteamsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponentSourceDetail): any => ({ + export const filterSensitiveLog = (obj: ListSubscribedWorkteamsRequest): any => ({ ...obj, }); } -/** - *

                                                          The properties of a trial component as returned by the Search - * API.

                                                          - */ -export interface TrialComponent { +export interface ListSubscribedWorkteamsResponse { /** - *

                                                          The name of the trial component.

                                                          + *

                                                          An array of Workteam objects, each describing a work team.

                                                          */ - TrialComponentName?: string; + SubscribedWorkteams: SubscribedWorkteam[] | undefined; /** - *

                                                          The name of the component as displayed. If DisplayName isn't specified, - * TrialComponentName is displayed.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * work teams, use it in the subsequent request.

                                                          */ - DisplayName?: string; + NextToken?: string; +} +export namespace ListSubscribedWorkteamsResponse { /** - *

                                                          The Amazon Resource Name (ARN) of the trial component.

                                                          + * @internal */ - TrialComponentArn?: string; + export const filterSensitiveLog = (obj: ListSubscribedWorkteamsResponse): any => ({ + ...obj, + }); +} +export interface ListTagsInput { /** - *

                                                          The Amazon Resource Name (ARN) and job type of the source of the component.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource whose tags you want to + * retrieve.

                                                          */ - Source?: TrialComponentSource; + ResourceArn: string | undefined; /** - *

                                                          The status of the trial component.

                                                          + *

                                                          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. + *

                                                          */ - Status?: TrialComponentStatus; + NextToken?: string; /** - *

                                                          When the component started.

                                                          + *

                                                          Maximum number of tags to return.

                                                          */ - StartTime?: Date; + MaxResults?: number; +} +export namespace ListTagsInput { /** - *

                                                          When the component ended.

                                                          + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsInput): any => ({ + ...obj, + }); +} + +export interface ListTagsOutput { + /** + *

                                                          An array of Tag objects, each with a tag key and a value.

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

                                                          When the component was created.

                                                          + *

                                                          If response is truncated, Amazon SageMaker includes a token in the response. You can use this + * token in your subsequent request to fetch next set of tokens.

                                                          */ - CreationTime?: Date; + NextToken?: string; +} +export namespace ListTagsOutput { /** - *

                                                          Who created the trial component.

                                                          + * @internal */ - CreatedBy?: UserContext; + export const filterSensitiveLog = (obj: ListTagsOutput): any => ({ + ...obj, + }); +} +export interface ListTrainingJobsRequest { /** - *

                                                          When the component was last modified.

                                                          + *

                                                          If the result of the previous ListTrainingJobs request was truncated, + * the response includes a NextToken. To retrieve the next set of training + * jobs, use the token in the next request.

                                                          */ - LastModifiedTime?: Date; + NextToken?: string; /** - *

                                                          Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                          + *

                                                          The maximum number of training jobs to return in the response.

                                                          */ - LastModifiedBy?: UserContext; + MaxResults?: number; /** - *

                                                          The hyperparameters of the component.

                                                          + *

                                                          A filter that returns only training jobs created after the specified time + * (timestamp).

                                                          */ - Parameters?: { [key: string]: TrialComponentParameterValue }; + CreationTimeAfter?: Date; /** - *

                                                          The input artifacts of the component.

                                                          + *

                                                          A filter that returns only training jobs created before the specified time + * (timestamp).

                                                          */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + CreationTimeBefore?: Date; /** - *

                                                          The output artifacts of the component.

                                                          + *

                                                          A filter that returns only training jobs modified after the specified time + * (timestamp).

                                                          */ - OutputArtifacts?: { [key: string]: TrialComponentArtifact }; + LastModifiedTimeAfter?: Date; /** - *

                                                          The metrics for the component.

                                                          + *

                                                          A filter that returns only training jobs modified before the specified time + * (timestamp).

                                                          */ - Metrics?: TrialComponentMetricSummary[]; + LastModifiedTimeBefore?: Date; /** - *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + *

                                                          A string in the training job name. This filter returns only training jobs whose + * name contains the specified string.

                                                          */ - MetadataProperties?: MetadataProperties; + NameContains?: string; /** - *

                                                          Details of the source of the component.

                                                          + *

                                                          A filter that retrieves only training jobs with a specific status.

                                                          */ - SourceDetail?: TrialComponentSourceDetail; + StatusEquals?: TrainingJobStatus | string; /** - *

                                                          The list of tags that are associated with the component. You can use Search API to search on the tags.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

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

                                                          An array of the parents of the component. A parent is a trial the component is associated - * with and the experiment the trial is part of. A component might not have any parents.

                                                          + *

                                                          The sort order for results. The default is Ascending.

                                                          */ - Parents?: Parent[]; + SortOrder?: SortOrder | string; } -export namespace TrialComponent { +export namespace ListTrainingJobsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrialComponent): any => ({ + export const filterSensitiveLog = (obj: ListTrainingJobsRequest): any => ({ ...obj, - ...(obj.Parameters && { - Parameters: Object.entries(obj.Parameters).reduce( - (acc: any, [key, value]: [string, TrialComponentParameterValue]) => ({ - ...acc, - [key]: TrialComponentParameterValue.filterSensitiveLog(value), - }), - {} - ), - }), }); } /** - *

                                                          A single resource returned as part of the Search API response.

                                                          + *

                                                          Provides summary information about a training job.

                                                          */ -export interface SearchRecord { - /** - *

                                                          The properties of a training job.

                                                          - */ - TrainingJob?: TrainingJob; - - /** - *

                                                          The properties of an experiment.

                                                          - */ - Experiment?: Experiment; - +export interface TrainingJobSummary { /** - *

                                                          The properties of a trial.

                                                          + *

                                                          The name of the training job that you want a summary for.

                                                          */ - Trial?: Trial; + TrainingJobName: string | undefined; /** - *

                                                          The properties of a trial component.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the training job.

                                                          */ - TrialComponent?: TrialComponent; + TrainingJobArn: string | undefined; /** - *

                                                          A hosted endpoint for real-time inference.

                                                          + *

                                                          A timestamp that shows when the training job was created.

                                                          */ - Endpoint?: Endpoint; + CreationTime: Date | undefined; /** - *

                                                          A versioned model that can be deployed for SageMaker inference.

                                                          + *

                                                          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).

                                                          */ - ModelPackage?: ModelPackage; + TrainingEndTime?: Date; /** - *

                                                          A group of versioned models in the model registry.

                                                          + *

                                                          Timestamp when the training job was last modified.

                                                          */ - ModelPackageGroup?: ModelPackageGroup; + LastModifiedTime?: Date; /** - *

                                                          A SageMaker Model Building Pipeline instance.

                                                          + *

                                                          The status of the training job.

                                                          */ - Pipeline?: Pipeline; + TrainingJobStatus: TrainingJobStatus | string | undefined; +} +export namespace TrainingJobSummary { /** - *

                                                          An execution of a pipeline.

                                                          + * @internal */ - PipelineExecution?: PipelineExecution; + export const filterSensitiveLog = (obj: TrainingJobSummary): any => ({ + ...obj, + }); +} +export interface ListTrainingJobsResponse { /** - *

                                                          Amazon SageMaker Feature Store stores features in a collection called Feature Group. - * A Feature Group can be visualized as a table which has rows, - * with a unique identifier for each row where each column in the table is a feature. - * In principle, a Feature Group is composed of features and values per features.

                                                          + *

                                                          An array of TrainingJobSummary objects, each listing a training + * job.

                                                          */ - FeatureGroup?: FeatureGroup; + TrainingJobSummaries: TrainingJobSummary[] | undefined; /** - *

                                                          The properties of a project.

                                                          + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * training jobs, use it in the subsequent request.

                                                          */ - Project?: Project; + NextToken?: string; } -export namespace SearchRecord { +export namespace ListTrainingJobsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: SearchRecord): any => ({ + export const filterSensitiveLog = (obj: ListTrainingJobsResponse): any => ({ ...obj, - ...(obj.TrialComponent && { TrialComponent: TrialComponent.filterSensitiveLog(obj.TrialComponent) }), }); } -export interface SearchResponse { +export enum TrainingJobSortByOptions { + CreationTime = "CreationTime", + FinalObjectiveMetricValue = "FinalObjectiveMetricValue", + Name = "Name", + Status = "Status", +} + +export interface ListTrainingJobsForHyperParameterTuningJobRequest { /** - *

                                                          A list of SearchRecord objects.

                                                          + *

                                                          The name of the tuning job whose training jobs you want to list.

                                                          */ - Results?: SearchRecord[]; + HyperParameterTuningJobName: string | undefined; /** - *

                                                          If the result of the previous Search request was truncated, the response - * includes a NextToken. To retrieve the next set of results, use the token in the next - * request.

                                                          + *

                                                          If the result of the previous 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 SearchResponse { /** - * @internal + *

                                                          The maximum number of training jobs to return. The default value is 10.

                                                          */ - export const filterSensitiveLog = (obj: SearchResponse): any => ({ - ...obj, - ...(obj.Results && { Results: obj.Results.map((item) => SearchRecord.filterSensitiveLog(item)) }), - }); -} + MaxResults?: number; -export interface SendPipelineExecutionStepFailureRequest { /** - *

                                                          The pipeline generated token from the Amazon SQS queue.

                                                          + *

                                                          A filter that returns only training jobs with the + * specified + * status.

                                                          */ - CallbackToken: string | undefined; + StatusEquals?: TrainingJobStatus | string; /** - *

                                                          A message describing why the step failed.

                                                          + *

                                                          The field to sort + * results + * by. The default is Name.

                                                          + *

                                                          If the value of this field is FinalObjectiveMetricValue, any training + * jobs that did not return an objective metric are not listed.

                                                          */ - FailureReason?: string; + SortBy?: TrainingJobSortByOptions | 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.

                                                          + *

                                                          The sort order + * for + * results. The default is Ascending.

                                                          */ - ClientRequestToken?: string; + SortOrder?: SortOrder | string; } -export namespace SendPipelineExecutionStepFailureRequest { +export namespace ListTrainingJobsForHyperParameterTuningJobRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SendPipelineExecutionStepFailureRequest): any => ({ + export const filterSensitiveLog = (obj: ListTrainingJobsForHyperParameterTuningJobRequest): any => ({ ...obj, }); } -export interface SendPipelineExecutionStepFailureResponse { +export interface ListTrainingJobsForHyperParameterTuningJobResponse { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + *

                                                          A list of TrainingJobSummary objects that + * describe + * the training jobs that the + * ListTrainingJobsForHyperParameterTuningJob request returned.

                                                          */ - PipelineExecutionArn?: string; + 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 SendPipelineExecutionStepFailureResponse { +export namespace ListTrainingJobsForHyperParameterTuningJobResponse { /** * @internal */ - export const filterSensitiveLog = (obj: SendPipelineExecutionStepFailureResponse): any => ({ + export const filterSensitiveLog = (obj: ListTrainingJobsForHyperParameterTuningJobResponse): any => ({ ...obj, }); } -export interface SendPipelineExecutionStepSuccessRequest { +export interface ListTransformJobsRequest { /** - *

                                                          The pipeline generated token from the Amazon SQS queue.

                                                          + *

                                                          A filter that returns only transform jobs created after the specified time.

                                                          */ - CallbackToken: string | undefined; + CreationTimeAfter?: Date; /** - *

                                                          A list of the output parameters of the callback step.

                                                          + *

                                                          A filter that returns only transform jobs created before the specified time.

                                                          */ - OutputParameters?: OutputParameter[]; + CreationTimeBefore?: Date; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * operation. An idempotent operation completes no more than one time.

                                                          + *

                                                          A filter that returns only transform jobs modified after the specified time.

                                                          */ - ClientRequestToken?: string; -} + LastModifiedTimeAfter?: Date; -export namespace SendPipelineExecutionStepSuccessRequest { /** - * @internal + *

                                                          A filter that returns only transform jobs modified before the specified time.

                                                          */ - export const filterSensitiveLog = (obj: SendPipelineExecutionStepSuccessRequest): any => ({ - ...obj, - }); -} + LastModifiedTimeBefore?: Date; -export interface SendPipelineExecutionStepSuccessResponse { /** - *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + *

                                                          A string in the transform job name. This filter returns only transform jobs whose name + * contains the specified string.

                                                          */ - PipelineExecutionArn?: string; -} + NameContains?: string; -export namespace SendPipelineExecutionStepSuccessResponse { /** - * @internal + *

                                                          A filter that retrieves only transform jobs with a specific status.

                                                          */ - export const filterSensitiveLog = (obj: SendPipelineExecutionStepSuccessResponse): any => ({ - ...obj, - }); -} + StatusEquals?: TransformJobStatus | string; -export interface StartMonitoringScheduleRequest { /** - *

                                                          The name of the schedule to start.

                                                          + *

                                                          The field to sort results by. The default is CreationTime.

                                                          */ - MonitoringScheduleName: string | undefined; -} + SortBy?: SortBy | string; -export namespace StartMonitoringScheduleRequest { /** - * @internal + *

                                                          The sort order for results. The default is Descending.

                                                          */ - export const filterSensitiveLog = (obj: StartMonitoringScheduleRequest): any => ({ - ...obj, - }); -} + 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.

                                                          + */ + NextToken?: string; -export interface StartNotebookInstanceInput { /** - *

                                                          The name of the notebook instance to start.

                                                          + *

                                                          The maximum number of transform jobs to return in the response. The default value is 10.

                                                          */ - NotebookInstanceName: string | undefined; + MaxResults?: number; } -export namespace StartNotebookInstanceInput { +export namespace ListTransformJobsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: StartNotebookInstanceInput): any => ({ + export const filterSensitiveLog = (obj: ListTransformJobsRequest): any => ({ ...obj, }); } -export interface StartPipelineExecutionRequest { +/** + *

                                                          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 { /** - *

                                                          The name of the pipeline.

                                                          + *

                                                          The name of the transform job.

                                                          */ - PipelineName: string | undefined; + TransformJobName: string | undefined; /** - *

                                                          The display name of the pipeline execution.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the transform job.

                                                          */ - PipelineExecutionDisplayName?: string; + TransformJobArn: string | undefined; /** - *

                                                          Contains a list of pipeline parameters. This list can be empty.

                                                          + *

                                                          A timestamp that shows when the transform Job was created.

                                                          */ - PipelineParameters?: Parameter[]; + CreationTime: Date | undefined; /** - *

                                                          The description of the pipeline execution.

                                                          + *

                                                          Indicates when the transform + * job + * ends on compute instances. For successful jobs and stopped jobs, this + * is the exact time + * recorded + * after the results are uploaded. For failed jobs, this is when Amazon SageMaker + * detected that the job failed.

                                                          */ - PipelineExecutionDescription?: string; + TransformEndTime?: Date; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * operation. An idempotent operation completes no more than once.

                                                          + *

                                                          Indicates when the transform job was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          The status of the transform job.

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

                                                          If the transform job failed, + * the + * reason it failed.

                                                          */ - ClientRequestToken?: string; + FailureReason?: string; } -export namespace StartPipelineExecutionRequest { +export namespace TransformJobSummary { /** * @internal */ - export const filterSensitiveLog = (obj: StartPipelineExecutionRequest): any => ({ + export const filterSensitiveLog = (obj: TransformJobSummary): any => ({ ...obj, }); } diff --git a/clients/client-sagemaker/src/models/models_3.ts b/clients/client-sagemaker/src/models/models_3.ts index 29d90ee4f1bd..f6d70fa66e59 100644 --- a/clients/client-sagemaker/src/models/models_3.ts +++ b/clients/client-sagemaker/src/models/models_3.ts @@ -1,25 +1,64 @@ import { ActionStatus, + AdditionalInferenceSpecificationDefinition, + AlgorithmSpecification, + AppSpecification, + BatchStrategy, BooleanOperator, + Channel, + CheckpointConfig, DeploymentConfig, EdgeOutputConfig, + InferenceSpecification, KernelGatewayImageConfig, + MetadataProperties, ModelApprovalStatus, + ModelPackageStatus, + OutputDataConfig, + OutputParameter, + ResourceConfig, + RetryStrategy, + StoppingCondition, Tag, + TransformInput, + TransformOutput, + TransformResources, + UiTemplate, + UserContext, UserSettings, + VpcConfig, } from "./models_0"; import { _InstanceType, + DataProcessing, + DebugHookConfig, + DebugRuleConfiguration, + DebugRuleEvaluationStatus, + DriftCheckBaselines, + ExperimentConfig, MemberDefinition, + ModelArtifacts, + ModelClientConfig, + ModelMetrics, + ModelPackageValidationSpecification, MonitoringScheduleConfig, + NetworkConfig, NotebookInstanceAcceleratorType, NotebookInstanceLifecycleHook, NotificationConfiguration, OidcConfig, + ProcessingInput, + ProcessingOutputConfig, + ProcessingResources, + ProcessingStoppingCondition, ProfilerRuleConfiguration, ProvisioningParameter, RootAccess, + ServiceCatalogProvisioningDetails, + SourceAlgorithmSpecification, SourceIpConfig, + TensorBoardOutputConfig, + TrainingJobStatus, TrialComponentArtifact, TrialComponentParameterValue, TrialComponentStatus, @@ -27,17 +66,2847 @@ import { import { DesiredWeightAndCapacity, Device, + Direction, DomainSettingsForUpdate, + Edge, + Endpoint, + Experiment, + FeatureGroup, Filter, GitConfigForUpdate, - NestedFilters, - ProfilerConfigForUpdate, + LineageType, + MetricData, + ModelPackageGroupStatus, + ModelPackageStatusDetails, + Parameter, + PipelineExecutionStatus, + PipelineExperimentConfig, + PipelineStatus, + ProcessingJobStatus, + ProjectStatus, ResourceType, - SearchSortOrder, + SecondaryStatus, + SecondaryStatusTransition, + ServiceCatalogProvisionedProductDetails, + SortOrder, + TransformJobStatus, + TransformJobSummary, + TrialComponentMetricSummary, + TrialComponentSource, + TrialSource, + UserProfileStatus, Workforce, Workteam, } from "./models_2"; +export interface ListTransformJobsResponse { + /** + *

                                                          An array of + * TransformJobSummary + * objects.

                                                          + */ + TransformJobSummaries: TransformJobSummary[] | undefined; + + /** + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * transform jobs, use it in the next request.

                                                          + */ + NextToken?: string; +} + +export namespace ListTransformJobsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTransformJobsResponse): any => ({ + ...obj, + }); +} + +export enum SortTrialComponentsBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export interface ListTrialComponentsRequest { + /** + *

                                                          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.

                                                          + */ + ExperimentName?: string; + + /** + *

                                                          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.

                                                          + */ + TrialName?: string; + + /** + *

                                                          A filter that returns only components that have the specified source Amazon Resource Name + * (ARN). If you specify SourceArn, you can't filter by ExperimentName + * or TrialName.

                                                          + */ + SourceArn?: string; + + /** + *

                                                          A filter that returns only components created after the specified time.

                                                          + */ + CreatedAfter?: Date; + + /** + *

                                                          A filter that returns only components created before the specified time.

                                                          + */ + CreatedBefore?: Date; + + /** + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + */ + SortBy?: SortTrialComponentsBy | string; + + /** + *

                                                          The sort order. The default value is Descending.

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

                                                          The maximum number of components to return in the response. The default value is + * 10.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          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; +} + +export namespace ListTrialComponentsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTrialComponentsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          A summary of the properties of a trial component. To get all the properties, call the + * DescribeTrialComponent API and provide the + * TrialComponentName.

                                                          + */ +export interface TrialComponentSummary { + /** + *

                                                          The name of the trial component.

                                                          + */ + TrialComponentName?: string; + + /** + *

                                                          The ARN of the trial component.

                                                          + */ + TrialComponentArn?: string; + + /** + *

                                                          The name of the component as displayed. If DisplayName isn't specified, + * TrialComponentName is displayed.

                                                          + */ + DisplayName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                                          + */ + TrialComponentSource?: TrialComponentSource; + + /** + *

                                                          The status of the component. States include:

                                                          + *
                                                            + *
                                                          • + *

                                                            InProgress

                                                            + *
                                                          • + *
                                                          • + *

                                                            Completed

                                                            + *
                                                          • + *
                                                          • + *

                                                            Failed

                                                            + *
                                                          • + *
                                                          + */ + Status?: TrialComponentStatus; + + /** + *

                                                          When the component started.

                                                          + */ + StartTime?: Date; + + /** + *

                                                          When the component ended.

                                                          + */ + EndTime?: Date; + + /** + *

                                                          When the component was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Who created the trial component.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          When the component was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          Who last modified the component.

                                                          + */ + LastModifiedBy?: UserContext; +} + +export namespace TrialComponentSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrialComponentSummary): any => ({ + ...obj, + }); +} + +export interface ListTrialComponentsResponse { + /** + *

                                                          A list of the summaries of your trial components.

                                                          + */ + TrialComponentSummaries?: TrialComponentSummary[]; + + /** + *

                                                          A token for getting the next set of components, if there are any.

                                                          + */ + NextToken?: string; +} + +export namespace ListTrialComponentsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTrialComponentsResponse): any => ({ + ...obj, + }); +} + +export enum SortTrialsBy { + CREATION_TIME = "CreationTime", + NAME = "Name", +} + +export interface ListTrialsRequest { + /** + *

                                                          A filter that returns only trials that are part of the specified experiment.

                                                          + */ + ExperimentName?: string; + + /** + *

                                                          A filter that returns only trials that are associated with the specified trial + * component.

                                                          + */ + TrialComponentName?: string; + + /** + *

                                                          A filter that returns only trials created after the specified time.

                                                          + */ + CreatedAfter?: Date; + + /** + *

                                                          A filter that returns only trials created before the specified time.

                                                          + */ + CreatedBefore?: Date; + + /** + *

                                                          The property used to sort results. The default value is CreationTime.

                                                          + */ + SortBy?: SortTrialsBy | string; + + /** + *

                                                          The sort order. The default value is Descending.

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

                                                          The maximum number of trials to return in the response. The default value is 10.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          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.

                                                          + */ + NextToken?: string; +} + +export namespace ListTrialsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTrialsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          A summary of the properties of a trial. To get the complete set of properties, call the + * DescribeTrial API and provide the TrialName.

                                                          + */ +export interface TrialSummary { + /** + *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          + */ + TrialArn?: string; + + /** + *

                                                          The name of the trial.

                                                          + */ + TrialName?: string; + + /** + *

                                                          The name of the trial as displayed. If DisplayName isn't specified, + * TrialName is displayed.

                                                          + */ + DisplayName?: string; + + /** + *

                                                          The source of the trial.

                                                          + */ + TrialSource?: TrialSource; + + /** + *

                                                          When the trial was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          When the trial was last modified.

                                                          + */ + LastModifiedTime?: Date; +} + +export namespace TrialSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrialSummary): any => ({ + ...obj, + }); +} + +export interface ListTrialsResponse { + /** + *

                                                          A list of the summaries of your trials.

                                                          + */ + TrialSummaries?: TrialSummary[]; + + /** + *

                                                          A token for getting the next set of trials, if there are any.

                                                          + */ + NextToken?: string; +} + +export namespace ListTrialsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTrialsResponse): any => ({ + ...obj, + }); +} + +export enum UserProfileSortKey { + CreationTime = "CreationTime", + LastModifiedTime = "LastModifiedTime", +} + +export interface ListUserProfilesRequest { + /** + *

                                                          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; + + /** + *

                                                          The sort order for the results. The default is Ascending.

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

                                                          The parameter by which to sort the results. The default is CreationTime.

                                                          + */ + SortBy?: UserProfileSortKey | string; + + /** + *

                                                          A parameter by which to filter the results.

                                                          + */ + DomainIdEquals?: string; + + /** + *

                                                          A parameter by which to filter the results.

                                                          + */ + UserProfileNameContains?: string; +} + +export namespace ListUserProfilesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListUserProfilesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          The user profile details.

                                                          + */ +export interface UserProfileDetails { + /** + *

                                                          The domain ID.

                                                          + */ + DomainId?: string; + + /** + *

                                                          The user profile name.

                                                          + */ + UserProfileName?: string; + + /** + *

                                                          The status.

                                                          + */ + Status?: UserProfileStatus | string; + + /** + *

                                                          The creation time.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          The last modified time.

                                                          + */ + LastModifiedTime?: Date; +} + +export namespace UserProfileDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UserProfileDetails): any => ({ + ...obj, + }); +} + +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; +} + +export namespace ListUserProfilesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListUserProfilesResponse): any => ({ + ...obj, + }); +} + +export enum ListWorkforcesSortByOptions { + CreateDate = "CreateDate", + Name = "Name", +} + +export interface ListWorkforcesRequest { + /** + *

                                                          Sort workforces using the workforce name or creation date.

                                                          + */ + SortBy?: ListWorkforcesSortByOptions | string; + + /** + *

                                                          Sort workforces in ascending or descending order.

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

                                                          A filter you can use to search for workforces using part of the workforce name.

                                                          + */ + NameContains?: string; + + /** + *

                                                          A token to resume pagination.

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

                                                          The maximum number of workforces returned in the response.

                                                          + */ + MaxResults?: number; +} + +export namespace ListWorkforcesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListWorkforcesRequest): any => ({ + ...obj, + }); +} + +export interface ListWorkforcesResponse { + /** + *

                                                          A list containing information about your workforce.

                                                          + */ + Workforces: Workforce[] | undefined; + + /** + *

                                                          A token to resume pagination.

                                                          + */ + NextToken?: string; +} + +export namespace ListWorkforcesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListWorkforcesResponse): any => ({ + ...obj, + }); +} + +export enum ListWorkteamsSortByOptions { + CreateDate = "CreateDate", + Name = "Name", +} + +export interface ListWorkteamsRequest { + /** + *

                                                          The field to sort results by. The default is CreationTime.

                                                          + */ + SortBy?: ListWorkteamsSortByOptions | string; + + /** + *

                                                          The sort order for results. The default is Ascending.

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

                                                          A string in the work team's name. This filter returns only work teams whose name + * contains the specified string.

                                                          + */ + NameContains?: string; + + /** + *

                                                          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.

                                                          + */ + MaxResults?: number; +} + +export namespace ListWorkteamsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListWorkteamsRequest): any => ({ + ...obj, + }); +} + +export interface ListWorkteamsResponse { + /** + *

                                                          An array of Workteam objects, each describing a work team.

                                                          + */ + Workteams: Workteam[] | undefined; + + /** + *

                                                          If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * work teams, use it in the subsequent request.

                                                          + */ + NextToken?: string; +} + +export namespace ListWorkteamsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListWorkteamsResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                          A versioned model that can be deployed for SageMaker inference.

                                                          + */ +export interface ModelPackage { + /** + *

                                                          The name of the model.

                                                          + */ + ModelPackageName?: string; + + /** + *

                                                          The model group to which the model belongs.

                                                          + */ + ModelPackageGroupName?: string; + + /** + *

                                                          The version number of a versioned model.

                                                          + */ + ModelPackageVersion?: number; + + /** + *

                                                          The Amazon Resource Name (ARN) of the model package.

                                                          + */ + ModelPackageArn?: string; + + /** + *

                                                          The description of the model package.

                                                          + */ + ModelPackageDescription?: string; + + /** + *

                                                          The time that the model package was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Defines how to perform inference generation after a training job is run.

                                                          + */ + InferenceSpecification?: InferenceSpecification; + + /** + *

                                                          A list of algorithms that were used to create a model package.

                                                          + */ + SourceAlgorithmSpecification?: SourceAlgorithmSpecification; + + /** + *

                                                          Specifies batch transform jobs that Amazon SageMaker runs to validate your model package.

                                                          + */ + ValidationSpecification?: ModelPackageValidationSpecification; + + /** + *

                                                          The status of the model package. This can be one of the following values.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * PENDING - The model package is pending being created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * IN_PROGRESS - The model package is in the process of being + * created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * COMPLETED - The model package was successfully created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * FAILED - The model package failed.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * DELETING - The model package is in the process of being deleted.

                                                            + *
                                                          • + *
                                                          + */ + ModelPackageStatus?: ModelPackageStatus | string; + + /** + *

                                                          Specifies the validation and image scan statuses of the model package.

                                                          + */ + ModelPackageStatusDetails?: ModelPackageStatusDetails; + + /** + *

                                                          Whether the model package is to be certified to be listed on Amazon Web Services Marketplace. For + * information about listing model packages on Amazon Web Services Marketplace, see List Your + * Algorithm or Model Package on Amazon Web Services Marketplace.

                                                          + */ + CertifyForMarketplace?: boolean; + + /** + *

                                                          The approval status of the model. This can be one of the following values.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * APPROVED - The model is approved

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * REJECTED - The model is rejected.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PENDING_MANUAL_APPROVAL - The model is waiting for manual + * approval.

                                                            + *
                                                          • + *
                                                          + */ + ModelApprovalStatus?: ModelApprovalStatus | string; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + */ + MetadataProperties?: MetadataProperties; + + /** + *

                                                          Metrics for the model.

                                                          + */ + ModelMetrics?: ModelMetrics; + + /** + *

                                                          The last time the model package was modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + LastModifiedBy?: UserContext; + + /** + *

                                                          A description provided when the model approval is set.

                                                          + */ + ApprovalDescription?: string; + + /** + *

                                                          The machine learning domain of your model package and its components. Common + * machine learning domains include computer vision and natural language processing.

                                                          + */ + Domain?: string; + + /** + *

                                                          The machine learning task your model package accomplishes. Common machine + * learning tasks include object detection and image classification.

                                                          + */ + Task?: string; + + /** + *

                                                          The Amazon Simple Storage Service path where the sample payload are stored. This path must point to + * a single gzip compressed tar archive (.tar.gz suffix).

                                                          + */ + SamplePayloadUrl?: string; + + /** + *

                                                          An array of additional Inference Specification objects.

                                                          + */ + AdditionalInferenceSpecifications?: AdditionalInferenceSpecificationDefinition[]; + + /** + *

                                                          A list of the tags associated with the model package. For more information, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference Guide.

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

                                                          The metadata properties for the model package.

                                                          + */ + CustomerMetadataProperties?: { [key: string]: string }; + + /** + *

                                                          Represents the drift check baselines that can be used when the model monitor is set using the model package.

                                                          + */ + DriftCheckBaselines?: DriftCheckBaselines; +} + +export namespace ModelPackage { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelPackage): any => ({ + ...obj, + }); +} + +/** + *

                                                          A group of versioned models in the model registry.

                                                          + */ +export interface ModelPackageGroup { + /** + *

                                                          The name of the model group.

                                                          + */ + ModelPackageGroupName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the model group.

                                                          + */ + ModelPackageGroupArn?: string; + + /** + *

                                                          The description for the model group.

                                                          + */ + ModelPackageGroupDescription?: string; + + /** + *

                                                          The time that the model group was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          The status of the model group. This can be one of the following values.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * PENDING - The model group is pending being created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * IN_PROGRESS - The model group is in the process of being + * created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * COMPLETED - The model group was successfully created.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * FAILED - The model group failed.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * DELETING - The model group is in the process of being deleted.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * DELETE_FAILED - SageMaker failed to delete the model group.

                                                            + *
                                                          • + *
                                                          + */ + ModelPackageGroupStatus?: ModelPackageGroupStatus | string; + + /** + *

                                                          A list of the tags associated with the model group. For more information, see Tagging Amazon Web Services + * resources in the Amazon Web Services General Reference Guide.

                                                          + */ + Tags?: Tag[]; +} + +export namespace ModelPackageGroup { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelPackageGroup): any => ({ + ...obj, + }); +} + +/** + *

                                                          A list of nested Filter objects. A resource must satisfy the conditions + * of all filters to be included in the results returned from the Search API.

                                                          + *

                                                          For example, to filter on a training job's InputDataConfig property with a + * specific channel name and S3Uri prefix, define the following filters:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * '{Name:"InputDataConfig.ChannelName", "Operator":"Equals", "Value":"train"}', + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * '{Name:"InputDataConfig.DataSource.S3DataSource.S3Uri", "Operator":"Contains", + * "Value":"mybucket/catdata"}' + *

                                                            + *
                                                          • + *
                                                          + */ +export interface NestedFilters { + /** + *

                                                          The name of the property to use in the nested filters. The value must match a listed property name, + * such as InputDataConfig.

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

                                                          A list of filters. Each filter acts on a property. Filters must contain at least one + * Filters value. For example, a NestedFilters call might + * include a filter on the PropertyName parameter of the + * InputDataConfig property: + * InputDataConfig.DataSource.S3DataSource.S3Uri.

                                                          + */ + Filters: Filter[] | undefined; +} + +export namespace NestedFilters { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NestedFilters): any => ({ + ...obj, + }); +} + +/** + *

                                                          The trial that a trial component is associated with and the experiment the trial is part + * of. A component might not be associated with a trial. A component can be associated with + * multiple trials.

                                                          + */ +export interface Parent { + /** + *

                                                          The name of the trial.

                                                          + */ + TrialName?: string; + + /** + *

                                                          The name of the experiment.

                                                          + */ + ExperimentName?: string; +} + +export namespace Parent { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Parent): any => ({ + ...obj, + }); +} + +/** + *

                                                          A SageMaker Model Building Pipeline instance.

                                                          + */ +export interface Pipeline { + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline.

                                                          + */ + PipelineArn?: string; + + /** + *

                                                          The name of the pipeline.

                                                          + */ + PipelineName?: string; + + /** + *

                                                          The display name of the pipeline.

                                                          + */ + PipelineDisplayName?: string; + + /** + *

                                                          The description of the pipeline.

                                                          + */ + PipelineDescription?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the role that created the pipeline.

                                                          + */ + RoleArn?: string; + + /** + *

                                                          The status of the pipeline.

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

                                                          The creation time of the pipeline.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          The time that the pipeline was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          The time when the pipeline was last run.

                                                          + */ + LastRunTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + LastModifiedBy?: UserContext; + + /** + *

                                                          A list of tags that apply to the pipeline.

                                                          + */ + Tags?: Tag[]; +} + +export namespace Pipeline { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Pipeline): any => ({ + ...obj, + }); +} + +/** + *

                                                          An execution of a pipeline.

                                                          + */ +export interface PipelineExecution { + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline that was executed.

                                                          + */ + PipelineArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + */ + PipelineExecutionArn?: string; + + /** + *

                                                          The display name of the pipeline execution.

                                                          + */ + PipelineExecutionDisplayName?: string; + + /** + *

                                                          The status of the pipeline status.

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

                                                          The description of the pipeline execution.

                                                          + */ + PipelineExecutionDescription?: string; + + /** + *

                                                          Specifies the names of the experiment and trial created by a pipeline.

                                                          + */ + PipelineExperimentConfig?: PipelineExperimentConfig; + + /** + *

                                                          If the execution failed, a message describing why.

                                                          + */ + FailureReason?: string; + + /** + *

                                                          The creation time of the pipeline execution.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          The time that the pipeline execution was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + LastModifiedBy?: UserContext; + + /** + *

                                                          Contains a list of pipeline parameters. This list can be empty.

                                                          + */ + PipelineParameters?: Parameter[]; +} + +export namespace PipelineExecution { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PipelineExecution): any => ({ + ...obj, + }); +} + +/** + *

                                                          An Amazon SageMaker processing job that is used to analyze data and evaluate models. For more information, + * see Process + * Data and Evaluate Models.

                                                          + */ +export interface ProcessingJob { + /** + *

                                                          List of input configurations for the processing job.

                                                          + */ + ProcessingInputs?: ProcessingInput[]; + + /** + *

                                                          Configuration for uploading output from the processing container.

                                                          + */ + ProcessingOutputConfig?: ProcessingOutputConfig; + + /** + *

                                                          The name of the processing job.

                                                          + */ + ProcessingJobName?: string; + + /** + *

                                                          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; + + /** + *

                                                          Configures conditions under which the processing job should be stopped, such as how long + * the processing job has been running. After the condition is met, the processing job is stopped.

                                                          + */ + StoppingCondition?: ProcessingStoppingCondition; + + /** + *

                                                          Configuration to run a processing job in a specified container image.

                                                          + */ + AppSpecification?: AppSpecification; + + /** + *

                                                          Sets the environment variables in the Docker container.

                                                          + */ + Environment?: { [key: string]: 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.

                                                          + */ + NetworkConfig?: NetworkConfig; + + /** + *

                                                          The ARN of the role used to create the processing job.

                                                          + */ + RoleArn?: string; + + /** + *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                          + * + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

                                                          The ARN of the processing job.

                                                          + */ + ProcessingJobArn?: string; + + /** + *

                                                          The status of the processing job.

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

                                                          A string, up to one KB in size, that contains metadata from the processing + * container when the processing job exits.

                                                          + */ + ExitMessage?: string; + + /** + *

                                                          A string, up to one KB in size, that contains the reason a processing job failed, if + * it failed.

                                                          + */ + FailureReason?: string; + + /** + *

                                                          The time that the processing job ended.

                                                          + */ + ProcessingEndTime?: Date; + + /** + *

                                                          The time that the processing job started.

                                                          + */ + ProcessingStartTime?: Date; + + /** + *

                                                          The time the processing job was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          The time the processing job was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          The ARN of a monitoring schedule for an endpoint associated with this processing + * job.

                                                          + */ + MonitoringScheduleArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

                                                          + */ + AutoMLJobArn?: string; + + /** + *

                                                          The ARN of the training job associated with this processing job.

                                                          + */ + TrainingJobArn?: string; + + /** + *

                                                          An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                          + */ + Tags?: Tag[]; +} + +export namespace ProcessingJob { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ProcessingJob): any => ({ + ...obj, + }); +} + +/** + *

                                                          Configuration information for updating the Debugger profile parameters, system and framework metrics configurations, and + * storage paths.

                                                          + */ +export interface ProfilerConfigForUpdate { + /** + *

                                                          Path to Amazon S3 storage location for system and framework metrics.

                                                          + */ + S3OutputPath?: string; + + /** + *

                                                          A time interval for capturing system metrics in milliseconds. Available values are + * 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 minute) milliseconds. The default value is 500 milliseconds.

                                                          + */ + ProfilingIntervalInMilliseconds?: number; + + /** + *

                                                          Configuration information for capturing framework metrics. Available key strings for different profiling options are + * DetailedProfilingConfig, PythonProfilingConfig, and DataLoaderProfilingConfig. + * The following codes are configuration structures for the ProfilingParameters parameter. To learn more about + * how to configure the ProfilingParameters parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job. + *

                                                          + */ + ProfilingParameters?: { [key: string]: string }; + + /** + *

                                                          To disable Debugger monitoring and profiling, set to True.

                                                          + */ + DisableProfiler?: boolean; +} + +export namespace ProfilerConfigForUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ProfilerConfigForUpdate): any => ({ + ...obj, + }); +} + +/** + *

                                                          The properties of a project as returned by the Search API.

                                                          + */ +export interface Project { + /** + *

                                                          The Amazon Resource Name (ARN) of the project.

                                                          + */ + ProjectArn?: string; + + /** + *

                                                          The name of the project.

                                                          + */ + ProjectName?: string; + + /** + *

                                                          The ID of the project.

                                                          + */ + ProjectId?: string; + + /** + *

                                                          The description of the project.

                                                          + */ + ProjectDescription?: string; + + /** + *

                                                          Details that you specify to provision a service catalog product. For information about + * service catalog, see What is Amazon Web Services Service + * Catalog.

                                                          + */ + ServiceCatalogProvisioningDetails?: ServiceCatalogProvisioningDetails; + + /** + *

                                                          Details of a provisioned service catalog product. For information about service catalog, + * see What is Amazon Web Services Service + * Catalog.

                                                          + */ + ServiceCatalogProvisionedProductDetails?: ServiceCatalogProvisionedProductDetails; + + /** + *

                                                          The status of the project.

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

                                                          Who created the project.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          A timestamp specifying when the project was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

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

                                                          A timestamp container for when the project was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + LastModifiedBy?: UserContext; +} + +export namespace Project { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Project): any => ({ + ...obj, + }); +} + +export interface PutModelPackageGroupPolicyInput { + /** + *

                                                          The name of the model group to add a resource policy to.

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

                                                          The resource policy for the model group.

                                                          + */ + ResourcePolicy: string | undefined; +} + +export namespace PutModelPackageGroupPolicyInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PutModelPackageGroupPolicyInput): any => ({ + ...obj, + }); +} + +export interface PutModelPackageGroupPolicyOutput { + /** + *

                                                          The Amazon Resource Name (ARN) of the model package group.

                                                          + */ + ModelPackageGroupArn: string | undefined; +} + +export namespace PutModelPackageGroupPolicyOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PutModelPackageGroupPolicyOutput): any => ({ + ...obj, + }); +} + +/** + *

                                                          A set of filters to narrow the set of lineage entities connected to the StartArn(s) returned by the + * QueryLineage API action.

                                                          + */ +export interface QueryFilters { + /** + *

                                                          Filter the lineage entities connected to the StartArn by type. For example: DataSet, + * Model, Endpoint, or ModelDeployment.

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

                                                          Filter the lineage entities connected to the StartArn(s) by the type of the lineage entity.

                                                          + */ + LineageTypes?: (LineageType | string)[]; + + /** + *

                                                          Filter the lineage entities connected to the StartArn(s) by created date.

                                                          + */ + CreatedBefore?: Date; + + /** + *

                                                          Filter the lineage entities connected to the StartArn(s) after the create date.

                                                          + */ + CreatedAfter?: Date; + + /** + *

                                                          Filter the lineage entities connected to the StartArn(s) before the last modified date.

                                                          + */ + ModifiedBefore?: Date; + + /** + *

                                                          Filter the lineage entities connected to the StartArn(s) after the last modified date.

                                                          + */ + ModifiedAfter?: Date; + + /** + *

                                                          Filter the lineage entities connected to the StartArn(s) by a set if property key value pairs. + * If multiple pairs are provided, an entity will be included in the results if it matches any of the provided pairs.

                                                          + */ + Properties?: { [key: string]: string }; +} + +export namespace QueryFilters { + /** + * @internal + */ + export const filterSensitiveLog = (obj: QueryFilters): any => ({ + ...obj, + }); +} + +export interface QueryLineageRequest { + /** + *

                                                          A list of resource Amazon Resource Name (ARN) that represent the starting point for your lineage query.

                                                          + */ + StartArns: string[] | undefined; + + /** + *

                                                          Associations between lineage entities are directed. This parameter determines the direction from the + * StartArn(s) the query will look.

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

                                                          Setting this value to True will retrieve not only the entities of interest but also the + * Associations and + * lineage entities on the path. Set to False to only return lineage entities that match your query.

                                                          + */ + IncludeEdges?: boolean; + + /** + *

                                                          A set of filtering parameters that allow you to specify which entities should be returned.

                                                          + *
                                                            + *
                                                          • + *

                                                            Properties - Key-value pairs to match on the lineage entities' properties.

                                                            + *
                                                          • + *
                                                          • + *

                                                            LineageTypes - A set of lineage entity types to match on. For example: TrialComponent, + * Artifact, or Context.

                                                            + *
                                                          • + *
                                                          • + *

                                                            CreatedBefore - Filter entities created before this date.

                                                            + *
                                                          • + *
                                                          • + *

                                                            ModifiedBefore - Filter entities modified before this date.

                                                            + *
                                                          • + *
                                                          • + *

                                                            ModifiedAfter - Filter entities modified after this date.

                                                            + *
                                                          • + *
                                                          + */ + Filters?: QueryFilters; + + /** + *

                                                          The maximum depth in lineage relationships from the StartArns that will be traversed. Depth is a measure of the number + * of Associations from the StartArn entity to the matched results.

                                                          + */ + MaxDepth?: number; + + /** + *

                                                          Limits the number of vertices in the results. Use the NextToken in a response to to retrieve the next page of results.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          Limits the number of vertices in the request. Use the NextToken in a response to to retrieve the next page of results.

                                                          + */ + NextToken?: string; +} + +export namespace QueryLineageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: QueryLineageRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          A lineage entity connected to the starting entity(ies).

                                                          + */ +export interface Vertex { + /** + *

                                                          The Amazon Resource Name (ARN) of the lineage entity resource.

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

                                                          The type of the lineage entity resource. For example: DataSet, Model, Endpoint, + * etc...

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

                                                          The type of resource of the lineage entity.

                                                          + */ + LineageType?: LineageType | string; +} + +export namespace Vertex { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Vertex): any => ({ + ...obj, + }); +} + +export interface QueryLineageResponse { + /** + *

                                                          A list of vertices connected to the start entity(ies) in the lineage graph.

                                                          + */ + Vertices?: Vertex[]; + + /** + *

                                                          A list of edges that connect vertices in the response.

                                                          + */ + Edges?: Edge[]; + + /** + *

                                                          Limits the number of vertices in the response. Use the NextToken in a response to to retrieve the next page of results.

                                                          + */ + NextToken?: string; +} + +export namespace QueryLineageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: QueryLineageResponse): any => ({ + ...obj, + }); +} + +export interface RegisterDevicesRequest { + /** + *

                                                          The name of the fleet.

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

                                                          A list of devices to register with SageMaker Edge Manager.

                                                          + */ + Devices: Device[] | undefined; + + /** + *

                                                          The tags associated with devices.

                                                          + */ + Tags?: Tag[]; +} + +export namespace RegisterDevicesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RegisterDevicesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          Contains input values for a task.

                                                          + */ +export interface RenderableTask { + /** + *

                                                          A JSON object that contains values for the variables defined in the template. It is + * made available to the template under the substitution variable task.input. + * For example, if you define a variable task.input.text in your template, you + * can supply the variable in the JSON object as "text": "sample text".

                                                          + */ + Input: string | undefined; +} + +export namespace RenderableTask { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RenderableTask): any => ({ + ...obj, + }); +} + +/** + *

                                                          A description of an error that occurred while rendering the template.

                                                          + */ +export interface RenderingError { + /** + *

                                                          A unique identifier for a specific class of errors.

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

                                                          A human-readable message describing the error.

                                                          + */ + Message: string | undefined; +} + +export namespace RenderingError { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RenderingError): any => ({ + ...obj, + }); +} + +export interface RenderUiTemplateRequest { + /** + *

                                                          A Template object containing the worker UI template to render.

                                                          + */ + UiTemplate?: UiTemplate; + + /** + *

                                                          A RenderableTask object containing a representative task to + * 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; + + /** + *

                                                          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; +} + +export namespace RenderUiTemplateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RenderUiTemplateRequest): any => ({ + ...obj, + }); +} + +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; +} + +export namespace RenderUiTemplateResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RenderUiTemplateResponse): any => ({ + ...obj, + }); +} + +export interface RetryPipelineExecutionRequest { + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

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

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * operation. An idempotent operation completes no more than once.

                                                          + */ + ClientRequestToken?: string; +} + +export namespace RetryPipelineExecutionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RetryPipelineExecutionRequest): any => ({ + ...obj, + }); +} + +export interface RetryPipelineExecutionResponse { + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + */ + PipelineExecutionArn?: string; +} + +export namespace RetryPipelineExecutionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RetryPipelineExecutionResponse): any => ({ + ...obj, + }); +} + +export enum SearchSortOrder { + ASCENDING = "Ascending", + DESCENDING = "Descending", +} + +/** + *

                                                          Contains information about a training job.

                                                          + */ +export interface TrainingJob { + /** + *

                                                          The name of the training job.

                                                          + */ + TrainingJobName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the training job.

                                                          + */ + TrainingJobArn?: string; + + /** + *

                                                          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 labeling job.

                                                          + */ + LabelingJobArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the job.

                                                          + */ + AutoMLJobArn?: string; + + /** + *

                                                          Information about the Amazon S3 location that is configured for storing model + * artifacts.

                                                          + */ + ModelArtifacts?: ModelArtifacts; + + /** + *

                                                          The status of the + * training + * job.

                                                          + *

                                                          Training job statuses are:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * 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; + + /** + *

                                                          Provides detailed information about the state of the training job. For detailed + * information about the secondary status of the training job, see + * StatusMessage under SecondaryStatusTransition.

                                                          + *

                                                          Amazon SageMaker provides primary statuses and secondary statuses that apply to each of + * them:

                                                          + *
                                                          + *
                                                          InProgress
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Starting + * - Starting the training job.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Downloading - An optional stage for algorithms that + * support File training input mode. It indicates that + * data is being downloaded to the ML storage volumes.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Training - Training is in progress.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Uploading - Training is complete and the model + * artifacts are being uploaded to the S3 location.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Completed
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Completed - The training job has completed.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Failed
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Failed - The training job has failed. The reason for + * the failure is returned in the FailureReason field of + * DescribeTrainingJobResponse.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Stopped
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * MaxRuntimeExceeded - The job stopped because it + * exceeded the maximum allowed runtime.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * Stopped - The training job has stopped.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          Stopping
                                                          + *
                                                          + *
                                                            + *
                                                          • + *

                                                            + * Stopping - Stopping the training job.

                                                            + *
                                                          • + *
                                                          + *
                                                          + *
                                                          + * + *

                                                          Valid values for SecondaryStatus are subject to change.

                                                          + *
                                                          + *

                                                          We no longer support the following secondary statuses:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * LaunchingMLInstances + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PreparingTrainingStack + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * DownloadingTrainingImage + *

                                                            + *
                                                          • + *
                                                          + */ + SecondaryStatus?: SecondaryStatus | string; + + /** + *

                                                          If the training job failed, the reason it failed.

                                                          + */ + FailureReason?: string; + + /** + *

                                                          Algorithm-specific parameters.

                                                          + */ + HyperParameters?: { [key: string]: string }; + + /** + *

                                                          Information about the algorithm used for training, and algorithm metadata.

                                                          + */ + AlgorithmSpecification?: AlgorithmSpecification; + + /** + *

                                                          The Amazon Web Services Identity and Access Management (IAM) role configured for the training job.

                                                          + */ + RoleArn?: string; + + /** + *

                                                          An array of Channel objects that describes each data input + * channel.

                                                          + */ + InputDataConfig?: Channel[]; + + /** + *

                                                          The S3 path where model artifacts that you configured when creating the job are + * stored. Amazon SageMaker creates subfolders for model artifacts.

                                                          + */ + OutputDataConfig?: OutputDataConfig; + + /** + *

                                                          Resources, including ML compute instances and ML storage volumes, that are configured + * for model training.

                                                          + */ + ResourceConfig?: ResourceConfig; + + /** + *

                                                          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; + + /** + *

                                                          Specifies a limit to how long a model training job can run. It also specifies how long + * a managed Spot training job has to complete. 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; + + /** + *

                                                          A timestamp that indicates when the training job was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          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; + + /** + *

                                                          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.

                                                          + */ + TrainingEndTime?: Date; + + /** + *

                                                          A timestamp that indicates when the status of the training job was last + * modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          A history of all of the secondary statuses that the training job has transitioned + * through.

                                                          + */ + SecondaryStatusTransitions?: SecondaryStatusTransition[]; + + /** + *

                                                          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[]; + + /** + *

                                                          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.

                                                          + */ + EnableNetworkIsolation?: boolean; + + /** + *

                                                          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; + + /** + *

                                                          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.

                                                          + */ + EnableManagedSpotTraining?: boolean; + + /** + *

                                                          Contains information about the output location for managed spot training checkpoint + * data.

                                                          + */ + CheckpointConfig?: CheckpointConfig; + + /** + *

                                                          The training time in seconds.

                                                          + */ + TrainingTimeInSeconds?: number; + + /** + *

                                                          The billable time in seconds.

                                                          + */ + BillableTimeInSeconds?: number; + + /** + *

                                                          Configuration information for the Debugger hook parameters, metric and tensor collections, and + * storage paths. To learn more about + * how to configure the DebugHookConfig parameter, + * see Use the SageMaker and Debugger Configuration API Operations to Create, Update, and Debug Your Training Job.

                                                          + */ + DebugHookConfig?: DebugHookConfig; + + /** + *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                          + * + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

                                                          Information about the debug rule configuration.

                                                          + */ + DebugRuleConfigurations?: DebugRuleConfiguration[]; + + /** + *

                                                          Configuration of storage locations for the Debugger TensorBoard output data.

                                                          + */ + TensorBoardOutputConfig?: TensorBoardOutputConfig; + + /** + *

                                                          Information about the evaluation status of the rules for the training job.

                                                          + */ + DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; + + /** + *

                                                          The environment variables to set in the Docker container.

                                                          + */ + Environment?: { [key: string]: string }; + + /** + *

                                                          The number of times to retry the job when the job fails due to an + * InternalServerError.

                                                          + */ + RetryStrategy?: RetryStrategy; + + /** + *

                                                          An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

                                                          + */ + Tags?: Tag[]; +} + +export namespace TrainingJob { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrainingJob): any => ({ + ...obj, + }); +} + +/** + *

                                                          A short summary of a trial component.

                                                          + */ +export interface TrialComponentSimpleSummary { + /** + *

                                                          The name of the trial component.

                                                          + */ + TrialComponentName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the trial component.

                                                          + */ + TrialComponentArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                                          + */ + TrialComponentSource?: TrialComponentSource; + + /** + *

                                                          When the component was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + CreatedBy?: UserContext; +} + +export namespace TrialComponentSimpleSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrialComponentSimpleSummary): any => ({ + ...obj, + }); +} + +/** + *

                                                          The properties of a trial as returned by the Search API.

                                                          + */ +export interface Trial { + /** + *

                                                          The name of the trial.

                                                          + */ + TrialName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the trial.

                                                          + */ + TrialArn?: string; + + /** + *

                                                          The name of the trial as displayed. If DisplayName isn't specified, + * TrialName is displayed.

                                                          + */ + DisplayName?: string; + + /** + *

                                                          The name of the experiment the trial is part of.

                                                          + */ + ExperimentName?: string; + + /** + *

                                                          The source of the trial.

                                                          + */ + Source?: TrialSource; + + /** + *

                                                          When the trial was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Who created the trial.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          Who last modified the trial.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + LastModifiedBy?: UserContext; + + /** + *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + */ + MetadataProperties?: MetadataProperties; + + /** + *

                                                          The list of tags that are associated with the trial. You can use Search + * API to search on the tags.

                                                          + */ + 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[]; +} + +export namespace Trial { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Trial): any => ({ + ...obj, + }); +} + +/** + *

                                                          A batch transform job. For information about SageMaker batch transform, see Use Batch + * Transform.

                                                          + */ +export interface TransformJob { + /** + *

                                                          The name of the transform job.

                                                          + */ + TransformJobName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the transform job.

                                                          + */ + TransformJobArn?: 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.

                                                            + *
                                                          • + *
                                                          + */ + TransformJobStatus?: TransformJobStatus | string; + + /** + *

                                                          If the transform job failed, the reason it failed.

                                                          + */ + FailureReason?: string; + + /** + *

                                                          The name of the model associated with the transform job.

                                                          + */ + ModelName?: 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.

                                                          + */ + MaxConcurrentTransforms?: number; + + /** + *

                                                          Configures the timeout and maximum number of retries for processing a transform job + * invocation.

                                                          + */ + ModelClientConfig?: ModelClientConfig; + + /** + *

                                                          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.

                                                          + */ + MaxPayloadInMB?: number; + + /** + *

                                                          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.

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

                                                          The environment variables to set in the Docker container. We support up to 16 key and + * values entries in the map.

                                                          + */ + Environment?: { [key: string]: string }; + + /** + *

                                                          Describes the input source of a transform job and the way the transform job consumes + * it.

                                                          + */ + TransformInput?: TransformInput; + + /** + *

                                                          Describes the results of a transform job.

                                                          + */ + TransformOutput?: TransformOutput; + + /** + *

                                                          Describes the resources, including ML instance types and ML instance count, to use for + * transform job.

                                                          + */ + TransformResources?: TransformResources; + + /** + *

                                                          A timestamp that shows when the transform Job was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Indicates when the transform job starts on ML instances. You are billed for the time + * interval between this time and the value of TransformEndTime.

                                                          + */ + TransformStartTime?: Date; + + /** + *

                                                          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.

                                                          + */ + TransformEndTime?: Date; + + /** + *

                                                          The Amazon Resource Name (ARN) of the labeling job that created the transform job.

                                                          + */ + LabelingJobArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the AutoML job that created the transform job.

                                                          + */ + AutoMLJobArn?: 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; + + /** + *

                                                          Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                          + * + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

                                                          A list of tags associated with the transform job.

                                                          + */ + Tags?: Tag[]; +} + +export namespace TransformJob { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TransformJob): any => ({ + ...obj, + }); +} + +/** + *

                                                          Detailed information about the source of a trial component. Either + * ProcessingJob or TrainingJob is returned.

                                                          + */ +export interface TrialComponentSourceDetail { + /** + *

                                                          The Amazon Resource Name (ARN) of the source.

                                                          + */ + SourceArn?: string; + + /** + *

                                                          Information about a training job that's the source of a trial component.

                                                          + */ + TrainingJob?: TrainingJob; + + /** + *

                                                          Information about a processing job that's the source of a trial component.

                                                          + */ + ProcessingJob?: ProcessingJob; + + /** + *

                                                          Information about a transform job that's the source of a trial component.

                                                          + */ + TransformJob?: TransformJob; +} + +export namespace TrialComponentSourceDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrialComponentSourceDetail): any => ({ + ...obj, + }); +} + +/** + *

                                                          The properties of a trial component as returned by the Search + * API.

                                                          + */ +export interface TrialComponent { + /** + *

                                                          The name of the trial component.

                                                          + */ + TrialComponentName?: string; + + /** + *

                                                          The name of the component as displayed. If DisplayName isn't specified, + * TrialComponentName is displayed.

                                                          + */ + DisplayName?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the trial component.

                                                          + */ + TrialComponentArn?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) and job type of the source of the component.

                                                          + */ + Source?: TrialComponentSource; + + /** + *

                                                          The status of the trial component.

                                                          + */ + Status?: TrialComponentStatus; + + /** + *

                                                          When the component started.

                                                          + */ + StartTime?: Date; + + /** + *

                                                          When the component ended.

                                                          + */ + EndTime?: Date; + + /** + *

                                                          When the component was created.

                                                          + */ + CreationTime?: Date; + + /** + *

                                                          Who created the trial component.

                                                          + */ + CreatedBy?: UserContext; + + /** + *

                                                          When the component was last modified.

                                                          + */ + LastModifiedTime?: Date; + + /** + *

                                                          Information about the user who created or modified an experiment, trial, trial + * component, lineage group, or project.

                                                          + */ + LastModifiedBy?: UserContext; + + /** + *

                                                          The hyperparameters of the component.

                                                          + */ + Parameters?: { [key: string]: TrialComponentParameterValue }; + + /** + *

                                                          The input artifacts of the component.

                                                          + */ + InputArtifacts?: { [key: string]: TrialComponentArtifact }; + + /** + *

                                                          The output artifacts of the component.

                                                          + */ + OutputArtifacts?: { [key: string]: TrialComponentArtifact }; + + /** + *

                                                          The metrics for the component.

                                                          + */ + Metrics?: TrialComponentMetricSummary[]; + + /** + *

                                                          Metadata properties of the tracking entity, trial, or trial component.

                                                          + */ + MetadataProperties?: MetadataProperties; + + /** + *

                                                          Details of the source of the component.

                                                          + */ + SourceDetail?: TrialComponentSourceDetail; + + /** + *

                                                          The Amazon Resource Name (ARN) of the lineage group resource.

                                                          + */ + LineageGroupArn?: string; + + /** + *

                                                          The list of tags that are associated with the component. You can use Search API to search on the tags.

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

                                                          An array of the parents of the component. A parent is a trial the component is associated + * with and the experiment the trial is part of. A component might not have any parents.

                                                          + */ + Parents?: Parent[]; +} + +export namespace TrialComponent { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrialComponent): any => ({ + ...obj, + ...(obj.Parameters && { + Parameters: Object.entries(obj.Parameters).reduce( + (acc: any, [key, value]: [string, TrialComponentParameterValue]) => ({ + ...acc, + [key]: TrialComponentParameterValue.filterSensitiveLog(value), + }), + {} + ), + }), + }); +} + +/** + *

                                                          A single resource returned as part of the Search API response.

                                                          + */ +export interface SearchRecord { + /** + *

                                                          The properties of a training job.

                                                          + */ + TrainingJob?: TrainingJob; + + /** + *

                                                          The properties of an experiment.

                                                          + */ + Experiment?: Experiment; + + /** + *

                                                          The properties of a trial.

                                                          + */ + Trial?: Trial; + + /** + *

                                                          The properties of a trial component.

                                                          + */ + TrialComponent?: TrialComponent; + + /** + *

                                                          A hosted endpoint for real-time inference.

                                                          + */ + Endpoint?: Endpoint; + + /** + *

                                                          A versioned model that can be deployed for SageMaker inference.

                                                          + */ + ModelPackage?: ModelPackage; + + /** + *

                                                          A group of versioned models in the model registry.

                                                          + */ + ModelPackageGroup?: ModelPackageGroup; + + /** + *

                                                          A SageMaker Model Building Pipeline instance.

                                                          + */ + Pipeline?: Pipeline; + + /** + *

                                                          An execution of a pipeline.

                                                          + */ + PipelineExecution?: PipelineExecution; + + /** + *

                                                          Amazon SageMaker Feature Store stores features in a collection called Feature Group. + * A Feature Group can be visualized as a table which has rows, + * with a unique identifier for each row where each column in the table is a feature. + * In principle, a Feature Group is composed of features and values per features.

                                                          + */ + FeatureGroup?: FeatureGroup; + + /** + *

                                                          The properties of a project.

                                                          + */ + Project?: Project; +} + +export namespace SearchRecord { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchRecord): any => ({ + ...obj, + ...(obj.TrialComponent && { TrialComponent: TrialComponent.filterSensitiveLog(obj.TrialComponent) }), + }); +} + +export interface SearchResponse { + /** + *

                                                          A list of SearchRecord objects.

                                                          + */ + Results?: SearchRecord[]; + + /** + *

                                                          If the result of the previous Search request was truncated, the response + * includes a NextToken. To retrieve the next set of results, use the token in the next + * request.

                                                          + */ + NextToken?: string; +} + +export namespace SearchResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchResponse): any => ({ + ...obj, + ...(obj.Results && { Results: obj.Results.map((item) => SearchRecord.filterSensitiveLog(item)) }), + }); +} + +export interface SendPipelineExecutionStepFailureRequest { + /** + *

                                                          The pipeline generated token from the Amazon SQS queue.

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

                                                          A message describing why the step failed.

                                                          + */ + FailureReason?: 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.

                                                          + */ + ClientRequestToken?: string; +} + +export namespace SendPipelineExecutionStepFailureRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SendPipelineExecutionStepFailureRequest): any => ({ + ...obj, + }); +} + +export interface SendPipelineExecutionStepFailureResponse { + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + */ + PipelineExecutionArn?: string; +} + +export namespace SendPipelineExecutionStepFailureResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SendPipelineExecutionStepFailureResponse): any => ({ + ...obj, + }); +} + +export interface SendPipelineExecutionStepSuccessRequest { + /** + *

                                                          The pipeline generated token from the Amazon SQS queue.

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

                                                          A list of the output parameters of the callback step.

                                                          + */ + OutputParameters?: OutputParameter[]; + + /** + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * operation. An idempotent operation completes no more than one time.

                                                          + */ + ClientRequestToken?: string; +} + +export namespace SendPipelineExecutionStepSuccessRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SendPipelineExecutionStepSuccessRequest): any => ({ + ...obj, + }); +} + +export interface SendPipelineExecutionStepSuccessResponse { + /** + *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          + */ + PipelineExecutionArn?: string; +} + +export namespace SendPipelineExecutionStepSuccessResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SendPipelineExecutionStepSuccessResponse): any => ({ + ...obj, + }); +} + +export interface StartMonitoringScheduleRequest { + /** + *

                                                          The name of the schedule to start.

                                                          + */ + MonitoringScheduleName: string | undefined; +} + +export namespace StartMonitoringScheduleRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartMonitoringScheduleRequest): any => ({ + ...obj, + }); +} + +export interface StartNotebookInstanceInput { + /** + *

                                                          The name of the notebook instance to start.

                                                          + */ + NotebookInstanceName: string | undefined; +} + +export namespace StartNotebookInstanceInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartNotebookInstanceInput): any => ({ + ...obj, + }); +} + +export interface StartPipelineExecutionRequest { + /** + *

                                                          The name of the pipeline.

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

                                                          The display name of the pipeline execution.

                                                          + */ + PipelineExecutionDisplayName?: string; + + /** + *

                                                          Contains a list of pipeline parameters. This list can be empty.

                                                          + */ + PipelineParameters?: Parameter[]; + + /** + *

                                                          The description of the pipeline execution.

                                                          + */ + PipelineExecutionDescription?: string; + + /** + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * operation. An idempotent operation completes no more than once.

                                                          + */ + ClientRequestToken?: string; +} + +export namespace StartPipelineExecutionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartPipelineExecutionRequest): any => ({ + ...obj, + }); +} + export interface StartPipelineExecutionResponse { /** *

                                                          The Amazon Resource Name (ARN) of the pipeline execution.

                                                          @@ -118,6 +2987,22 @@ export namespace StopHyperParameterTuningJobRequest { }); } +export interface StopInferenceRecommendationsJobRequest { + /** + *

                                                          The name of the job you want to stop.

                                                          + */ + JobName: string | undefined; +} + +export namespace StopInferenceRecommendationsJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopInferenceRecommendationsJobRequest): any => ({ + ...obj, + }); +} + export interface StopLabelingJobRequest { /** *

                                                          The name of the labeling job to stop.

                                                          @@ -853,6 +3738,15 @@ export interface UpdateModelPackageInput { *

                                                          The metadata properties associated with the model package versions to remove.

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

                                                          An array of additional Inference Specification objects to be added to the + * existing array additional Inference Specification. Total number of additional + * Inference Specifications can not exceed 15. Each additional Inference Specification + * specifies artifacts based on this model package that can be used on inference endpoints. + * Generally used with SageMaker Neo to store the compiled artifacts.

                                                          + */ + AdditionalInferenceSpecificationsToAdd?: AdditionalInferenceSpecificationDefinition[]; } export namespace UpdateModelPackageInput { diff --git a/clients/client-sagemaker/src/pagination/ListInferenceRecommendationsJobsPaginator.ts b/clients/client-sagemaker/src/pagination/ListInferenceRecommendationsJobsPaginator.ts new file mode 100644 index 000000000000..29c6676f0a63 --- /dev/null +++ b/clients/client-sagemaker/src/pagination/ListInferenceRecommendationsJobsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListInferenceRecommendationsJobsCommand, + ListInferenceRecommendationsJobsCommandInput, + ListInferenceRecommendationsJobsCommandOutput, +} from "../commands/ListInferenceRecommendationsJobsCommand"; +import { SageMaker } from "../SageMaker"; +import { SageMakerClient } from "../SageMakerClient"; +import { SageMakerPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: SageMakerClient, + input: ListInferenceRecommendationsJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInferenceRecommendationsJobsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: SageMaker, + input: ListInferenceRecommendationsJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInferenceRecommendationsJobs(input, ...args); +}; +export async function* paginateListInferenceRecommendationsJobs( + config: SageMakerPaginationConfiguration, + input: ListInferenceRecommendationsJobsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListInferenceRecommendationsJobsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SageMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SageMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SageMaker | SageMakerClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sagemaker/src/pagination/ListLineageGroupsPaginator.ts b/clients/client-sagemaker/src/pagination/ListLineageGroupsPaginator.ts new file mode 100644 index 000000000000..d18fd0548a32 --- /dev/null +++ b/clients/client-sagemaker/src/pagination/ListLineageGroupsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListLineageGroupsCommand, + ListLineageGroupsCommandInput, + ListLineageGroupsCommandOutput, +} from "../commands/ListLineageGroupsCommand"; +import { SageMaker } from "../SageMaker"; +import { SageMakerClient } from "../SageMakerClient"; +import { SageMakerPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: SageMakerClient, + input: ListLineageGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListLineageGroupsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: SageMaker, + input: ListLineageGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listLineageGroups(input, ...args); +}; +export async function* paginateListLineageGroups( + config: SageMakerPaginationConfiguration, + input: ListLineageGroupsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListLineageGroupsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SageMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SageMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SageMaker | SageMakerClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sagemaker/src/pagination/ListModelMetadataPaginator.ts b/clients/client-sagemaker/src/pagination/ListModelMetadataPaginator.ts new file mode 100644 index 000000000000..b80d77863997 --- /dev/null +++ b/clients/client-sagemaker/src/pagination/ListModelMetadataPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListModelMetadataCommand, + ListModelMetadataCommandInput, + ListModelMetadataCommandOutput, +} from "../commands/ListModelMetadataCommand"; +import { SageMaker } from "../SageMaker"; +import { SageMakerClient } from "../SageMakerClient"; +import { SageMakerPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: SageMakerClient, + input: ListModelMetadataCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListModelMetadataCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: SageMaker, + input: ListModelMetadataCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listModelMetadata(input, ...args); +}; +export async function* paginateListModelMetadata( + config: SageMakerPaginationConfiguration, + input: ListModelMetadataCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListModelMetadataCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SageMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SageMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SageMaker | SageMakerClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sagemaker/src/pagination/QueryLineagePaginator.ts b/clients/client-sagemaker/src/pagination/QueryLineagePaginator.ts new file mode 100644 index 000000000000..9a1bec1eae29 --- /dev/null +++ b/clients/client-sagemaker/src/pagination/QueryLineagePaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + QueryLineageCommand, + QueryLineageCommandInput, + QueryLineageCommandOutput, +} from "../commands/QueryLineageCommand"; +import { SageMaker } from "../SageMaker"; +import { SageMakerClient } from "../SageMakerClient"; +import { SageMakerPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: SageMakerClient, + input: QueryLineageCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new QueryLineageCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: SageMaker, + input: QueryLineageCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.queryLineage(input, ...args); +}; +export async function* paginateQueryLineage( + config: SageMakerPaginationConfiguration, + input: QueryLineageCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: QueryLineageCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SageMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SageMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SageMaker | SageMakerClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sagemaker/src/pagination/index.ts b/clients/client-sagemaker/src/pagination/index.ts index ad2c37911d08..50940c45d32b 100644 --- a/clients/client-sagemaker/src/pagination/index.ts +++ b/clients/client-sagemaker/src/pagination/index.ts @@ -23,10 +23,13 @@ export * from "./ListHumanTaskUisPaginator"; export * from "./ListHyperParameterTuningJobsPaginator"; export * from "./ListImageVersionsPaginator"; export * from "./ListImagesPaginator"; +export * from "./ListInferenceRecommendationsJobsPaginator"; export * from "./ListLabelingJobsForWorkteamPaginator"; export * from "./ListLabelingJobsPaginator"; +export * from "./ListLineageGroupsPaginator"; export * from "./ListModelBiasJobDefinitionsPaginator"; export * from "./ListModelExplainabilityJobDefinitionsPaginator"; +export * from "./ListModelMetadataPaginator"; export * from "./ListModelPackageGroupsPaginator"; export * from "./ListModelPackagesPaginator"; export * from "./ListModelQualityJobDefinitionsPaginator"; @@ -52,4 +55,5 @@ export * from "./ListTrialsPaginator"; export * from "./ListUserProfilesPaginator"; export * from "./ListWorkforcesPaginator"; export * from "./ListWorkteamsPaginator"; +export * from "./QueryLineagePaginator"; export * from "./SearchPaginator"; diff --git a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts index 0e559d7c7227..3501151fce50 100644 --- a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts @@ -79,6 +79,10 @@ import { } from "../commands/CreateHyperParameterTuningJobCommand"; import { CreateImageCommandInput, CreateImageCommandOutput } from "../commands/CreateImageCommand"; import { CreateImageVersionCommandInput, CreateImageVersionCommandOutput } from "../commands/CreateImageVersionCommand"; +import { + CreateInferenceRecommendationsJobCommandInput, + CreateInferenceRecommendationsJobCommandOutput, +} from "../commands/CreateInferenceRecommendationsJobCommand"; import { CreateLabelingJobCommandInput, CreateLabelingJobCommandOutput } from "../commands/CreateLabelingJobCommand"; import { CreateModelBiasJobDefinitionCommandInput, @@ -281,10 +285,18 @@ import { DescribeImageVersionCommandInput, DescribeImageVersionCommandOutput, } from "../commands/DescribeImageVersionCommand"; +import { + DescribeInferenceRecommendationsJobCommandInput, + DescribeInferenceRecommendationsJobCommandOutput, +} from "../commands/DescribeInferenceRecommendationsJobCommand"; import { DescribeLabelingJobCommandInput, DescribeLabelingJobCommandOutput, } from "../commands/DescribeLabelingJobCommand"; +import { + DescribeLineageGroupCommandInput, + DescribeLineageGroupCommandOutput, +} from "../commands/DescribeLineageGroupCommand"; import { DescribeModelBiasJobDefinitionCommandInput, DescribeModelBiasJobDefinitionCommandOutput, @@ -375,6 +387,10 @@ import { GetDeviceFleetReportCommandInput, GetDeviceFleetReportCommandOutput, } from "../commands/GetDeviceFleetReportCommand"; +import { + GetLineageGroupPolicyCommandInput, + GetLineageGroupPolicyCommandOutput, +} from "../commands/GetLineageGroupPolicyCommand"; import { GetModelPackageGroupPolicyCommandInput, GetModelPackageGroupPolicyCommandOutput, @@ -439,11 +455,16 @@ import { } from "../commands/ListHyperParameterTuningJobsCommand"; import { ListImagesCommandInput, ListImagesCommandOutput } from "../commands/ListImagesCommand"; import { ListImageVersionsCommandInput, ListImageVersionsCommandOutput } from "../commands/ListImageVersionsCommand"; +import { + ListInferenceRecommendationsJobsCommandInput, + ListInferenceRecommendationsJobsCommandOutput, +} from "../commands/ListInferenceRecommendationsJobsCommand"; import { ListLabelingJobsCommandInput, ListLabelingJobsCommandOutput } from "../commands/ListLabelingJobsCommand"; import { ListLabelingJobsForWorkteamCommandInput, ListLabelingJobsForWorkteamCommandOutput, } from "../commands/ListLabelingJobsForWorkteamCommand"; +import { ListLineageGroupsCommandInput, ListLineageGroupsCommandOutput } from "../commands/ListLineageGroupsCommand"; import { ListModelBiasJobDefinitionsCommandInput, ListModelBiasJobDefinitionsCommandOutput, @@ -452,6 +473,7 @@ import { ListModelExplainabilityJobDefinitionsCommandInput, ListModelExplainabilityJobDefinitionsCommandOutput, } from "../commands/ListModelExplainabilityJobDefinitionsCommand"; +import { ListModelMetadataCommandInput, ListModelMetadataCommandOutput } from "../commands/ListModelMetadataCommand"; import { ListModelPackageGroupsCommandInput, ListModelPackageGroupsCommandOutput, @@ -520,6 +542,7 @@ import { PutModelPackageGroupPolicyCommandInput, PutModelPackageGroupPolicyCommandOutput, } from "../commands/PutModelPackageGroupPolicyCommand"; +import { QueryLineageCommandInput, QueryLineageCommandOutput } from "../commands/QueryLineageCommand"; import { RegisterDevicesCommandInput, RegisterDevicesCommandOutput } from "../commands/RegisterDevicesCommand"; import { RenderUiTemplateCommandInput, RenderUiTemplateCommandOutput } from "../commands/RenderUiTemplateCommand"; import { @@ -557,6 +580,10 @@ import { StopHyperParameterTuningJobCommandInput, StopHyperParameterTuningJobCommandOutput, } from "../commands/StopHyperParameterTuningJobCommand"; +import { + StopInferenceRecommendationsJobCommandInput, + StopInferenceRecommendationsJobCommandOutput, +} from "../commands/StopInferenceRecommendationsJobCommand"; import { StopLabelingJobCommandInput, StopLabelingJobCommandOutput } from "../commands/StopLabelingJobCommand"; import { StopMonitoringScheduleCommandInput, @@ -627,6 +654,7 @@ import { ActionSummary, AddAssociationRequest, AddAssociationResponse, + AdditionalInferenceSpecificationDefinition, AddTagsInput, AddTagsOutput, AgentVersion, @@ -680,11 +708,13 @@ import { CapacitySize, CaptureContentTypeHeader, CaptureOption, + CategoricalParameter, CategoricalParameterRange, CategoricalParameterRangeSpecification, Channel, ChannelSpecification, CheckpointConfig, + ClarifyCheckStepMetadata, CodeRepositorySummary, CognitoConfig, CognitoMemberDefinition, @@ -752,6 +782,7 @@ import { DomainSettings, EdgeOutputConfig, EndpointInput, + EnvironmentParameterRanges, FeatureDefinition, FileSystemConfig, FileSystemDataSource, @@ -762,7 +793,6 @@ import { HumanLoopActivationConfig, HumanLoopConfig, HumanLoopRequestSource, - HumanTaskConfig, HyperParameterAlgorithmSpecification, HyperParameterSpecification, HyperParameterTrainingJobDefinition, @@ -778,15 +808,12 @@ import { KernelGatewayAppSettings, KernelGatewayImageConfig, KernelSpec, - LabelingJobDataAttributes, - LabelingJobDataSource, - LabelingJobS3DataSource, - LabelingJobSnsDataSource, MetadataProperties, MetricDatum, MetricDefinition, MetricsSource, ModelDeployConfig, + ModelInput, ModelPackageContainerDefinition, MonitoringClusterConfig, MonitoringConstraintsResource, @@ -811,6 +838,7 @@ import { ProductionVariant, ProductionVariantCoreDumpConfig, ProductionVariantInstanceType, + ProductionVariantServerlessConfig, PublicWorkforceTaskPrice, RepositoryAuthConfig, ResourceConfig, @@ -844,7 +872,6 @@ import { TransformResources, TransformS3DataSource, TuningJobCompletionCriteria, - UiConfig, UiTemplate, USD, UserContext, @@ -852,6 +879,8 @@ import { VpcConfig, } from "../models/models_0"; import { + CreateInferenceRecommendationsJobRequest, + CreateInferenceRecommendationsJobResponse, CreateLabelingJobRequest, CreateLabelingJobResponse, CreateModelBiasJobDefinitionRequest, @@ -1005,47 +1034,44 @@ import { DescribeImageResponse, DescribeImageVersionRequest, DescribeImageVersionResponse, + DescribeInferenceRecommendationsJobRequest, + DescribeInferenceRecommendationsJobResponse, DescribeLabelingJobRequest, DescribeLabelingJobResponse, + DescribeLineageGroupRequest, + DescribeLineageGroupResponse, DescribeModelBiasJobDefinitionRequest, - DescribeModelBiasJobDefinitionResponse, - DescribeModelExplainabilityJobDefinitionRequest, - DescribeModelExplainabilityJobDefinitionResponse, DescribeModelInput, DescribeModelOutput, - DescribeModelPackageGroupInput, - DescribeModelPackageGroupOutput, - DescribeModelPackageInput, - DescribeModelPackageOutput, - DescribeModelQualityJobDefinitionRequest, - DescribeModelQualityJobDefinitionResponse, - DescribeMonitoringScheduleRequest, - DescribeMonitoringScheduleResponse, - DescribeNotebookInstanceInput, - DescribeNotebookInstanceLifecycleConfigInput, - DescribeNotebookInstanceLifecycleConfigOutput, - DescribeNotebookInstanceOutput, - DescribePipelineDefinitionForExecutionRequest, - DescribePipelineDefinitionForExecutionResponse, - DescribePipelineExecutionRequest, - DescribePipelineExecutionResponse, - DescribePipelineRequest, - DescribePipelineResponse, - DescribeProcessingJobRequest, + DriftCheckBaselines, + DriftCheckBias, + DriftCheckExplainability, + DriftCheckModelDataQuality, + DriftCheckModelQuality, EdgeModel, EdgePresetDeploymentOutput, + EndpointInputConfiguration, + EndpointOutputConfiguration, + EnvironmentParameter, ExperimentConfig, ExperimentSource, Explainability, + FileSource, FinalHyperParameterTuningJobObjectiveMetric, + HumanTaskConfig, HyperParameterTrainingJobSummary, InferenceExecutionConfig, + InferenceRecommendation, LabelCounters, LabelingJobAlgorithmsConfig, + LabelingJobDataAttributes, + LabelingJobDataSource, LabelingJobInputConfig, LabelingJobOutput, LabelingJobOutputConfig, LabelingJobResourceConfig, + LabelingJobS3DataSource, + LabelingJobSnsDataSource, LabelingJobStoppingConditions, MemberDefinition, ModelArtifacts, @@ -1053,15 +1079,15 @@ import { ModelBiasBaselineConfig, ModelBiasJobInput, ModelClientConfig, + ModelConfiguration, ModelDataQuality, ModelDeployResult, ModelDigests, ModelExplainabilityAppSpecification, ModelExplainabilityBaselineConfig, ModelExplainabilityJobInput, + ModelLatencyThreshold, ModelMetrics, - ModelPackageStatusDetails, - ModelPackageStatusItem, ModelPackageValidationProfile, ModelPackageValidationSpecification, ModelQuality, @@ -1070,7 +1096,6 @@ import { ModelQualityJobInput, MonitoringAppSpecification, MonitoringBaselineConfig, - MonitoringExecutionSummary, MonitoringGroundTruthS3Input, MonitoringInput, MonitoringJobDefinition, @@ -1085,7 +1110,7 @@ import { OidcMemberDefinition, PendingDeploymentSummary, PendingProductionVariantSummary, - PipelineExperimentConfig, + Phase, ProcessingClusterConfig, ProcessingFeatureStoreOutput, ProcessingInput, @@ -1100,6 +1125,10 @@ import { ProfilerConfig, ProfilerRuleConfiguration, ProvisioningParameter, + RecommendationJobInputConfig, + RecommendationJobResourceLimit, + RecommendationJobStoppingConditions, + RecommendationMetrics, RedshiftDatasetDefinition, ResolvedAttributes, RetentionPolicy, @@ -1109,13 +1138,37 @@ import { SourceAlgorithmSpecification, SourceIpConfig, TensorBoardOutputConfig, + TrafficPattern, TrainingJobStatusCounters, TrialComponentArtifact, TrialComponentParameterValue, TrialComponentStatus, + UiConfig, UiTemplateInfo, } from "../models/models_1"; import { + DescribeModelBiasJobDefinitionResponse, + DescribeModelExplainabilityJobDefinitionRequest, + DescribeModelExplainabilityJobDefinitionResponse, + DescribeModelPackageGroupInput, + DescribeModelPackageGroupOutput, + DescribeModelPackageInput, + DescribeModelPackageOutput, + DescribeModelQualityJobDefinitionRequest, + DescribeModelQualityJobDefinitionResponse, + DescribeMonitoringScheduleRequest, + DescribeMonitoringScheduleResponse, + DescribeNotebookInstanceInput, + DescribeNotebookInstanceLifecycleConfigInput, + DescribeNotebookInstanceLifecycleConfigOutput, + DescribeNotebookInstanceOutput, + DescribePipelineDefinitionForExecutionRequest, + DescribePipelineDefinitionForExecutionResponse, + DescribePipelineExecutionRequest, + DescribePipelineExecutionResponse, + DescribePipelineRequest, + DescribePipelineResponse, + DescribeProcessingJobRequest, DescribeProcessingJobResponse, DescribeProjectInput, DescribeProjectOutput, @@ -1148,6 +1201,7 @@ import { DisassociateTrialComponentResponse, DomainDetails, DomainSettingsForUpdate, + Edge, EdgeModelStat, EdgeModelSummary, EdgePackagingJobSummary, @@ -1164,6 +1218,8 @@ import { FlowDefinitionSummary, GetDeviceFleetReportRequest, GetDeviceFleetReportResponse, + GetLineageGroupPolicyRequest, + GetLineageGroupPolicyResponse, GetModelPackageGroupPolicyInput, GetModelPackageGroupPolicyOutput, GetSagemakerServicecatalogPortfolioStatusInput, @@ -1175,10 +1231,13 @@ import { HyperParameterTuningJobSummary, Image, ImageVersion, + InferenceRecommendationsJob, LabelCountersForWorkteam, LabelingJobForWorkteamSummary, LabelingJobSummary, LambdaStepMetadata, + LineageGroupSummary, + LineageType, ListActionsRequest, ListActionsResponse, ListAlgorithmsInput, @@ -1229,14 +1288,20 @@ import { ListImagesResponse, ListImageVersionsRequest, ListImageVersionsResponse, + ListInferenceRecommendationsJobsRequest, + ListInferenceRecommendationsJobsResponse, ListLabelingJobsForWorkteamRequest, ListLabelingJobsForWorkteamResponse, ListLabelingJobsRequest, ListLabelingJobsResponse, + ListLineageGroupsRequest, + ListLineageGroupsResponse, ListModelBiasJobDefinitionsRequest, ListModelBiasJobDefinitionsResponse, ListModelExplainabilityJobDefinitionsRequest, ListModelExplainabilityJobDefinitionsResponse, + ListModelMetadataRequest, + ListModelMetadataResponse, ListModelPackageGroupsInput, ListModelPackageGroupsOutput, ListModelPackagesInput, @@ -1276,102 +1341,105 @@ import { ListTrainingJobsRequest, ListTrainingJobsResponse, ListTransformJobsRequest, - ListTransformJobsResponse, - ListTrialComponentsRequest, - ListTrialComponentsResponse, - ListTrialsRequest, - ListTrialsResponse, - ListUserProfilesRequest, - ListUserProfilesResponse, - ListWorkforcesRequest, - ListWorkforcesResponse, - ListWorkteamsRequest, - ListWorkteamsResponse, MetricData, - ModelPackage, - ModelPackageGroup, + ModelMetadataFilter, + ModelMetadataSearchExpression, + ModelMetadataSummary, ModelPackageGroupSummary, + ModelPackageStatusDetails, + ModelPackageStatusItem, ModelPackageSummary, ModelStepMetadata, ModelSummary, + MonitoringExecutionSummary, MonitoringJobDefinitionSummary, MonitoringSchedule, MonitoringScheduleSummary, - NestedFilters, NotebookInstanceLifecycleConfigSummary, NotebookInstanceSummary, OidcConfigForResponse, Parameter, - Parent, - Pipeline, - PipelineExecution, PipelineExecutionStep, PipelineExecutionStepMetadata, PipelineExecutionSummary, + PipelineExperimentConfig, PipelineSummary, - ProcessingJob, ProcessingJobStepMetadata, ProcessingJobSummary, - ProfilerConfigForUpdate, ProfilerRuleEvaluationStatus, - Project, ProjectSummary, PropertyNameQuery, PropertyNameSuggestion, - PutModelPackageGroupPolicyInput, - PutModelPackageGroupPolicyOutput, - RegisterDevicesRequest, + QualityCheckStepMetadata, RegisterModelStepMetadata, - RenderableTask, - RenderingError, - RenderUiTemplateRequest, - RenderUiTemplateResponse, - RetryPipelineExecutionRequest, - RetryPipelineExecutionResponse, RStudioServerProDomainSettingsForUpdate, - SearchRecord, - SearchResponse, SecondaryStatusTransition, - SendPipelineExecutionStepFailureRequest, - SendPipelineExecutionStepFailureResponse, - SendPipelineExecutionStepSuccessRequest, - SendPipelineExecutionStepSuccessResponse, ServiceCatalogProvisionedProductDetails, - StartMonitoringScheduleRequest, - StartNotebookInstanceInput, - StartPipelineExecutionRequest, StudioLifecycleConfigDetails, SubscribedWorkteam, SuggestionQuery, - TrainingJob, TrainingJobStepMetadata, TrainingJobSummary, - TransformJob, TransformJobStepMetadata, TransformJobSummary, - Trial, - TrialComponent, TrialComponentMetricSummary, - TrialComponentSimpleSummary, TrialComponentSource, - TrialComponentSourceDetail, - TrialComponentSummary, TrialSource, - TrialSummary, TuningJobStepMetaData, - UserProfileDetails, Workforce, Workteam, } from "../models/models_2"; import { + ListTransformJobsResponse, + ListTrialComponentsRequest, + ListTrialComponentsResponse, + ListTrialsRequest, + ListTrialsResponse, + ListUserProfilesRequest, + ListUserProfilesResponse, + ListWorkforcesRequest, + ListWorkforcesResponse, + ListWorkteamsRequest, + ListWorkteamsResponse, + ModelPackage, + ModelPackageGroup, + NestedFilters, + Parent, + Pipeline, + PipelineExecution, + ProcessingJob, + ProfilerConfigForUpdate, + Project, + PutModelPackageGroupPolicyInput, + PutModelPackageGroupPolicyOutput, + QueryFilters, + QueryLineageRequest, + QueryLineageResponse, + RegisterDevicesRequest, + RenderableTask, + RenderingError, + RenderUiTemplateRequest, + RenderUiTemplateResponse, + RetryPipelineExecutionRequest, + RetryPipelineExecutionResponse, SearchExpression, + SearchRecord, SearchRequest, + SearchResponse, + SendPipelineExecutionStepFailureRequest, + SendPipelineExecutionStepFailureResponse, + SendPipelineExecutionStepSuccessRequest, + SendPipelineExecutionStepSuccessResponse, ServiceCatalogProvisioningUpdateDetails, + StartMonitoringScheduleRequest, + StartNotebookInstanceInput, + StartPipelineExecutionRequest, StartPipelineExecutionResponse, StopAutoMLJobRequest, StopCompilationJobRequest, StopEdgePackagingJobRequest, StopHyperParameterTuningJobRequest, + StopInferenceRecommendationsJobRequest, StopLabelingJobRequest, StopMonitoringScheduleRequest, StopNotebookInstanceInput, @@ -1380,6 +1448,14 @@ import { StopProcessingJobRequest, StopTrainingJobRequest, StopTransformJobRequest, + TrainingJob, + TransformJob, + Trial, + TrialComponent, + TrialComponentSimpleSummary, + TrialComponentSourceDetail, + TrialComponentSummary, + TrialSummary, UpdateActionRequest, UpdateActionResponse, UpdateAppImageConfigRequest, @@ -1428,7 +1504,9 @@ import { UpdateWorkforceResponse, UpdateWorkteamRequest, UpdateWorkteamResponse, + UserProfileDetails, VariantProperty, + Vertex, } from "../models/models_3"; export const serializeAws_json1_1AddAssociationCommand = async ( @@ -1769,6 +1847,19 @@ export const serializeAws_json1_1CreateImageVersionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateInferenceRecommendationsJobCommand = async ( + input: CreateInferenceRecommendationsJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.CreateInferenceRecommendationsJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateInferenceRecommendationsJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateLabelingJobCommand = async ( input: CreateLabelingJobCommandInput, context: __SerdeContext @@ -2874,6 +2965,19 @@ export const serializeAws_json1_1DescribeImageVersionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeInferenceRecommendationsJobCommand = async ( + input: DescribeInferenceRecommendationsJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.DescribeInferenceRecommendationsJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeInferenceRecommendationsJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeLabelingJobCommand = async ( input: DescribeLabelingJobCommandInput, context: __SerdeContext @@ -2887,6 +2991,19 @@ export const serializeAws_json1_1DescribeLabelingJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeLineageGroupCommand = async ( + input: DescribeLineageGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.DescribeLineageGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeLineageGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeModelCommand = async ( input: DescribeModelCommandInput, context: __SerdeContext @@ -3238,6 +3355,19 @@ export const serializeAws_json1_1GetDeviceFleetReportCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetLineageGroupPolicyCommand = async ( + input: GetLineageGroupPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.GetLineageGroupPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetLineageGroupPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetModelPackageGroupPolicyCommand = async ( input: GetModelPackageGroupPolicyCommandInput, context: __SerdeContext @@ -3602,6 +3732,19 @@ export const serializeAws_json1_1ListImageVersionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListInferenceRecommendationsJobsCommand = async ( + input: ListInferenceRecommendationsJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.ListInferenceRecommendationsJobs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListInferenceRecommendationsJobsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListLabelingJobsCommand = async ( input: ListLabelingJobsCommandInput, context: __SerdeContext @@ -3628,6 +3771,19 @@ export const serializeAws_json1_1ListLabelingJobsForWorkteamCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListLineageGroupsCommand = async ( + input: ListLineageGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.ListLineageGroups", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListLineageGroupsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListModelBiasJobDefinitionsCommand = async ( input: ListModelBiasJobDefinitionsCommandInput, context: __SerdeContext @@ -3654,6 +3810,19 @@ export const serializeAws_json1_1ListModelExplainabilityJobDefinitionsCommand = return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListModelMetadataCommand = async ( + input: ListModelMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.ListModelMetadata", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListModelMetadataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListModelPackageGroupsCommand = async ( input: ListModelPackageGroupsCommandInput, context: __SerdeContext @@ -3992,6 +4161,19 @@ export const serializeAws_json1_1PutModelPackageGroupPolicyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1QueryLineageCommand = async ( + input: QueryLineageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.QueryLineage", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1QueryLineageRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1RegisterDevicesCommand = async ( input: RegisterDevicesCommandInput, context: __SerdeContext @@ -4161,6 +4343,19 @@ export const serializeAws_json1_1StopHyperParameterTuningJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StopInferenceRecommendationsJobCommand = async ( + input: StopInferenceRecommendationsJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.StopInferenceRecommendationsJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StopInferenceRecommendationsJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StopLabelingJobCommand = async ( input: StopLabelingJobCommandInput, context: __SerdeContext @@ -6063,27 +6258,27 @@ const deserializeAws_json1_1CreateImageVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateLabelingJobCommand = async ( +export const deserializeAws_json1_1CreateInferenceRecommendationsJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateLabelingJobCommandError(output, context); + return deserializeAws_json1_1CreateInferenceRecommendationsJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateLabelingJobResponse(data, context); - const response: CreateLabelingJobCommandOutput = { + contents = deserializeAws_json1_1CreateInferenceRecommendationsJobResponse(data, context); + const response: CreateInferenceRecommendationsJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateLabelingJobCommandError = async ( +const deserializeAws_json1_1CreateInferenceRecommendationsJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6125,27 +6320,89 @@ const deserializeAws_json1_1CreateLabelingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateModelCommand = async ( +export const deserializeAws_json1_1CreateLabelingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateModelCommandError(output, context); + return deserializeAws_json1_1CreateLabelingJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateModelOutput(data, context); - const response: CreateModelCommandOutput = { + contents = deserializeAws_json1_1CreateLabelingJobResponse(data, context); + const response: CreateLabelingJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateModelCommandError = async ( +const deserializeAws_json1_1CreateLabelingJobCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceInUse": + case "com.amazonaws.sagemaker#ResourceInUse": + response = { + ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceeded": + case "com.amazonaws.sagemaker#ResourceLimitExceeded": + response = { + ...(await deserializeAws_json1_1ResourceLimitExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1CreateModelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateModelCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateModelOutput(data, context); + const response: CreateModelCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateModelCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10629,27 +10886,27 @@ const deserializeAws_json1_1DescribeImageVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeLabelingJobCommand = async ( +export const deserializeAws_json1_1DescribeInferenceRecommendationsJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeLabelingJobCommandError(output, context); + return deserializeAws_json1_1DescribeInferenceRecommendationsJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeLabelingJobResponse(data, context); - const response: DescribeLabelingJobCommandOutput = { + contents = deserializeAws_json1_1DescribeInferenceRecommendationsJobResponse(data, context); + const response: DescribeInferenceRecommendationsJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeLabelingJobCommandError = async ( +const deserializeAws_json1_1DescribeInferenceRecommendationsJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10683,73 +10940,27 @@ const deserializeAws_json1_1DescribeLabelingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeModelCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeModelCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeModelOutput(data, context); - const response: DescribeModelCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_json1_1DescribeModelCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadRestJsonErrorCode(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_json1_1DescribeModelBiasJobDefinitionCommand = async ( +export const deserializeAws_json1_1DescribeLabelingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeModelBiasJobDefinitionCommandError(output, context); + return deserializeAws_json1_1DescribeLabelingJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeModelBiasJobDefinitionResponse(data, context); - const response: DescribeModelBiasJobDefinitionCommandOutput = { + contents = deserializeAws_json1_1DescribeLabelingJobResponse(data, context); + const response: DescribeLabelingJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeModelBiasJobDefinitionCommandError = async ( +const deserializeAws_json1_1DescribeLabelingJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10783,27 +10994,27 @@ const deserializeAws_json1_1DescribeModelBiasJobDefinitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommand = async ( +export const deserializeAws_json1_1DescribeLineageGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommandError(output, context); + return deserializeAws_json1_1DescribeLineageGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionResponse(data, context); - const response: DescribeModelExplainabilityJobDefinitionCommandOutput = { + contents = deserializeAws_json1_1DescribeLineageGroupResponse(data, context); + const response: DescribeLineageGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommandError = async ( +const deserializeAws_json1_1DescribeLineageGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10837,73 +11048,27 @@ const deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeModelPackageCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeModelPackageCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeModelPackageOutput(data, context); - const response: DescribeModelPackageCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_json1_1DescribeModelPackageCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadRestJsonErrorCode(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_json1_1DescribeModelPackageGroupCommand = async ( +export const deserializeAws_json1_1DescribeModelCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeModelPackageGroupCommandError(output, context); + return deserializeAws_json1_1DescribeModelCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeModelPackageGroupOutput(data, context); - const response: DescribeModelPackageGroupCommandOutput = { + contents = deserializeAws_json1_1DescribeModelOutput(data, context); + const response: DescribeModelCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeModelPackageGroupCommandError = async ( +const deserializeAws_json1_1DescribeModelCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10929,27 +11094,27 @@ const deserializeAws_json1_1DescribeModelPackageGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeModelQualityJobDefinitionCommand = async ( +export const deserializeAws_json1_1DescribeModelBiasJobDefinitionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeModelQualityJobDefinitionCommandError(output, context); + return deserializeAws_json1_1DescribeModelBiasJobDefinitionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeModelQualityJobDefinitionResponse(data, context); - const response: DescribeModelQualityJobDefinitionCommandOutput = { + contents = deserializeAws_json1_1DescribeModelBiasJobDefinitionResponse(data, context); + const response: DescribeModelBiasJobDefinitionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeModelQualityJobDefinitionCommandError = async ( +const deserializeAws_json1_1DescribeModelBiasJobDefinitionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10983,27 +11148,27 @@ const deserializeAws_json1_1DescribeModelQualityJobDefinitionCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeMonitoringScheduleCommand = async ( +export const deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeMonitoringScheduleCommandError(output, context); + return deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeMonitoringScheduleResponse(data, context); - const response: DescribeMonitoringScheduleCommandOutput = { + contents = deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionResponse(data, context); + const response: DescribeModelExplainabilityJobDefinitionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeMonitoringScheduleCommandError = async ( +const deserializeAws_json1_1DescribeModelExplainabilityJobDefinitionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11037,27 +11202,27 @@ const deserializeAws_json1_1DescribeMonitoringScheduleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeNotebookInstanceCommand = async ( +export const deserializeAws_json1_1DescribeModelPackageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeNotebookInstanceCommandError(output, context); + return deserializeAws_json1_1DescribeModelPackageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeNotebookInstanceOutput(data, context); - const response: DescribeNotebookInstanceCommandOutput = { + contents = deserializeAws_json1_1DescribeModelPackageOutput(data, context); + const response: DescribeModelPackageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeNotebookInstanceCommandError = async ( +const deserializeAws_json1_1DescribeModelPackageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11083,27 +11248,27 @@ const deserializeAws_json1_1DescribeNotebookInstanceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommand = async ( +export const deserializeAws_json1_1DescribeModelPackageGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommandError(output, context); + return deserializeAws_json1_1DescribeModelPackageGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigOutput(data, context); - const response: DescribeNotebookInstanceLifecycleConfigCommandOutput = { + contents = deserializeAws_json1_1DescribeModelPackageGroupOutput(data, context); + const response: DescribeModelPackageGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommandError = async ( +const deserializeAws_json1_1DescribeModelPackageGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11129,27 +11294,27 @@ const deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribePipelineCommand = async ( +export const deserializeAws_json1_1DescribeModelQualityJobDefinitionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribePipelineCommandError(output, context); + return deserializeAws_json1_1DescribeModelQualityJobDefinitionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribePipelineResponse(data, context); - const response: DescribePipelineCommandOutput = { + contents = deserializeAws_json1_1DescribeModelQualityJobDefinitionResponse(data, context); + const response: DescribeModelQualityJobDefinitionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribePipelineCommandError = async ( +const deserializeAws_json1_1DescribeModelQualityJobDefinitionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11183,27 +11348,27 @@ const deserializeAws_json1_1DescribePipelineCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommand = async ( +export const deserializeAws_json1_1DescribeMonitoringScheduleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommandError(output, context); + return deserializeAws_json1_1DescribeMonitoringScheduleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribePipelineDefinitionForExecutionResponse(data, context); - const response: DescribePipelineDefinitionForExecutionCommandOutput = { + contents = deserializeAws_json1_1DescribeMonitoringScheduleResponse(data, context); + const response: DescribeMonitoringScheduleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommandError = async ( +const deserializeAws_json1_1DescribeMonitoringScheduleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11237,27 +11402,119 @@ const deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribePipelineExecutionCommand = async ( +export const deserializeAws_json1_1DescribeNotebookInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribePipelineExecutionCommandError(output, context); + return deserializeAws_json1_1DescribeNotebookInstanceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribePipelineExecutionResponse(data, context); - const response: DescribePipelineExecutionCommandOutput = { + contents = deserializeAws_json1_1DescribeNotebookInstanceOutput(data, context); + const response: DescribeNotebookInstanceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribePipelineExecutionCommandError = async ( +const deserializeAws_json1_1DescribeNotebookInstanceCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(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_json1_1DescribeNotebookInstanceLifecycleConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigOutput(data, context); + const response: DescribeNotebookInstanceLifecycleConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeNotebookInstanceLifecycleConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(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_json1_1DescribePipelineCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribePipelineCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribePipelineResponse(data, context); + const response: DescribePipelineCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribePipelineCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11291,27 +11548,27 @@ const deserializeAws_json1_1DescribePipelineExecutionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeProcessingJobCommand = async ( +export const deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeProcessingJobCommandError(output, context); + return deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeProcessingJobResponse(data, context); - const response: DescribeProcessingJobCommandOutput = { + contents = deserializeAws_json1_1DescribePipelineDefinitionForExecutionResponse(data, context); + const response: DescribePipelineDefinitionForExecutionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeProcessingJobCommandError = async ( +const deserializeAws_json1_1DescribePipelineDefinitionForExecutionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11345,27 +11602,27 @@ const deserializeAws_json1_1DescribeProcessingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeProjectCommand = async ( +export const deserializeAws_json1_1DescribePipelineExecutionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeProjectCommandError(output, context); + return deserializeAws_json1_1DescribePipelineExecutionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeProjectOutput(data, context); - const response: DescribeProjectCommandOutput = { + contents = deserializeAws_json1_1DescribePipelineExecutionResponse(data, context); + const response: DescribePipelineExecutionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeProjectCommandError = async ( +const deserializeAws_json1_1DescribePipelineExecutionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11374,6 +11631,14 @@ const deserializeAws_json1_1DescribeProjectCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -11391,27 +11656,27 @@ const deserializeAws_json1_1DescribeProjectCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeStudioLifecycleConfigCommand = async ( +export const deserializeAws_json1_1DescribeProcessingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError(output, context); + return deserializeAws_json1_1DescribeProcessingJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeStudioLifecycleConfigResponse(data, context); - const response: DescribeStudioLifecycleConfigCommandOutput = { + contents = deserializeAws_json1_1DescribeProcessingJobResponse(data, context); + const response: DescribeProcessingJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError = async ( +const deserializeAws_json1_1DescribeProcessingJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11445,27 +11710,27 @@ const deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeSubscribedWorkteamCommand = async ( +export const deserializeAws_json1_1DescribeProjectCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeSubscribedWorkteamCommandError(output, context); + return deserializeAws_json1_1DescribeProjectCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeSubscribedWorkteamResponse(data, context); - const response: DescribeSubscribedWorkteamCommandOutput = { + contents = deserializeAws_json1_1DescribeProjectOutput(data, context); + const response: DescribeProjectCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeSubscribedWorkteamCommandError = async ( +const deserializeAws_json1_1DescribeProjectCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11491,27 +11756,27 @@ const deserializeAws_json1_1DescribeSubscribedWorkteamCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeTrainingJobCommand = async ( +export const deserializeAws_json1_1DescribeStudioLifecycleConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeTrainingJobCommandError(output, context); + return deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeTrainingJobResponse(data, context); - const response: DescribeTrainingJobCommandOutput = { + contents = deserializeAws_json1_1DescribeStudioLifecycleConfigResponse(data, context); + const response: DescribeStudioLifecycleConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeTrainingJobCommandError = async ( +const deserializeAws_json1_1DescribeStudioLifecycleConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11545,27 +11810,27 @@ const deserializeAws_json1_1DescribeTrainingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeTransformJobCommand = async ( +export const deserializeAws_json1_1DescribeSubscribedWorkteamCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeTransformJobCommandError(output, context); + return deserializeAws_json1_1DescribeSubscribedWorkteamCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeTransformJobResponse(data, context); - const response: DescribeTransformJobCommandOutput = { + contents = deserializeAws_json1_1DescribeSubscribedWorkteamResponse(data, context); + const response: DescribeSubscribedWorkteamCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeTransformJobCommandError = async ( +const deserializeAws_json1_1DescribeSubscribedWorkteamCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11574,14 +11839,6 @@ const deserializeAws_json1_1DescribeTransformJobCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ResourceNotFound": - case "com.amazonaws.sagemaker#ResourceNotFound": - response = { - ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -11599,27 +11856,27 @@ const deserializeAws_json1_1DescribeTransformJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeTrialCommand = async ( +export const deserializeAws_json1_1DescribeTrainingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeTrialCommandError(output, context); + return deserializeAws_json1_1DescribeTrainingJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeTrialResponse(data, context); - const response: DescribeTrialCommandOutput = { + contents = deserializeAws_json1_1DescribeTrainingJobResponse(data, context); + const response: DescribeTrainingJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeTrialCommandError = async ( +const deserializeAws_json1_1DescribeTrainingJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11653,27 +11910,27 @@ const deserializeAws_json1_1DescribeTrialCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeTrialComponentCommand = async ( +export const deserializeAws_json1_1DescribeTransformJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeTrialComponentCommandError(output, context); + return deserializeAws_json1_1DescribeTransformJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeTrialComponentResponse(data, context); - const response: DescribeTrialComponentCommandOutput = { + contents = deserializeAws_json1_1DescribeTransformJobResponse(data, context); + const response: DescribeTransformJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeTrialComponentCommandError = async ( +const deserializeAws_json1_1DescribeTransformJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11707,27 +11964,135 @@ const deserializeAws_json1_1DescribeTrialComponentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeUserProfileCommand = async ( +export const deserializeAws_json1_1DescribeTrialCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeUserProfileCommandError(output, context); + return deserializeAws_json1_1DescribeTrialCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeUserProfileResponse(data, context); - const response: DescribeUserProfileCommandOutput = { + contents = deserializeAws_json1_1DescribeTrialResponse(data, context); + const response: DescribeTrialCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeUserProfileCommandError = async ( +const deserializeAws_json1_1DescribeTrialCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1DescribeTrialComponentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeTrialComponentCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeTrialComponentResponse(data, context); + const response: DescribeTrialComponentCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeTrialComponentCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1DescribeUserProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeUserProfileCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeUserProfileResponse(data, context); + const response: DescribeUserProfileCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeUserProfileCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12045,6 +12410,60 @@ const deserializeAws_json1_1GetDeviceFleetReportCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetLineageGroupPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetLineageGroupPolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetLineageGroupPolicyResponse(data, context); + const response: GetLineageGroupPolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetLineageGroupPolicyCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1GetModelPackageGroupPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -13381,27 +13800,27 @@ const deserializeAws_json1_1ListImageVersionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListLabelingJobsCommand = async ( +export const deserializeAws_json1_1ListInferenceRecommendationsJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListLabelingJobsCommandError(output, context); + return deserializeAws_json1_1ListInferenceRecommendationsJobsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListLabelingJobsResponse(data, context); - const response: ListLabelingJobsCommandOutput = { + contents = deserializeAws_json1_1ListInferenceRecommendationsJobsResponse(data, context); + const response: ListInferenceRecommendationsJobsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListLabelingJobsCommandError = async ( +const deserializeAws_json1_1ListInferenceRecommendationsJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13427,27 +13846,27 @@ const deserializeAws_json1_1ListLabelingJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListLabelingJobsForWorkteamCommand = async ( +export const deserializeAws_json1_1ListLabelingJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListLabelingJobsForWorkteamCommandError(output, context); + return deserializeAws_json1_1ListLabelingJobsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListLabelingJobsForWorkteamResponse(data, context); - const response: ListLabelingJobsForWorkteamCommandOutput = { + contents = deserializeAws_json1_1ListLabelingJobsResponse(data, context); + const response: ListLabelingJobsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListLabelingJobsForWorkteamCommandError = async ( +const deserializeAws_json1_1ListLabelingJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13456,14 +13875,6 @@ const deserializeAws_json1_1ListLabelingJobsForWorkteamCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ResourceNotFound": - case "com.amazonaws.sagemaker#ResourceNotFound": - response = { - ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -13481,27 +13892,27 @@ const deserializeAws_json1_1ListLabelingJobsForWorkteamCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListModelBiasJobDefinitionsCommand = async ( +export const deserializeAws_json1_1ListLabelingJobsForWorkteamCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListModelBiasJobDefinitionsCommandError(output, context); + return deserializeAws_json1_1ListLabelingJobsForWorkteamCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListModelBiasJobDefinitionsResponse(data, context); - const response: ListModelBiasJobDefinitionsCommandOutput = { + contents = deserializeAws_json1_1ListLabelingJobsForWorkteamResponse(data, context); + const response: ListLabelingJobsForWorkteamCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListModelBiasJobDefinitionsCommandError = async ( +const deserializeAws_json1_1ListLabelingJobsForWorkteamCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13510,6 +13921,14 @@ const deserializeAws_json1_1ListModelBiasJobDefinitionsCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -13527,27 +13946,27 @@ const deserializeAws_json1_1ListModelBiasJobDefinitionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommand = async ( +export const deserializeAws_json1_1ListLineageGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommandError(output, context); + return deserializeAws_json1_1ListLineageGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListModelExplainabilityJobDefinitionsResponse(data, context); - const response: ListModelExplainabilityJobDefinitionsCommandOutput = { + contents = deserializeAws_json1_1ListLineageGroupsResponse(data, context); + const response: ListLineageGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommandError = async ( +const deserializeAws_json1_1ListLineageGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13573,27 +13992,27 @@ const deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListModelPackageGroupsCommand = async ( +export const deserializeAws_json1_1ListModelBiasJobDefinitionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListModelPackageGroupsCommandError(output, context); + return deserializeAws_json1_1ListModelBiasJobDefinitionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListModelPackageGroupsOutput(data, context); - const response: ListModelPackageGroupsCommandOutput = { + contents = deserializeAws_json1_1ListModelBiasJobDefinitionsResponse(data, context); + const response: ListModelBiasJobDefinitionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListModelPackageGroupsCommandError = async ( +const deserializeAws_json1_1ListModelBiasJobDefinitionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13619,27 +14038,27 @@ const deserializeAws_json1_1ListModelPackageGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListModelPackagesCommand = async ( +export const deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListModelPackagesCommandError(output, context); + return deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListModelPackagesOutput(data, context); - const response: ListModelPackagesCommandOutput = { + contents = deserializeAws_json1_1ListModelExplainabilityJobDefinitionsResponse(data, context); + const response: ListModelExplainabilityJobDefinitionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListModelPackagesCommandError = async ( +const deserializeAws_json1_1ListModelExplainabilityJobDefinitionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13665,27 +14084,27 @@ const deserializeAws_json1_1ListModelPackagesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListModelQualityJobDefinitionsCommand = async ( +export const deserializeAws_json1_1ListModelMetadataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListModelQualityJobDefinitionsCommandError(output, context); + return deserializeAws_json1_1ListModelMetadataCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListModelQualityJobDefinitionsResponse(data, context); - const response: ListModelQualityJobDefinitionsCommandOutput = { + contents = deserializeAws_json1_1ListModelMetadataResponse(data, context); + const response: ListModelMetadataCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListModelQualityJobDefinitionsCommandError = async ( +const deserializeAws_json1_1ListModelMetadataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13711,27 +14130,165 @@ const deserializeAws_json1_1ListModelQualityJobDefinitionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListModelsCommand = async ( +export const deserializeAws_json1_1ListModelPackageGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListModelsCommandError(output, context); + return deserializeAws_json1_1ListModelPackageGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListModelsOutput(data, context); - const response: ListModelsCommandOutput = { + contents = deserializeAws_json1_1ListModelPackageGroupsOutput(data, context); + const response: ListModelPackageGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListModelsCommandError = async ( +const deserializeAws_json1_1ListModelPackageGroupsCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(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_json1_1ListModelPackagesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListModelPackagesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListModelPackagesOutput(data, context); + const response: ListModelPackagesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListModelPackagesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(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_json1_1ListModelQualityJobDefinitionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListModelQualityJobDefinitionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListModelQualityJobDefinitionsResponse(data, context); + const response: ListModelQualityJobDefinitionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListModelQualityJobDefinitionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(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_json1_1ListModelsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListModelsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListModelsOutput(data, context); + const response: ListModelsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListModelsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14825,6 +15382,60 @@ const deserializeAws_json1_1PutModelPackageGroupPolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1QueryLineageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1QueryLineageCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1QueryLineageResponse(data, context); + const response: QueryLineageCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1QueryLineageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1RegisterDevicesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -15530,24 +16141,24 @@ const deserializeAws_json1_1StopHyperParameterTuningJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1StopLabelingJobCommand = async ( +export const deserializeAws_json1_1StopInferenceRecommendationsJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1StopLabelingJobCommandError(output, context); + return deserializeAws_json1_1StopInferenceRecommendationsJobCommandError(output, context); } await collectBody(output.body, context); - const response: StopLabelingJobCommandOutput = { + const response: StopInferenceRecommendationsJobCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_json1_1StopLabelingJobCommandError = async ( +const deserializeAws_json1_1StopInferenceRecommendationsJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15581,24 +16192,24 @@ const deserializeAws_json1_1StopLabelingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1StopMonitoringScheduleCommand = async ( +export const deserializeAws_json1_1StopLabelingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1StopMonitoringScheduleCommandError(output, context); + return deserializeAws_json1_1StopLabelingJobCommandError(output, context); } await collectBody(output.body, context); - const response: StopMonitoringScheduleCommandOutput = { + const response: StopLabelingJobCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_json1_1StopMonitoringScheduleCommandError = async ( +const deserializeAws_json1_1StopLabelingJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15632,70 +16243,24 @@ const deserializeAws_json1_1StopMonitoringScheduleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1StopNotebookInstanceCommand = async ( +export const deserializeAws_json1_1StopMonitoringScheduleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1StopNotebookInstanceCommandError(output, context); + return deserializeAws_json1_1StopMonitoringScheduleCommandError(output, context); } await collectBody(output.body, context); - const response: StopNotebookInstanceCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_json1_1StopNotebookInstanceCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadRestJsonErrorCode(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_json1_1StopPipelineExecutionCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_json1_1StopPipelineExecutionCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1StopPipelineExecutionResponse(data, context); - const response: StopPipelineExecutionCommandOutput = { + const response: StopMonitoringScheduleCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1StopPipelineExecutionCommandError = async ( +const deserializeAws_json1_1StopMonitoringScheduleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15729,24 +16294,24 @@ const deserializeAws_json1_1StopPipelineExecutionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1StopProcessingJobCommand = async ( +export const deserializeAws_json1_1StopNotebookInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1StopProcessingJobCommandError(output, context); + return deserializeAws_json1_1StopNotebookInstanceCommandError(output, context); } await collectBody(output.body, context); - const response: StopProcessingJobCommandOutput = { + const response: StopNotebookInstanceCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_json1_1StopProcessingJobCommandError = async ( +const deserializeAws_json1_1StopNotebookInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15755,14 +16320,6 @@ const deserializeAws_json1_1StopProcessingJobCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ResourceNotFound": - case "com.amazonaws.sagemaker#ResourceNotFound": - response = { - ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -15780,24 +16337,27 @@ const deserializeAws_json1_1StopProcessingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1StopTrainingJobCommand = async ( +export const deserializeAws_json1_1StopPipelineExecutionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1StopTrainingJobCommandError(output, context); + return deserializeAws_json1_1StopPipelineExecutionCommandError(output, context); } - await collectBody(output.body, context); - const response: StopTrainingJobCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StopPipelineExecutionResponse(data, context); + const response: StopPipelineExecutionCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1StopTrainingJobCommandError = async ( +const deserializeAws_json1_1StopPipelineExecutionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15831,24 +16391,24 @@ const deserializeAws_json1_1StopTrainingJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1StopTransformJobCommand = async ( +export const deserializeAws_json1_1StopProcessingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1StopTransformJobCommandError(output, context); + return deserializeAws_json1_1StopProcessingJobCommandError(output, context); } await collectBody(output.body, context); - const response: StopTransformJobCommandOutput = { + const response: StopProcessingJobCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_json1_1StopTransformJobCommandError = async ( +const deserializeAws_json1_1StopProcessingJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15882,27 +16442,24 @@ const deserializeAws_json1_1StopTransformJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateActionCommand = async ( +export const deserializeAws_json1_1StopTrainingJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateActionCommandError(output, context); + return deserializeAws_json1_1StopTrainingJobCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1UpdateActionResponse(data, context); - const response: UpdateActionCommandOutput = { + await collectBody(output.body, context); + const response: StopTrainingJobCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateActionCommandError = async ( +const deserializeAws_json1_1StopTrainingJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15911,14 +16468,6 @@ const deserializeAws_json1_1UpdateActionCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sagemaker#ConflictException": - response = { - ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFound": case "com.amazonaws.sagemaker#ResourceNotFound": response = { @@ -15944,27 +16493,24 @@ const deserializeAws_json1_1UpdateActionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateAppImageConfigCommand = async ( +export const deserializeAws_json1_1StopTransformJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateAppImageConfigCommandError(output, context); + return deserializeAws_json1_1StopTransformJobCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1UpdateAppImageConfigResponse(data, context); - const response: UpdateAppImageConfigCommandOutput = { + await collectBody(output.body, context); + const response: StopTransformJobCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateAppImageConfigCommandError = async ( +const deserializeAws_json1_1StopTransformJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15998,27 +16544,27 @@ const deserializeAws_json1_1UpdateAppImageConfigCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateArtifactCommand = async ( +export const deserializeAws_json1_1UpdateActionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateArtifactCommandError(output, context); + return deserializeAws_json1_1UpdateActionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1UpdateArtifactResponse(data, context); - const response: UpdateArtifactCommandOutput = { + contents = deserializeAws_json1_1UpdateActionResponse(data, context); + const response: UpdateActionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateArtifactCommandError = async ( +const deserializeAws_json1_1UpdateActionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16060,27 +16606,27 @@ const deserializeAws_json1_1UpdateArtifactCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateCodeRepositoryCommand = async ( +export const deserializeAws_json1_1UpdateAppImageConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateCodeRepositoryCommandError(output, context); + return deserializeAws_json1_1UpdateAppImageConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1UpdateCodeRepositoryOutput(data, context); - const response: UpdateCodeRepositoryCommandOutput = { + contents = deserializeAws_json1_1UpdateAppImageConfigResponse(data, context); + const response: UpdateAppImageConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateCodeRepositoryCommandError = async ( +const deserializeAws_json1_1UpdateAppImageConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16089,6 +16635,14 @@ const deserializeAws_json1_1UpdateCodeRepositoryCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -16106,27 +16660,27 @@ const deserializeAws_json1_1UpdateCodeRepositoryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateContextCommand = async ( +export const deserializeAws_json1_1UpdateArtifactCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateContextCommandError(output, context); + return deserializeAws_json1_1UpdateArtifactCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1UpdateContextResponse(data, context); - const response: UpdateContextCommandOutput = { + contents = deserializeAws_json1_1UpdateArtifactResponse(data, context); + const response: UpdateArtifactCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateContextCommandError = async ( +const deserializeAws_json1_1UpdateArtifactCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16168,75 +16722,27 @@ const deserializeAws_json1_1UpdateContextCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateDeviceFleetCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateDeviceFleetCommandError(output, context); - } - await collectBody(output.body, context); - const response: UpdateDeviceFleetCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_json1_1UpdateDeviceFleetCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ResourceInUse": - case "com.amazonaws.sagemaker#ResourceInUse": - response = { - ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.code || parsedBody.Code || errorCode; - response = { - ...parsedBody, - name: `${errorCode}`, - message: parsedBody.message || parsedBody.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const 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_1UpdateDevicesCommand = async ( +export const deserializeAws_json1_1UpdateCodeRepositoryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateDevicesCommandError(output, context); + return deserializeAws_json1_1UpdateCodeRepositoryCommandError(output, context); } - await collectBody(output.body, context); - const response: UpdateDevicesCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateCodeRepositoryOutput(data, context); + const response: UpdateCodeRepositoryCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateDevicesCommandError = async ( +const deserializeAws_json1_1UpdateCodeRepositoryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16262,27 +16768,27 @@ const deserializeAws_json1_1UpdateDevicesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateDomainCommand = async ( +export const deserializeAws_json1_1UpdateContextCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateDomainCommandError(output, context); + return deserializeAws_json1_1UpdateContextCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1UpdateDomainResponse(data, context); - const response: UpdateDomainCommandOutput = { + contents = deserializeAws_json1_1UpdateContextResponse(data, context); + const response: UpdateContextCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateDomainCommandError = async ( +const deserializeAws_json1_1UpdateContextCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16291,18 +16797,10 @@ const deserializeAws_json1_1UpdateDomainCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ResourceInUse": - case "com.amazonaws.sagemaker#ResourceInUse": - response = { - ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceLimitExceeded": - case "com.amazonaws.sagemaker#ResourceLimitExceeded": + case "ConflictException": + case "com.amazonaws.sagemaker#ConflictException": response = { - ...(await deserializeAws_json1_1ResourceLimitExceededResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -16332,27 +16830,24 @@ const deserializeAws_json1_1UpdateDomainCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1UpdateEndpointCommand = async ( +export const deserializeAws_json1_1UpdateDeviceFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1UpdateEndpointCommandError(output, context); + return deserializeAws_json1_1UpdateDeviceFleetCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1UpdateEndpointOutput(data, context); - const response: UpdateEndpointCommandOutput = { + await collectBody(output.body, context); + const response: UpdateDeviceFleetCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1UpdateEndpointCommandError = async ( +const deserializeAws_json1_1UpdateDeviceFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16361,10 +16856,177 @@ const deserializeAws_json1_1UpdateEndpointCommandError = async ( let errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ResourceLimitExceeded": - case "com.amazonaws.sagemaker#ResourceLimitExceeded": + case "ResourceInUse": + case "com.amazonaws.sagemaker#ResourceInUse": response = { - ...(await deserializeAws_json1_1ResourceLimitExceededResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1UpdateDevicesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateDevicesCommandError(output, context); + } + await collectBody(output.body, context); + const response: UpdateDevicesCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateDevicesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(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_json1_1UpdateDomainCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateDomainCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateDomainResponse(data, context); + const response: UpdateDomainCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateDomainCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceInUse": + case "com.amazonaws.sagemaker#ResourceInUse": + response = { + ...(await deserializeAws_json1_1ResourceInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceeded": + case "com.amazonaws.sagemaker#ResourceLimitExceeded": + response = { + ...(await deserializeAws_json1_1ResourceLimitExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFound": + case "com.amazonaws.sagemaker#ResourceNotFound": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const 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_1UpdateEndpointCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateEndpointCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateEndpointOutput(data, context); + const response: UpdateEndpointCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateEndpointCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ResourceLimitExceeded": + case "com.amazonaws.sagemaker#ResourceLimitExceeded": + response = { + ...(await deserializeAws_json1_1ResourceLimitExceededResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -17371,6 +18033,56 @@ const serializeAws_json1_1AdditionalCodeRepositoryNamesOrUrls = (input: string[] }); }; +const serializeAws_json1_1AdditionalInferenceSpecificationDefinition = ( + input: AdditionalInferenceSpecificationDefinition, + context: __SerdeContext +): any => { + return { + ...(input.Containers !== undefined && + input.Containers !== null && { + Containers: serializeAws_json1_1ModelPackageContainerDefinitionList(input.Containers, context), + }), + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.SupportedContentTypes !== undefined && + input.SupportedContentTypes !== null && { + SupportedContentTypes: serializeAws_json1_1ContentTypes(input.SupportedContentTypes, context), + }), + ...(input.SupportedRealtimeInferenceInstanceTypes !== undefined && + input.SupportedRealtimeInferenceInstanceTypes !== null && { + SupportedRealtimeInferenceInstanceTypes: serializeAws_json1_1RealtimeInferenceInstanceTypes( + input.SupportedRealtimeInferenceInstanceTypes, + context + ), + }), + ...(input.SupportedResponseMIMETypes !== undefined && + input.SupportedResponseMIMETypes !== null && { + SupportedResponseMIMETypes: serializeAws_json1_1ResponseMIMETypes(input.SupportedResponseMIMETypes, context), + }), + ...(input.SupportedTransformInstanceTypes !== undefined && + input.SupportedTransformInstanceTypes !== null && { + SupportedTransformInstanceTypes: serializeAws_json1_1TransformInstanceTypes( + input.SupportedTransformInstanceTypes, + context + ), + }), + }; +}; + +const serializeAws_json1_1AdditionalInferenceSpecifications = ( + input: AdditionalInferenceSpecificationDefinition[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1AdditionalInferenceSpecificationDefinition(entry, context); + }); +}; + const serializeAws_json1_1AddTagsInput = (input: AddTagsInput, context: __SerdeContext): any => { return { ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), @@ -17711,6 +18423,14 @@ const serializeAws_json1_1BatchDescribeModelPackageInput = ( const serializeAws_json1_1Bias = (input: Bias, context: __SerdeContext): any => { return { + ...(input.PostTrainingReport !== undefined && + input.PostTrainingReport !== null && { + PostTrainingReport: serializeAws_json1_1MetricsSource(input.PostTrainingReport, context), + }), + ...(input.PreTrainingReport !== undefined && + input.PreTrainingReport !== null && { + PreTrainingReport: serializeAws_json1_1MetricsSource(input.PreTrainingReport, context), + }), ...(input.Report !== undefined && input.Report !== null && { Report: serializeAws_json1_1MetricsSource(input.Report, context) }), }; @@ -17774,6 +18494,14 @@ const serializeAws_json1_1CaptureOptionList = (input: CaptureOption[], context: }); }; +const serializeAws_json1_1CategoricalParameter = (input: CategoricalParameter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.Value !== undefined && + input.Value !== null && { Value: serializeAws_json1_1CategoricalParameterRangeValues(input.Value, context) }), + }; +}; + const serializeAws_json1_1CategoricalParameterRange = ( input: CategoricalParameterRange, context: __SerdeContext @@ -17809,6 +18537,28 @@ const serializeAws_json1_1CategoricalParameterRangeSpecification = ( }; }; +const serializeAws_json1_1CategoricalParameterRangeValues = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1CategoricalParameters = (input: CategoricalParameter[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1CategoricalParameter(entry, context); + }); +}; + const serializeAws_json1_1Channel = (input: Channel, context: __SerdeContext): any => { return { ...(input.ChannelName !== undefined && input.ChannelName !== null && { ChannelName: input.ChannelName }), @@ -17959,6 +18709,8 @@ const serializeAws_json1_1ContainerDefinition = (input: ContainerDefinition, con ...(input.Image !== undefined && input.Image !== null && { Image: input.Image }), ...(input.ImageConfig !== undefined && input.ImageConfig !== null && { ImageConfig: serializeAws_json1_1ImageConfig(input.ImageConfig, context) }), + ...(input.InferenceSpecificationName !== undefined && + input.InferenceSpecificationName !== null && { InferenceSpecificationName: input.InferenceSpecificationName }), ...(input.Mode !== undefined && input.Mode !== null && { Mode: input.Mode }), ...(input.ModelDataUrl !== undefined && input.ModelDataUrl !== null && { ModelDataUrl: input.ModelDataUrl }), ...(input.ModelPackageName !== undefined && @@ -18208,6 +18960,8 @@ const serializeAws_json1_1CreateCompilationJobRequest = ( input.CompilationJobName !== null && { CompilationJobName: input.CompilationJobName }), ...(input.InputConfig !== undefined && input.InputConfig !== null && { InputConfig: serializeAws_json1_1InputConfig(input.InputConfig, context) }), + ...(input.ModelPackageVersionArn !== undefined && + input.ModelPackageVersionArn !== null && { ModelPackageVersionArn: input.ModelPackageVersionArn }), ...(input.OutputConfig !== undefined && input.OutputConfig !== null && { OutputConfig: serializeAws_json1_1OutputConfig(input.OutputConfig, context) }), ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), @@ -18528,6 +19282,28 @@ const serializeAws_json1_1CreateImageVersionRequest = ( }; }; +const serializeAws_json1_1CreateInferenceRecommendationsJobRequest = ( + input: CreateInferenceRecommendationsJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.InputConfig !== undefined && + input.InputConfig !== null && { + InputConfig: serializeAws_json1_1RecommendationJobInputConfig(input.InputConfig, context), + }), + ...(input.JobDescription !== undefined && + input.JobDescription !== null && { JobDescription: input.JobDescription }), + ...(input.JobName !== undefined && input.JobName !== null && { JobName: input.JobName }), + ...(input.JobType !== undefined && input.JobType !== null && { JobType: input.JobType }), + ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), + ...(input.StoppingConditions !== undefined && + input.StoppingConditions !== null && { + StoppingConditions: serializeAws_json1_1RecommendationJobStoppingConditions(input.StoppingConditions, context), + }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreateLabelingJobRequest = ( input: CreateLabelingJobRequest, context: __SerdeContext @@ -18704,6 +19480,13 @@ const serializeAws_json1_1CreateModelPackageGroupInput = ( const serializeAws_json1_1CreateModelPackageInput = (input: CreateModelPackageInput, context: __SerdeContext): any => { return { + ...(input.AdditionalInferenceSpecifications !== undefined && + input.AdditionalInferenceSpecifications !== null && { + AdditionalInferenceSpecifications: serializeAws_json1_1AdditionalInferenceSpecifications( + input.AdditionalInferenceSpecifications, + context + ), + }), ...(input.CertifyForMarketplace !== undefined && input.CertifyForMarketplace !== null && { CertifyForMarketplace: input.CertifyForMarketplace }), ClientToken: input.ClientToken ?? generateIdempotencyToken(), @@ -18711,6 +19494,11 @@ const serializeAws_json1_1CreateModelPackageInput = (input: CreateModelPackageIn input.CustomerMetadataProperties !== null && { CustomerMetadataProperties: serializeAws_json1_1CustomerMetadataMap(input.CustomerMetadataProperties, context), }), + ...(input.Domain !== undefined && input.Domain !== null && { Domain: input.Domain }), + ...(input.DriftCheckBaselines !== undefined && + input.DriftCheckBaselines !== null && { + DriftCheckBaselines: serializeAws_json1_1DriftCheckBaselines(input.DriftCheckBaselines, context), + }), ...(input.InferenceSpecification !== undefined && input.InferenceSpecification !== null && { InferenceSpecification: serializeAws_json1_1InferenceSpecification(input.InferenceSpecification, context), @@ -18729,6 +19517,8 @@ const serializeAws_json1_1CreateModelPackageInput = (input: CreateModelPackageIn input.ModelPackageGroupName !== null && { ModelPackageGroupName: input.ModelPackageGroupName }), ...(input.ModelPackageName !== undefined && input.ModelPackageName !== null && { ModelPackageName: input.ModelPackageName }), + ...(input.SamplePayloadUrl !== undefined && + input.SamplePayloadUrl !== null && { SamplePayloadUrl: input.SamplePayloadUrl }), ...(input.SourceAlgorithmSpecification !== undefined && input.SourceAlgorithmSpecification !== null && { SourceAlgorithmSpecification: serializeAws_json1_1SourceAlgorithmSpecification( @@ -18737,6 +19527,7 @@ const serializeAws_json1_1CreateModelPackageInput = (input: CreateModelPackageIn ), }), ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + ...(input.Task !== undefined && input.Task !== null && { Task: input.Task }), ...(input.ValidationSpecification !== undefined && input.ValidationSpecification !== null && { ValidationSpecification: serializeAws_json1_1ModelPackageValidationSpecification( @@ -20006,6 +20797,15 @@ const serializeAws_json1_1DescribeImageVersionRequest = ( }; }; +const serializeAws_json1_1DescribeInferenceRecommendationsJobRequest = ( + input: DescribeInferenceRecommendationsJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobName !== undefined && input.JobName !== null && { JobName: input.JobName }), + }; +}; + const serializeAws_json1_1DescribeLabelingJobRequest = ( input: DescribeLabelingJobRequest, context: __SerdeContext @@ -20016,6 +20816,16 @@ const serializeAws_json1_1DescribeLabelingJobRequest = ( }; }; +const serializeAws_json1_1DescribeLineageGroupRequest = ( + input: DescribeLineageGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.LineageGroupName !== undefined && + input.LineageGroupName !== null && { LineageGroupName: input.LineageGroupName }), + }; +}; + const serializeAws_json1_1DescribeModelBiasJobDefinitionRequest = ( input: DescribeModelBiasJobDefinitionRequest, context: __SerdeContext @@ -20341,6 +21151,73 @@ const serializeAws_json1_1DomainSettingsForUpdate = (input: DomainSettingsForUpd }; }; +const serializeAws_json1_1DriftCheckBaselines = (input: DriftCheckBaselines, context: __SerdeContext): any => { + return { + ...(input.Bias !== undefined && + input.Bias !== null && { Bias: serializeAws_json1_1DriftCheckBias(input.Bias, context) }), + ...(input.Explainability !== undefined && + input.Explainability !== null && { + Explainability: serializeAws_json1_1DriftCheckExplainability(input.Explainability, context), + }), + ...(input.ModelDataQuality !== undefined && + input.ModelDataQuality !== null && { + ModelDataQuality: serializeAws_json1_1DriftCheckModelDataQuality(input.ModelDataQuality, context), + }), + ...(input.ModelQuality !== undefined && + input.ModelQuality !== null && { + ModelQuality: serializeAws_json1_1DriftCheckModelQuality(input.ModelQuality, context), + }), + }; +}; + +const serializeAws_json1_1DriftCheckBias = (input: DriftCheckBias, context: __SerdeContext): any => { + return { + ...(input.ConfigFile !== undefined && + input.ConfigFile !== null && { ConfigFile: serializeAws_json1_1FileSource(input.ConfigFile, context) }), + ...(input.PostTrainingConstraints !== undefined && + input.PostTrainingConstraints !== null && { + PostTrainingConstraints: serializeAws_json1_1MetricsSource(input.PostTrainingConstraints, context), + }), + ...(input.PreTrainingConstraints !== undefined && + input.PreTrainingConstraints !== null && { + PreTrainingConstraints: serializeAws_json1_1MetricsSource(input.PreTrainingConstraints, context), + }), + }; +}; + +const serializeAws_json1_1DriftCheckExplainability = ( + input: DriftCheckExplainability, + context: __SerdeContext +): any => { + return { + ...(input.ConfigFile !== undefined && + input.ConfigFile !== null && { ConfigFile: serializeAws_json1_1FileSource(input.ConfigFile, context) }), + ...(input.Constraints !== undefined && + input.Constraints !== null && { Constraints: serializeAws_json1_1MetricsSource(input.Constraints, context) }), + }; +}; + +const serializeAws_json1_1DriftCheckModelDataQuality = ( + input: DriftCheckModelDataQuality, + context: __SerdeContext +): any => { + return { + ...(input.Constraints !== undefined && + input.Constraints !== null && { Constraints: serializeAws_json1_1MetricsSource(input.Constraints, context) }), + ...(input.Statistics !== undefined && + input.Statistics !== null && { Statistics: serializeAws_json1_1MetricsSource(input.Statistics, context) }), + }; +}; + +const serializeAws_json1_1DriftCheckModelQuality = (input: DriftCheckModelQuality, context: __SerdeContext): any => { + return { + ...(input.Constraints !== undefined && + input.Constraints !== null && { Constraints: serializeAws_json1_1MetricsSource(input.Constraints, context) }), + ...(input.Statistics !== undefined && + input.Statistics !== null && { Statistics: serializeAws_json1_1MetricsSource(input.Statistics, context) }), + }; +}; + const serializeAws_json1_1EdgeOutputConfig = (input: EdgeOutputConfig, context: __SerdeContext): any => { return { ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), @@ -20383,6 +21260,38 @@ const serializeAws_json1_1EndpointInput = (input: EndpointInput, context: __Serd }; }; +const serializeAws_json1_1EndpointInputConfiguration = ( + input: EndpointInputConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.EnvironmentParameterRanges !== undefined && + input.EnvironmentParameterRanges !== null && { + EnvironmentParameterRanges: serializeAws_json1_1EnvironmentParameterRanges( + input.EnvironmentParameterRanges, + context + ), + }), + ...(input.InferenceSpecificationName !== undefined && + input.InferenceSpecificationName !== null && { InferenceSpecificationName: input.InferenceSpecificationName }), + ...(input.InstanceType !== undefined && input.InstanceType !== null && { InstanceType: input.InstanceType }), + }; +}; + +const serializeAws_json1_1EndpointInputConfigurations = ( + input: EndpointInputConfiguration[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1EndpointInputConfiguration(entry, context); + }); +}; + const serializeAws_json1_1EnvironmentMap = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { if (value === null) { @@ -20395,6 +21304,21 @@ const serializeAws_json1_1EnvironmentMap = (input: { [key: string]: string }, co }, {}); }; +const serializeAws_json1_1EnvironmentParameterRanges = ( + input: EnvironmentParameterRanges, + context: __SerdeContext +): any => { + return { + ...(input.CategoricalParameterRanges !== undefined && + input.CategoricalParameterRanges !== null && { + CategoricalParameterRanges: serializeAws_json1_1CategoricalParameters( + input.CategoricalParameterRanges, + context + ), + }), + }; +}; + const serializeAws_json1_1ExperimentConfig = (input: ExperimentConfig, context: __SerdeContext): any => { return { ...(input.ExperimentName !== undefined && @@ -20430,6 +21354,14 @@ const serializeAws_json1_1FeatureDefinitions = (input: FeatureDefinition[], cont }); }; +const serializeAws_json1_1FileSource = (input: FileSource, context: __SerdeContext): any => { + return { + ...(input.ContentDigest !== undefined && input.ContentDigest !== null && { ContentDigest: input.ContentDigest }), + ...(input.ContentType !== undefined && input.ContentType !== null && { ContentType: input.ContentType }), + ...(input.S3Uri !== undefined && input.S3Uri !== null && { S3Uri: input.S3Uri }), + }; +}; + const serializeAws_json1_1FileSystemConfig = (input: FileSystemConfig, context: __SerdeContext): any => { return { ...(input.DefaultGid !== undefined && input.DefaultGid !== null && { DefaultGid: input.DefaultGid }), @@ -20499,6 +21431,16 @@ const serializeAws_json1_1GetDeviceFleetReportRequest = ( }; }; +const serializeAws_json1_1GetLineageGroupPolicyRequest = ( + input: GetLineageGroupPolicyRequest, + context: __SerdeContext +): any => { + return { + ...(input.LineageGroupName !== undefined && + input.LineageGroupName !== null && { LineageGroupName: input.LineageGroupName }), + }; +}; + const serializeAws_json1_1GetModelPackageGroupPolicyInput = ( input: GetModelPackageGroupPolicyInput, context: __SerdeContext @@ -21714,6 +22656,34 @@ const serializeAws_json1_1ListImageVersionsRequest = ( }; }; +const serializeAws_json1_1ListInferenceRecommendationsJobsRequest = ( + input: ListInferenceRecommendationsJobsRequest, + context: __SerdeContext +): any => { + return { + ...(input.CreationTimeAfter !== undefined && + input.CreationTimeAfter !== null && { CreationTimeAfter: Math.round(input.CreationTimeAfter.getTime() / 1000) }), + ...(input.CreationTimeBefore !== undefined && + input.CreationTimeBefore !== null && { + CreationTimeBefore: Math.round(input.CreationTimeBefore.getTime() / 1000), + }), + ...(input.LastModifiedTimeAfter !== undefined && + input.LastModifiedTimeAfter !== null && { + LastModifiedTimeAfter: Math.round(input.LastModifiedTimeAfter.getTime() / 1000), + }), + ...(input.LastModifiedTimeBefore !== undefined && + input.LastModifiedTimeBefore !== null && { + LastModifiedTimeBefore: Math.round(input.LastModifiedTimeBefore.getTime() / 1000), + }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NameContains !== undefined && input.NameContains !== null && { NameContains: input.NameContains }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.SortBy !== undefined && input.SortBy !== null && { SortBy: input.SortBy }), + ...(input.SortOrder !== undefined && input.SortOrder !== null && { SortOrder: input.SortOrder }), + ...(input.StatusEquals !== undefined && input.StatusEquals !== null && { StatusEquals: input.StatusEquals }), + }; +}; + const serializeAws_json1_1ListLabelingJobsForWorkteamRequest = ( input: ListLabelingJobsForWorkteamRequest, context: __SerdeContext @@ -21771,6 +22741,22 @@ const serializeAws_json1_1ListLineageEntityParameterKey = (input: string[], cont }); }; +const serializeAws_json1_1ListLineageGroupsRequest = ( + input: ListLineageGroupsRequest, + context: __SerdeContext +): any => { + return { + ...(input.CreatedAfter !== undefined && + input.CreatedAfter !== null && { CreatedAfter: Math.round(input.CreatedAfter.getTime() / 1000) }), + ...(input.CreatedBefore !== undefined && + input.CreatedBefore !== null && { CreatedBefore: Math.round(input.CreatedBefore.getTime() / 1000) }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.SortBy !== undefined && input.SortBy !== null && { SortBy: input.SortBy }), + ...(input.SortOrder !== undefined && input.SortOrder !== null && { SortOrder: input.SortOrder }), + }; +}; + const serializeAws_json1_1ListModelBiasJobDefinitionsRequest = ( input: ListModelBiasJobDefinitionsRequest, context: __SerdeContext @@ -21811,6 +22797,20 @@ const serializeAws_json1_1ListModelExplainabilityJobDefinitionsRequest = ( }; }; +const serializeAws_json1_1ListModelMetadataRequest = ( + input: ListModelMetadataRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.SearchExpression !== undefined && + input.SearchExpression !== null && { + SearchExpression: serializeAws_json1_1ModelMetadataSearchExpression(input.SearchExpression, context), + }), + }; +}; + const serializeAws_json1_1ListModelPackageGroupsInput = ( input: ListModelPackageGroupsInput, context: __SerdeContext @@ -22488,6 +23488,60 @@ const serializeAws_json1_1ModelExplainabilityJobInput = ( }; }; +const serializeAws_json1_1ModelInput = (input: ModelInput, context: __SerdeContext): any => { + return { + ...(input.DataInputConfig !== undefined && + input.DataInputConfig !== null && { DataInputConfig: input.DataInputConfig }), + }; +}; + +const serializeAws_json1_1ModelLatencyThreshold = (input: ModelLatencyThreshold, context: __SerdeContext): any => { + return { + ...(input.Percentile !== undefined && input.Percentile !== null && { Percentile: input.Percentile }), + ...(input.ValueInMilliseconds !== undefined && + input.ValueInMilliseconds !== null && { ValueInMilliseconds: input.ValueInMilliseconds }), + }; +}; + +const serializeAws_json1_1ModelLatencyThresholds = (input: ModelLatencyThreshold[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1ModelLatencyThreshold(entry, context); + }); +}; + +const serializeAws_json1_1ModelMetadataFilter = (input: ModelMetadataFilter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.Value !== undefined && input.Value !== null && { Value: input.Value }), + }; +}; + +const serializeAws_json1_1ModelMetadataFilters = (input: ModelMetadataFilter[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1ModelMetadataFilter(entry, context); + }); +}; + +const serializeAws_json1_1ModelMetadataSearchExpression = ( + input: ModelMetadataSearchExpression, + context: __SerdeContext +): any => { + return { + ...(input.Filters !== undefined && + input.Filters !== null && { Filters: serializeAws_json1_1ModelMetadataFilters(input.Filters, context) }), + }; +}; + const serializeAws_json1_1ModelMetrics = (input: ModelMetrics, context: __SerdeContext): any => { return { ...(input.Bias !== undefined && input.Bias !== null && { Bias: serializeAws_json1_1Bias(input.Bias, context) }), @@ -22524,9 +23578,16 @@ const serializeAws_json1_1ModelPackageContainerDefinition = ( input.ContainerHostname !== null && { ContainerHostname: input.ContainerHostname }), ...(input.Environment !== undefined && input.Environment !== null && { Environment: serializeAws_json1_1EnvironmentMap(input.Environment, context) }), + ...(input.Framework !== undefined && input.Framework !== null && { Framework: input.Framework }), + ...(input.FrameworkVersion !== undefined && + input.FrameworkVersion !== null && { FrameworkVersion: input.FrameworkVersion }), ...(input.Image !== undefined && input.Image !== null && { Image: input.Image }), ...(input.ImageDigest !== undefined && input.ImageDigest !== null && { ImageDigest: input.ImageDigest }), ...(input.ModelDataUrl !== undefined && input.ModelDataUrl !== null && { ModelDataUrl: input.ModelDataUrl }), + ...(input.ModelInput !== undefined && + input.ModelInput !== null && { ModelInput: serializeAws_json1_1ModelInput(input.ModelInput, context) }), + ...(input.NearestModelName !== undefined && + input.NearestModelName !== null && { NearestModelName: input.NearestModelName }), ...(input.ProductId !== undefined && input.ProductId !== null && { ProductId: input.ProductId }), }; }; @@ -23224,6 +24285,27 @@ const serializeAws_json1_1ParentHyperParameterTuningJobs = ( }); }; +const serializeAws_json1_1Phase = (input: Phase, context: __SerdeContext): any => { + return { + ...(input.DurationInSeconds !== undefined && + input.DurationInSeconds !== null && { DurationInSeconds: input.DurationInSeconds }), + ...(input.InitialNumberOfUsers !== undefined && + input.InitialNumberOfUsers !== null && { InitialNumberOfUsers: input.InitialNumberOfUsers }), + ...(input.SpawnRate !== undefined && input.SpawnRate !== null && { SpawnRate: input.SpawnRate }), + }; +}; + +const serializeAws_json1_1Phases = (input: Phase[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1Phase(entry, context); + }); +}; + const serializeAws_json1_1ProcessingClusterConfig = (input: ProcessingClusterConfig, context: __SerdeContext): any => { return { ...(input.InstanceCount !== undefined && input.InstanceCount !== null && { InstanceCount: input.InstanceCount }), @@ -23370,6 +24452,10 @@ const serializeAws_json1_1ProductionVariant = (input: ProductionVariant, context input.InitialVariantWeight !== null && { InitialVariantWeight: __serializeFloat(input.InitialVariantWeight) }), ...(input.InstanceType !== undefined && input.InstanceType !== null && { InstanceType: input.InstanceType }), ...(input.ModelName !== undefined && input.ModelName !== null && { ModelName: input.ModelName }), + ...(input.ServerlessConfig !== undefined && + input.ServerlessConfig !== null && { + ServerlessConfig: serializeAws_json1_1ProductionVariantServerlessConfig(input.ServerlessConfig, context), + }), ...(input.VariantName !== undefined && input.VariantName !== null && { VariantName: input.VariantName }), }; }; @@ -23396,6 +24482,18 @@ const serializeAws_json1_1ProductionVariantList = (input: ProductionVariant[], c }); }; +const serializeAws_json1_1ProductionVariantServerlessConfig = ( + input: ProductionVariantServerlessConfig, + context: __SerdeContext +): any => { + return { + ...(input.MaxConcurrency !== undefined && + input.MaxConcurrency !== null && { MaxConcurrency: input.MaxConcurrency }), + ...(input.MemorySizeInMB !== undefined && + input.MemorySizeInMB !== null && { MemorySizeInMB: input.MemorySizeInMB }), + }; +}; + const serializeAws_json1_1ProfilerConfig = (input: ProfilerConfig, context: __SerdeContext): any => { return { ...(input.ProfilingIntervalInMilliseconds !== undefined && @@ -23520,6 +24618,86 @@ const serializeAws_json1_1PutModelPackageGroupPolicyInput = ( }; }; +const serializeAws_json1_1QueryFilters = (input: QueryFilters, context: __SerdeContext): any => { + return { + ...(input.CreatedAfter !== undefined && + input.CreatedAfter !== null && { CreatedAfter: Math.round(input.CreatedAfter.getTime() / 1000) }), + ...(input.CreatedBefore !== undefined && + input.CreatedBefore !== null && { CreatedBefore: Math.round(input.CreatedBefore.getTime() / 1000) }), + ...(input.LineageTypes !== undefined && + input.LineageTypes !== null && { + LineageTypes: serializeAws_json1_1QueryLineageTypes(input.LineageTypes, context), + }), + ...(input.ModifiedAfter !== undefined && + input.ModifiedAfter !== null && { ModifiedAfter: Math.round(input.ModifiedAfter.getTime() / 1000) }), + ...(input.ModifiedBefore !== undefined && + input.ModifiedBefore !== null && { ModifiedBefore: Math.round(input.ModifiedBefore.getTime() / 1000) }), + ...(input.Properties !== undefined && + input.Properties !== null && { Properties: serializeAws_json1_1QueryProperties(input.Properties, context) }), + ...(input.Types !== undefined && + input.Types !== null && { Types: serializeAws_json1_1QueryTypes(input.Types, context) }), + }; +}; + +const serializeAws_json1_1QueryLineageRequest = (input: QueryLineageRequest, context: __SerdeContext): any => { + return { + ...(input.Direction !== undefined && input.Direction !== null && { Direction: input.Direction }), + ...(input.Filters !== undefined && + input.Filters !== null && { Filters: serializeAws_json1_1QueryFilters(input.Filters, context) }), + ...(input.IncludeEdges !== undefined && input.IncludeEdges !== null && { IncludeEdges: input.IncludeEdges }), + ...(input.MaxDepth !== undefined && input.MaxDepth !== null && { MaxDepth: input.MaxDepth }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.StartArns !== undefined && + input.StartArns !== null && { StartArns: serializeAws_json1_1QueryLineageStartArns(input.StartArns, context) }), + }; +}; + +const serializeAws_json1_1QueryLineageStartArns = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1QueryLineageTypes = (input: (LineageType | string)[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1QueryProperties = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: value, + }; + }, {}); +}; + +const serializeAws_json1_1QueryTypes = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1RealtimeInferenceInstanceTypes = ( input: (ProductionVariantInstanceType | string)[], context: __SerdeContext @@ -23534,6 +24712,56 @@ const serializeAws_json1_1RealtimeInferenceInstanceTypes = ( }); }; +const serializeAws_json1_1RecommendationJobInputConfig = ( + input: RecommendationJobInputConfig, + context: __SerdeContext +): any => { + return { + ...(input.EndpointConfigurations !== undefined && + input.EndpointConfigurations !== null && { + EndpointConfigurations: serializeAws_json1_1EndpointInputConfigurations(input.EndpointConfigurations, context), + }), + ...(input.JobDurationInSeconds !== undefined && + input.JobDurationInSeconds !== null && { JobDurationInSeconds: input.JobDurationInSeconds }), + ...(input.ModelPackageVersionArn !== undefined && + input.ModelPackageVersionArn !== null && { ModelPackageVersionArn: input.ModelPackageVersionArn }), + ...(input.ResourceLimit !== undefined && + input.ResourceLimit !== null && { + ResourceLimit: serializeAws_json1_1RecommendationJobResourceLimit(input.ResourceLimit, context), + }), + ...(input.TrafficPattern !== undefined && + input.TrafficPattern !== null && { + TrafficPattern: serializeAws_json1_1TrafficPattern(input.TrafficPattern, context), + }), + }; +}; + +const serializeAws_json1_1RecommendationJobResourceLimit = ( + input: RecommendationJobResourceLimit, + context: __SerdeContext +): any => { + return { + ...(input.MaxNumberOfTests !== undefined && + input.MaxNumberOfTests !== null && { MaxNumberOfTests: input.MaxNumberOfTests }), + ...(input.MaxParallelOfTests !== undefined && + input.MaxParallelOfTests !== null && { MaxParallelOfTests: input.MaxParallelOfTests }), + }; +}; + +const serializeAws_json1_1RecommendationJobStoppingConditions = ( + input: RecommendationJobStoppingConditions, + context: __SerdeContext +): any => { + return { + ...(input.MaxInvocations !== undefined && + input.MaxInvocations !== null && { MaxInvocations: input.MaxInvocations }), + ...(input.ModelLatencyThresholds !== undefined && + input.ModelLatencyThresholds !== null && { + ModelLatencyThresholds: serializeAws_json1_1ModelLatencyThresholds(input.ModelLatencyThresholds, context), + }), + }; +}; + const serializeAws_json1_1RedshiftDatasetDefinition = ( input: RedshiftDatasetDefinition, context: __SerdeContext @@ -23982,6 +25210,15 @@ const serializeAws_json1_1StopHyperParameterTuningJobRequest = ( }; }; +const serializeAws_json1_1StopInferenceRecommendationsJobRequest = ( + input: StopInferenceRecommendationsJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobName !== undefined && input.JobName !== null && { JobName: input.JobName }), + }; +}; + const serializeAws_json1_1StopLabelingJobRequest = (input: StopLabelingJobRequest, context: __SerdeContext): any => { return { ...(input.LabelingJobName !== undefined && @@ -24137,6 +25374,14 @@ const serializeAws_json1_1TensorBoardOutputConfig = (input: TensorBoardOutputCon }; }; +const serializeAws_json1_1TrafficPattern = (input: TrafficPattern, context: __SerdeContext): any => { + return { + ...(input.Phases !== undefined && + input.Phases !== null && { Phases: serializeAws_json1_1Phases(input.Phases, context) }), + ...(input.TrafficType !== undefined && input.TrafficType !== null && { TrafficType: input.TrafficType }), + }; +}; + const serializeAws_json1_1TrafficRoutingConfig = (input: TrafficRoutingConfig, context: __SerdeContext): any => { return { ...(input.CanarySize !== undefined && @@ -24601,6 +25846,13 @@ const serializeAws_json1_1UpdateImageRequest = (input: UpdateImageRequest, conte const serializeAws_json1_1UpdateModelPackageInput = (input: UpdateModelPackageInput, context: __SerdeContext): any => { return { + ...(input.AdditionalInferenceSpecificationsToAdd !== undefined && + input.AdditionalInferenceSpecificationsToAdd !== null && { + AdditionalInferenceSpecificationsToAdd: serializeAws_json1_1AdditionalInferenceSpecifications( + input.AdditionalInferenceSpecificationsToAdd, + context + ), + }), ...(input.ApprovalDescription !== undefined && input.ApprovalDescription !== null && { ApprovalDescription: input.ApprovalDescription }), ...(input.CustomerMetadataProperties !== undefined && @@ -25002,6 +26254,51 @@ const deserializeAws_json1_1AdditionalCodeRepositoryNamesOrUrls = (output: any, }); }; +const deserializeAws_json1_1AdditionalInferenceSpecificationDefinition = ( + output: any, + context: __SerdeContext +): AdditionalInferenceSpecificationDefinition => { + return { + Containers: + output.Containers !== undefined && output.Containers !== null + ? deserializeAws_json1_1ModelPackageContainerDefinitionList(output.Containers, context) + : undefined, + Description: __expectString(output.Description), + Name: __expectString(output.Name), + SupportedContentTypes: + output.SupportedContentTypes !== undefined && output.SupportedContentTypes !== null + ? deserializeAws_json1_1ContentTypes(output.SupportedContentTypes, context) + : undefined, + SupportedRealtimeInferenceInstanceTypes: + output.SupportedRealtimeInferenceInstanceTypes !== undefined && + output.SupportedRealtimeInferenceInstanceTypes !== null + ? deserializeAws_json1_1RealtimeInferenceInstanceTypes(output.SupportedRealtimeInferenceInstanceTypes, context) + : undefined, + SupportedResponseMIMETypes: + output.SupportedResponseMIMETypes !== undefined && output.SupportedResponseMIMETypes !== null + ? deserializeAws_json1_1ResponseMIMETypes(output.SupportedResponseMIMETypes, context) + : undefined, + SupportedTransformInstanceTypes: + output.SupportedTransformInstanceTypes !== undefined && output.SupportedTransformInstanceTypes !== null + ? deserializeAws_json1_1TransformInstanceTypes(output.SupportedTransformInstanceTypes, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AdditionalInferenceSpecifications = ( + output: any, + context: __SerdeContext +): AdditionalInferenceSpecificationDefinition[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1AdditionalInferenceSpecificationDefinition(entry, context); + }); +}; + const deserializeAws_json1_1AddTagsOutput = (output: any, context: __SerdeContext): AddTagsOutput => { return { Tags: @@ -25724,6 +27021,14 @@ const deserializeAws_json1_1BatchDescribeModelPackageSummary = ( const deserializeAws_json1_1Bias = (output: any, context: __SerdeContext): Bias => { return { + PostTrainingReport: + output.PostTrainingReport !== undefined && output.PostTrainingReport !== null + ? deserializeAws_json1_1MetricsSource(output.PostTrainingReport, context) + : undefined, + PreTrainingReport: + output.PreTrainingReport !== undefined && output.PreTrainingReport !== null + ? deserializeAws_json1_1MetricsSource(output.PreTrainingReport, context) + : undefined, Report: output.Report !== undefined && output.Report !== null ? deserializeAws_json1_1MetricsSource(output.Report, context) @@ -25832,6 +27137,16 @@ const deserializeAws_json1_1CaptureOptionList = (output: any, context: __SerdeCo }); }; +const deserializeAws_json1_1CategoricalParameter = (output: any, context: __SerdeContext): CategoricalParameter => { + return { + Name: __expectString(output.Name), + Value: + output.Value !== undefined && output.Value !== null + ? deserializeAws_json1_1CategoricalParameterRangeValues(output.Value, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1CategoricalParameterRange = ( output: any, context: __SerdeContext @@ -25871,6 +27186,28 @@ const deserializeAws_json1_1CategoricalParameterRangeSpecification = ( } as any; }; +const deserializeAws_json1_1CategoricalParameterRangeValues = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1CategoricalParameters = (output: any, context: __SerdeContext): CategoricalParameter[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1CategoricalParameter(entry, context); + }); +}; + const deserializeAws_json1_1Channel = (output: any, context: __SerdeContext): Channel => { return { ChannelName: __expectString(output.ChannelName), @@ -25938,6 +27275,22 @@ const deserializeAws_json1_1Cidrs = (output: any, context: __SerdeContext): stri }); }; +const deserializeAws_json1_1ClarifyCheckStepMetadata = ( + output: any, + context: __SerdeContext +): ClarifyCheckStepMetadata => { + return { + BaselineUsedForDriftCheckConstraints: __expectString(output.BaselineUsedForDriftCheckConstraints), + CalculatedBaselineConstraints: __expectString(output.CalculatedBaselineConstraints), + CheckJobArn: __expectString(output.CheckJobArn), + CheckType: __expectString(output.CheckType), + ModelPackageGroupName: __expectString(output.ModelPackageGroupName), + RegisterNewBaseline: __expectBoolean(output.RegisterNewBaseline), + SkipCheck: __expectBoolean(output.SkipCheck), + ViolationReport: __expectString(output.ViolationReport), + } as any; +}; + const deserializeAws_json1_1CodeRepositorySummary = (output: any, context: __SerdeContext): CodeRepositorySummary => { return { CodeRepositoryArn: __expectString(output.CodeRepositoryArn), @@ -26119,6 +27472,7 @@ const deserializeAws_json1_1ContainerDefinition = (output: any, context: __Serde output.ImageConfig !== undefined && output.ImageConfig !== null ? deserializeAws_json1_1ImageConfig(output.ImageConfig, context) : undefined, + InferenceSpecificationName: __expectString(output.InferenceSpecificationName), Mode: __expectString(output.Mode), ModelDataUrl: __expectString(output.ModelDataUrl), ModelPackageName: __expectString(output.ModelPackageName), @@ -26408,6 +27762,15 @@ const deserializeAws_json1_1CreateImageVersionResponse = ( } as any; }; +const deserializeAws_json1_1CreateInferenceRecommendationsJobResponse = ( + output: any, + context: __SerdeContext +): CreateInferenceRecommendationsJobResponse => { + return { + JobArn: __expectString(output.JobArn), + } as any; +}; + const deserializeAws_json1_1CreateLabelingJobResponse = ( output: any, context: __SerdeContext @@ -26998,6 +28361,7 @@ const deserializeAws_json1_1DescribeActionResponse = (output: any, context: __Se output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), MetadataProperties: output.MetadataProperties !== undefined && output.MetadataProperties !== null ? deserializeAws_json1_1MetadataProperties(output.MetadataProperties, context) @@ -27122,6 +28486,7 @@ const deserializeAws_json1_1DescribeArtifactResponse = ( output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), MetadataProperties: output.MetadataProperties !== undefined && output.MetadataProperties !== null ? deserializeAws_json1_1MetadataProperties(output.MetadataProperties, context) @@ -27265,6 +28630,7 @@ const deserializeAws_json1_1DescribeCompilationJobResponse = ( output.ModelDigests !== undefined && output.ModelDigests !== null ? deserializeAws_json1_1ModelDigests(output.ModelDigests, context) : undefined, + ModelPackageVersionArn: __expectString(output.ModelPackageVersionArn), OutputConfig: output.OutputConfig !== undefined && output.OutputConfig !== null ? deserializeAws_json1_1OutputConfig(output.OutputConfig, context) @@ -27306,6 +28672,7 @@ const deserializeAws_json1_1DescribeContextResponse = ( output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), Properties: output.Properties !== undefined && output.Properties !== null ? deserializeAws_json1_1LineageEntityParameters(output.Properties, context) @@ -27770,6 +29137,45 @@ const deserializeAws_json1_1DescribeImageVersionResponse = ( } as any; }; +const deserializeAws_json1_1DescribeInferenceRecommendationsJobResponse = ( + output: any, + context: __SerdeContext +): DescribeInferenceRecommendationsJobResponse => { + return { + CompletionTime: + output.CompletionTime !== undefined && output.CompletionTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CompletionTime))) + : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + FailureReason: __expectString(output.FailureReason), + InferenceRecommendations: + output.InferenceRecommendations !== undefined && output.InferenceRecommendations !== null + ? deserializeAws_json1_1InferenceRecommendations(output.InferenceRecommendations, context) + : undefined, + InputConfig: + output.InputConfig !== undefined && output.InputConfig !== null + ? deserializeAws_json1_1RecommendationJobInputConfig(output.InputConfig, context) + : undefined, + JobArn: __expectString(output.JobArn), + JobDescription: __expectString(output.JobDescription), + JobName: __expectString(output.JobName), + JobType: __expectString(output.JobType), + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, + RoleArn: __expectString(output.RoleArn), + Status: __expectString(output.Status), + StoppingConditions: + output.StoppingConditions !== undefined && output.StoppingConditions !== null + ? deserializeAws_json1_1RecommendationJobStoppingConditions(output.StoppingConditions, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeLabelingJobResponse = ( output: any, context: __SerdeContext @@ -27826,6 +29232,34 @@ const deserializeAws_json1_1DescribeLabelingJobResponse = ( } as any; }; +const deserializeAws_json1_1DescribeLineageGroupResponse = ( + output: any, + context: __SerdeContext +): DescribeLineageGroupResponse => { + return { + CreatedBy: + output.CreatedBy !== undefined && output.CreatedBy !== null + ? deserializeAws_json1_1UserContext(output.CreatedBy, context) + : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + Description: __expectString(output.Description), + DisplayName: __expectString(output.DisplayName), + LastModifiedBy: + output.LastModifiedBy !== undefined && output.LastModifiedBy !== null + ? deserializeAws_json1_1UserContext(output.LastModifiedBy, context) + : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), + LineageGroupName: __expectString(output.LineageGroupName), + } as any; +}; + const deserializeAws_json1_1DescribeModelBiasJobDefinitionResponse = ( output: any, context: __SerdeContext @@ -27966,6 +29400,10 @@ const deserializeAws_json1_1DescribeModelPackageOutput = ( context: __SerdeContext ): DescribeModelPackageOutput => { return { + AdditionalInferenceSpecifications: + output.AdditionalInferenceSpecifications !== undefined && output.AdditionalInferenceSpecifications !== null + ? deserializeAws_json1_1AdditionalInferenceSpecifications(output.AdditionalInferenceSpecifications, context) + : undefined, ApprovalDescription: __expectString(output.ApprovalDescription), CertifyForMarketplace: __expectBoolean(output.CertifyForMarketplace), CreatedBy: @@ -27980,6 +29418,11 @@ const deserializeAws_json1_1DescribeModelPackageOutput = ( output.CustomerMetadataProperties !== undefined && output.CustomerMetadataProperties !== null ? deserializeAws_json1_1CustomerMetadataMap(output.CustomerMetadataProperties, context) : undefined, + Domain: __expectString(output.Domain), + DriftCheckBaselines: + output.DriftCheckBaselines !== undefined && output.DriftCheckBaselines !== null + ? deserializeAws_json1_1DriftCheckBaselines(output.DriftCheckBaselines, context) + : undefined, InferenceSpecification: output.InferenceSpecification !== undefined && output.InferenceSpecification !== null ? deserializeAws_json1_1InferenceSpecification(output.InferenceSpecification, context) @@ -28011,10 +29454,12 @@ const deserializeAws_json1_1DescribeModelPackageOutput = ( ? deserializeAws_json1_1ModelPackageStatusDetails(output.ModelPackageStatusDetails, context) : undefined, ModelPackageVersion: __expectInt32(output.ModelPackageVersion), + SamplePayloadUrl: __expectString(output.SamplePayloadUrl), SourceAlgorithmSpecification: output.SourceAlgorithmSpecification !== undefined && output.SourceAlgorithmSpecification !== null ? deserializeAws_json1_1SourceAlgorithmSpecification(output.SourceAlgorithmSpecification, context) : undefined, + Task: __expectString(output.Task), ValidationSpecification: output.ValidationSpecification !== undefined && output.ValidationSpecification !== null ? deserializeAws_json1_1ModelPackageValidationSpecification(output.ValidationSpecification, context) @@ -28593,6 +30038,7 @@ const deserializeAws_json1_1DescribeTrialComponentResponse = ( output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), MetadataProperties: output.MetadataProperties !== undefined && output.MetadataProperties !== null ? deserializeAws_json1_1MetadataProperties(output.MetadataProperties, context) @@ -28848,6 +30294,97 @@ const deserializeAws_json1_1DomainSettings = (output: any, context: __SerdeConte } as any; }; +const deserializeAws_json1_1DriftCheckBaselines = (output: any, context: __SerdeContext): DriftCheckBaselines => { + return { + Bias: + output.Bias !== undefined && output.Bias !== null + ? deserializeAws_json1_1DriftCheckBias(output.Bias, context) + : undefined, + Explainability: + output.Explainability !== undefined && output.Explainability !== null + ? deserializeAws_json1_1DriftCheckExplainability(output.Explainability, context) + : undefined, + ModelDataQuality: + output.ModelDataQuality !== undefined && output.ModelDataQuality !== null + ? deserializeAws_json1_1DriftCheckModelDataQuality(output.ModelDataQuality, context) + : undefined, + ModelQuality: + output.ModelQuality !== undefined && output.ModelQuality !== null + ? deserializeAws_json1_1DriftCheckModelQuality(output.ModelQuality, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DriftCheckBias = (output: any, context: __SerdeContext): DriftCheckBias => { + return { + ConfigFile: + output.ConfigFile !== undefined && output.ConfigFile !== null + ? deserializeAws_json1_1FileSource(output.ConfigFile, context) + : undefined, + PostTrainingConstraints: + output.PostTrainingConstraints !== undefined && output.PostTrainingConstraints !== null + ? deserializeAws_json1_1MetricsSource(output.PostTrainingConstraints, context) + : undefined, + PreTrainingConstraints: + output.PreTrainingConstraints !== undefined && output.PreTrainingConstraints !== null + ? deserializeAws_json1_1MetricsSource(output.PreTrainingConstraints, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DriftCheckExplainability = ( + output: any, + context: __SerdeContext +): DriftCheckExplainability => { + return { + ConfigFile: + output.ConfigFile !== undefined && output.ConfigFile !== null + ? deserializeAws_json1_1FileSource(output.ConfigFile, context) + : undefined, + Constraints: + output.Constraints !== undefined && output.Constraints !== null + ? deserializeAws_json1_1MetricsSource(output.Constraints, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DriftCheckModelDataQuality = ( + output: any, + context: __SerdeContext +): DriftCheckModelDataQuality => { + return { + Constraints: + output.Constraints !== undefined && output.Constraints !== null + ? deserializeAws_json1_1MetricsSource(output.Constraints, context) + : undefined, + Statistics: + output.Statistics !== undefined && output.Statistics !== null + ? deserializeAws_json1_1MetricsSource(output.Statistics, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DriftCheckModelQuality = (output: any, context: __SerdeContext): DriftCheckModelQuality => { + return { + Constraints: + output.Constraints !== undefined && output.Constraints !== null + ? deserializeAws_json1_1MetricsSource(output.Constraints, context) + : undefined, + Statistics: + output.Statistics !== undefined && output.Statistics !== null + ? deserializeAws_json1_1MetricsSource(output.Statistics, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1Edge = (output: any, context: __SerdeContext): Edge => { + return { + AssociationType: __expectString(output.AssociationType), + DestinationArn: __expectString(output.DestinationArn), + SourceArn: __expectString(output.SourceArn), + } as any; +}; + const deserializeAws_json1_1EdgeModel = (output: any, context: __SerdeContext): EdgeModel => { return { LatestInference: @@ -28971,6 +30508,17 @@ const deserializeAws_json1_1EdgePresetDeploymentOutput = ( } as any; }; +const deserializeAws_json1_1Edges = (output: any, context: __SerdeContext): Edge[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Edge(entry, context); + }); +}; + const deserializeAws_json1_1EnableSagemakerServicecatalogPortfolioOutput = ( output: any, context: __SerdeContext @@ -29052,6 +30600,46 @@ const deserializeAws_json1_1EndpointInput = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1EndpointInputConfiguration = ( + output: any, + context: __SerdeContext +): EndpointInputConfiguration => { + return { + EnvironmentParameterRanges: + output.EnvironmentParameterRanges !== undefined && output.EnvironmentParameterRanges !== null + ? deserializeAws_json1_1EnvironmentParameterRanges(output.EnvironmentParameterRanges, context) + : undefined, + InferenceSpecificationName: __expectString(output.InferenceSpecificationName), + InstanceType: __expectString(output.InstanceType), + } as any; +}; + +const deserializeAws_json1_1EndpointInputConfigurations = ( + output: any, + context: __SerdeContext +): EndpointInputConfiguration[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1EndpointInputConfiguration(entry, context); + }); +}; + +const deserializeAws_json1_1EndpointOutputConfiguration = ( + output: any, + context: __SerdeContext +): EndpointOutputConfiguration => { + return { + EndpointName: __expectString(output.EndpointName), + InitialInstanceCount: __expectInt32(output.InitialInstanceCount), + InstanceType: __expectString(output.InstanceType), + VariantName: __expectString(output.VariantName), + } as any; +}; + const deserializeAws_json1_1EndpointSummary = (output: any, context: __SerdeContext): EndpointSummary => { return { CreationTime: @@ -29091,6 +30679,37 @@ const deserializeAws_json1_1EnvironmentMap = (output: any, context: __SerdeConte }, {}); }; +const deserializeAws_json1_1EnvironmentParameter = (output: any, context: __SerdeContext): EnvironmentParameter => { + return { + Key: __expectString(output.Key), + Value: __expectString(output.Value), + ValueType: __expectString(output.ValueType), + } as any; +}; + +const deserializeAws_json1_1EnvironmentParameterRanges = ( + output: any, + context: __SerdeContext +): EnvironmentParameterRanges => { + return { + CategoricalParameterRanges: + output.CategoricalParameterRanges !== undefined && output.CategoricalParameterRanges !== null + ? deserializeAws_json1_1CategoricalParameters(output.CategoricalParameterRanges, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1EnvironmentParameters = (output: any, context: __SerdeContext): EnvironmentParameter[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1EnvironmentParameter(entry, context); + }); +}; + const deserializeAws_json1_1Experiment = (output: any, context: __SerdeContext): Experiment => { return { CreatedBy: @@ -29261,6 +30880,14 @@ const deserializeAws_json1_1FeatureGroupSummary = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1FileSource = (output: any, context: __SerdeContext): FileSource => { + return { + ContentDigest: __expectString(output.ContentDigest), + ContentType: __expectString(output.ContentType), + S3Uri: __expectString(output.S3Uri), + } as any; +}; + const deserializeAws_json1_1FileSystemConfig = (output: any, context: __SerdeContext): FileSystemConfig => { return { DefaultGid: __expectInt32(output.DefaultGid), @@ -29390,6 +31017,16 @@ const deserializeAws_json1_1GetDeviceFleetReportResponse = ( } as any; }; +const deserializeAws_json1_1GetLineageGroupPolicyResponse = ( + output: any, + context: __SerdeContext +): GetLineageGroupPolicyResponse => { + return { + LineageGroupArn: __expectString(output.LineageGroupArn), + ResourcePolicy: __expectString(output.ResourcePolicy), + } as any; +}; + const deserializeAws_json1_1GetModelPackageGroupPolicyOutput = ( output: any, context: __SerdeContext @@ -29926,6 +31563,81 @@ const deserializeAws_json1_1InferenceExecutionConfig = ( } as any; }; +const deserializeAws_json1_1InferenceRecommendation = ( + output: any, + context: __SerdeContext +): InferenceRecommendation => { + return { + EndpointConfiguration: + output.EndpointConfiguration !== undefined && output.EndpointConfiguration !== null + ? deserializeAws_json1_1EndpointOutputConfiguration(output.EndpointConfiguration, context) + : undefined, + Metrics: + output.Metrics !== undefined && output.Metrics !== null + ? deserializeAws_json1_1RecommendationMetrics(output.Metrics, context) + : undefined, + ModelConfiguration: + output.ModelConfiguration !== undefined && output.ModelConfiguration !== null + ? deserializeAws_json1_1ModelConfiguration(output.ModelConfiguration, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1InferenceRecommendations = ( + output: any, + context: __SerdeContext +): InferenceRecommendation[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1InferenceRecommendation(entry, context); + }); +}; + +const deserializeAws_json1_1InferenceRecommendationsJob = ( + output: any, + context: __SerdeContext +): InferenceRecommendationsJob => { + return { + CompletionTime: + output.CompletionTime !== undefined && output.CompletionTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CompletionTime))) + : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + FailureReason: __expectString(output.FailureReason), + JobArn: __expectString(output.JobArn), + JobDescription: __expectString(output.JobDescription), + JobName: __expectString(output.JobName), + JobType: __expectString(output.JobType), + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, + RoleArn: __expectString(output.RoleArn), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1InferenceRecommendationsJobs = ( + output: any, + context: __SerdeContext +): InferenceRecommendationsJob[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1InferenceRecommendationsJob(entry, context); + }); +}; + const deserializeAws_json1_1InferenceSpecification = (output: any, context: __SerdeContext): InferenceSpecification => { return { Containers: @@ -30338,6 +32050,33 @@ const deserializeAws_json1_1LineageEntityParameters = ( }, {}); }; +const deserializeAws_json1_1LineageGroupSummaries = (output: any, context: __SerdeContext): LineageGroupSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1LineageGroupSummary(entry, context); + }); +}; + +const deserializeAws_json1_1LineageGroupSummary = (output: any, context: __SerdeContext): LineageGroupSummary => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + DisplayName: __expectString(output.DisplayName), + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), + LineageGroupName: __expectString(output.LineageGroupName), + } as any; +}; + const deserializeAws_json1_1ListActionsResponse = (output: any, context: __SerdeContext): ListActionsResponse => { return { ActionSummaries: @@ -30633,6 +32372,19 @@ const deserializeAws_json1_1ListImageVersionsResponse = ( } as any; }; +const deserializeAws_json1_1ListInferenceRecommendationsJobsResponse = ( + output: any, + context: __SerdeContext +): ListInferenceRecommendationsJobsResponse => { + return { + InferenceRecommendationsJobs: + output.InferenceRecommendationsJobs !== undefined && output.InferenceRecommendationsJobs !== null + ? deserializeAws_json1_1InferenceRecommendationsJobs(output.InferenceRecommendationsJobs, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + const deserializeAws_json1_1ListLabelingJobsForWorkteamResponse = ( output: any, context: __SerdeContext @@ -30659,6 +32411,19 @@ const deserializeAws_json1_1ListLabelingJobsResponse = ( } as any; }; +const deserializeAws_json1_1ListLineageGroupsResponse = ( + output: any, + context: __SerdeContext +): ListLineageGroupsResponse => { + return { + LineageGroupSummaries: + output.LineageGroupSummaries !== undefined && output.LineageGroupSummaries !== null + ? deserializeAws_json1_1LineageGroupSummaries(output.LineageGroupSummaries, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + const deserializeAws_json1_1ListModelBiasJobDefinitionsResponse = ( output: any, context: __SerdeContext @@ -30685,6 +32450,19 @@ const deserializeAws_json1_1ListModelExplainabilityJobDefinitionsResponse = ( } as any; }; +const deserializeAws_json1_1ListModelMetadataResponse = ( + output: any, + context: __SerdeContext +): ListModelMetadataResponse => { + return { + ModelMetadataSummaries: + output.ModelMetadataSummaries !== undefined && output.ModelMetadataSummaries !== null + ? deserializeAws_json1_1ModelMetadataSummaries(output.ModelMetadataSummaries, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + const deserializeAws_json1_1ListModelPackageGroupsOutput = ( output: any, context: __SerdeContext @@ -31134,6 +32912,16 @@ const deserializeAws_json1_1ModelClientConfig = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_json1_1ModelConfiguration = (output: any, context: __SerdeContext): ModelConfiguration => { + return { + EnvironmentParameters: + output.EnvironmentParameters !== undefined && output.EnvironmentParameters !== null + ? deserializeAws_json1_1EnvironmentParameters(output.EnvironmentParameters, context) + : undefined, + InferenceSpecificationName: __expectString(output.InferenceSpecificationName), + } as any; +}; + const deserializeAws_json1_1ModelDataQuality = (output: any, context: __SerdeContext): ModelDataQuality => { return { Constraints: @@ -31205,6 +32993,54 @@ const deserializeAws_json1_1ModelExplainabilityJobInput = ( } as any; }; +const deserializeAws_json1_1ModelInput = (output: any, context: __SerdeContext): ModelInput => { + return { + DataInputConfig: __expectString(output.DataInputConfig), + } as any; +}; + +const deserializeAws_json1_1ModelLatencyThreshold = (output: any, context: __SerdeContext): ModelLatencyThreshold => { + return { + Percentile: __expectString(output.Percentile), + ValueInMilliseconds: __expectInt32(output.ValueInMilliseconds), + } as any; +}; + +const deserializeAws_json1_1ModelLatencyThresholds = ( + output: any, + context: __SerdeContext +): ModelLatencyThreshold[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ModelLatencyThreshold(entry, context); + }); +}; + +const deserializeAws_json1_1ModelMetadataSummaries = (output: any, context: __SerdeContext): ModelMetadataSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ModelMetadataSummary(entry, context); + }); +}; + +const deserializeAws_json1_1ModelMetadataSummary = (output: any, context: __SerdeContext): ModelMetadataSummary => { + return { + Domain: __expectString(output.Domain), + Framework: __expectString(output.Framework), + FrameworkVersion: __expectString(output.FrameworkVersion), + Model: __expectString(output.Model), + Task: __expectString(output.Task), + } as any; +}; + const deserializeAws_json1_1ModelMetrics = (output: any, context: __SerdeContext): ModelMetrics => { return { Bias: @@ -31226,6 +33062,10 @@ const deserializeAws_json1_1ModelMetrics = (output: any, context: __SerdeContext const deserializeAws_json1_1ModelPackage = (output: any, context: __SerdeContext): ModelPackage => { return { + AdditionalInferenceSpecifications: + output.AdditionalInferenceSpecifications !== undefined && output.AdditionalInferenceSpecifications !== null + ? deserializeAws_json1_1AdditionalInferenceSpecifications(output.AdditionalInferenceSpecifications, context) + : undefined, ApprovalDescription: __expectString(output.ApprovalDescription), CertifyForMarketplace: __expectBoolean(output.CertifyForMarketplace), CreatedBy: @@ -31240,6 +33080,11 @@ const deserializeAws_json1_1ModelPackage = (output: any, context: __SerdeContext output.CustomerMetadataProperties !== undefined && output.CustomerMetadataProperties !== null ? deserializeAws_json1_1CustomerMetadataMap(output.CustomerMetadataProperties, context) : undefined, + Domain: __expectString(output.Domain), + DriftCheckBaselines: + output.DriftCheckBaselines !== undefined && output.DriftCheckBaselines !== null + ? deserializeAws_json1_1DriftCheckBaselines(output.DriftCheckBaselines, context) + : undefined, InferenceSpecification: output.InferenceSpecification !== undefined && output.InferenceSpecification !== null ? deserializeAws_json1_1InferenceSpecification(output.InferenceSpecification, context) @@ -31271,6 +33116,7 @@ const deserializeAws_json1_1ModelPackage = (output: any, context: __SerdeContext ? deserializeAws_json1_1ModelPackageStatusDetails(output.ModelPackageStatusDetails, context) : undefined, ModelPackageVersion: __expectInt32(output.ModelPackageVersion), + SamplePayloadUrl: __expectString(output.SamplePayloadUrl), SourceAlgorithmSpecification: output.SourceAlgorithmSpecification !== undefined && output.SourceAlgorithmSpecification !== null ? deserializeAws_json1_1SourceAlgorithmSpecification(output.SourceAlgorithmSpecification, context) @@ -31279,6 +33125,7 @@ const deserializeAws_json1_1ModelPackage = (output: any, context: __SerdeContext output.Tags !== undefined && output.Tags !== null ? deserializeAws_json1_1TagList(output.Tags, context) : undefined, + Task: __expectString(output.Task), ValidationSpecification: output.ValidationSpecification !== undefined && output.ValidationSpecification !== null ? deserializeAws_json1_1ModelPackageValidationSpecification(output.ValidationSpecification, context) @@ -31296,9 +33143,16 @@ const deserializeAws_json1_1ModelPackageContainerDefinition = ( output.Environment !== undefined && output.Environment !== null ? deserializeAws_json1_1EnvironmentMap(output.Environment, context) : undefined, + Framework: __expectString(output.Framework), + FrameworkVersion: __expectString(output.FrameworkVersion), Image: __expectString(output.Image), ImageDigest: __expectString(output.ImageDigest), ModelDataUrl: __expectString(output.ModelDataUrl), + ModelInput: + output.ModelInput !== undefined && output.ModelInput !== null + ? deserializeAws_json1_1ModelInput(output.ModelInput, context) + : undefined, + NearestModelName: __expectString(output.NearestModelName), ProductId: __expectString(output.ProductId), } as any; }; @@ -32397,12 +34251,20 @@ const deserializeAws_json1_1PendingProductionVariantSummary = ( return { AcceleratorType: __expectString(output.AcceleratorType), CurrentInstanceCount: __expectInt32(output.CurrentInstanceCount), + CurrentServerlessConfig: + output.CurrentServerlessConfig !== undefined && output.CurrentServerlessConfig !== null + ? deserializeAws_json1_1ProductionVariantServerlessConfig(output.CurrentServerlessConfig, context) + : undefined, CurrentWeight: __limitedParseFloat32(output.CurrentWeight), DeployedImages: output.DeployedImages !== undefined && output.DeployedImages !== null ? deserializeAws_json1_1DeployedImages(output.DeployedImages, context) : undefined, DesiredInstanceCount: __expectInt32(output.DesiredInstanceCount), + DesiredServerlessConfig: + output.DesiredServerlessConfig !== undefined && output.DesiredServerlessConfig !== null + ? deserializeAws_json1_1ProductionVariantServerlessConfig(output.DesiredServerlessConfig, context) + : undefined, DesiredWeight: __limitedParseFloat32(output.DesiredWeight), InstanceType: __expectString(output.InstanceType), VariantName: __expectString(output.VariantName), @@ -32427,6 +34289,25 @@ const deserializeAws_json1_1PendingProductionVariantSummaryList = ( }); }; +const deserializeAws_json1_1Phase = (output: any, context: __SerdeContext): Phase => { + return { + DurationInSeconds: __expectInt32(output.DurationInSeconds), + InitialNumberOfUsers: __expectInt32(output.InitialNumberOfUsers), + SpawnRate: __expectInt32(output.SpawnRate), + } as any; +}; + +const deserializeAws_json1_1Phases = (output: any, context: __SerdeContext): Phase[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Phase(entry, context); + }); +}; + const deserializeAws_json1_1Pipeline = (output: any, context: __SerdeContext): Pipeline => { return { CreatedBy: @@ -32544,6 +34425,10 @@ const deserializeAws_json1_1PipelineExecutionStepMetadata = ( output.Callback !== undefined && output.Callback !== null ? deserializeAws_json1_1CallbackStepMetadata(output.Callback, context) : undefined, + ClarifyCheck: + output.ClarifyCheck !== undefined && output.ClarifyCheck !== null + ? deserializeAws_json1_1ClarifyCheckStepMetadata(output.ClarifyCheck, context) + : undefined, Condition: output.Condition !== undefined && output.Condition !== null ? deserializeAws_json1_1ConditionStepMetadata(output.Condition, context) @@ -32560,6 +34445,10 @@ const deserializeAws_json1_1PipelineExecutionStepMetadata = ( output.ProcessingJob !== undefined && output.ProcessingJob !== null ? deserializeAws_json1_1ProcessingJobStepMetadata(output.ProcessingJob, context) : undefined, + QualityCheck: + output.QualityCheck !== undefined && output.QualityCheck !== null + ? deserializeAws_json1_1QualityCheckStepMetadata(output.QualityCheck, context) + : undefined, RegisterModel: output.RegisterModel !== undefined && output.RegisterModel !== null ? deserializeAws_json1_1RegisterModelStepMetadata(output.RegisterModel, context) @@ -32906,6 +34795,10 @@ const deserializeAws_json1_1ProductionVariant = (output: any, context: __SerdeCo InitialVariantWeight: __limitedParseFloat32(output.InitialVariantWeight), InstanceType: __expectString(output.InstanceType), ModelName: __expectString(output.ModelName), + ServerlessConfig: + output.ServerlessConfig !== undefined && output.ServerlessConfig !== null + ? deserializeAws_json1_1ProductionVariantServerlessConfig(output.ServerlessConfig, context) + : undefined, VariantName: __expectString(output.VariantName), } as any; }; @@ -32931,6 +34824,16 @@ const deserializeAws_json1_1ProductionVariantList = (output: any, context: __Ser }); }; +const deserializeAws_json1_1ProductionVariantServerlessConfig = ( + output: any, + context: __SerdeContext +): ProductionVariantServerlessConfig => { + return { + MaxConcurrency: __expectInt32(output.MaxConcurrency), + MemorySizeInMB: __expectInt32(output.MemorySizeInMB), + } as any; +}; + const deserializeAws_json1_1ProductionVariantStatus = ( output: any, context: __SerdeContext @@ -32965,12 +34868,20 @@ const deserializeAws_json1_1ProductionVariantSummary = ( ): ProductionVariantSummary => { return { CurrentInstanceCount: __expectInt32(output.CurrentInstanceCount), + CurrentServerlessConfig: + output.CurrentServerlessConfig !== undefined && output.CurrentServerlessConfig !== null + ? deserializeAws_json1_1ProductionVariantServerlessConfig(output.CurrentServerlessConfig, context) + : undefined, CurrentWeight: __limitedParseFloat32(output.CurrentWeight), DeployedImages: output.DeployedImages !== undefined && output.DeployedImages !== null ? deserializeAws_json1_1DeployedImages(output.DeployedImages, context) : undefined, DesiredInstanceCount: __expectInt32(output.DesiredInstanceCount), + DesiredServerlessConfig: + output.DesiredServerlessConfig !== undefined && output.DesiredServerlessConfig !== null + ? deserializeAws_json1_1ProductionVariantServerlessConfig(output.DesiredServerlessConfig, context) + : undefined, DesiredWeight: __limitedParseFloat32(output.DesiredWeight), VariantName: __expectString(output.VariantName), VariantStatus: @@ -33219,6 +35130,38 @@ const deserializeAws_json1_1PutModelPackageGroupPolicyOutput = ( } as any; }; +const deserializeAws_json1_1QualityCheckStepMetadata = ( + output: any, + context: __SerdeContext +): QualityCheckStepMetadata => { + return { + BaselineUsedForDriftCheckConstraints: __expectString(output.BaselineUsedForDriftCheckConstraints), + BaselineUsedForDriftCheckStatistics: __expectString(output.BaselineUsedForDriftCheckStatistics), + CalculatedBaselineConstraints: __expectString(output.CalculatedBaselineConstraints), + CalculatedBaselineStatistics: __expectString(output.CalculatedBaselineStatistics), + CheckJobArn: __expectString(output.CheckJobArn), + CheckType: __expectString(output.CheckType), + ModelPackageGroupName: __expectString(output.ModelPackageGroupName), + RegisterNewBaseline: __expectBoolean(output.RegisterNewBaseline), + SkipCheck: __expectBoolean(output.SkipCheck), + ViolationReport: __expectString(output.ViolationReport), + } as any; +}; + +const deserializeAws_json1_1QueryLineageResponse = (output: any, context: __SerdeContext): QueryLineageResponse => { + return { + Edges: + output.Edges !== undefined && output.Edges !== null + ? deserializeAws_json1_1Edges(output.Edges, context) + : undefined, + NextToken: __expectString(output.NextToken), + Vertices: + output.Vertices !== undefined && output.Vertices !== null + ? deserializeAws_json1_1Vertices(output.Vertices, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1RealtimeInferenceInstanceTypes = ( output: any, context: __SerdeContext @@ -33233,6 +35176,60 @@ const deserializeAws_json1_1RealtimeInferenceInstanceTypes = ( }); }; +const deserializeAws_json1_1RecommendationJobInputConfig = ( + output: any, + context: __SerdeContext +): RecommendationJobInputConfig => { + return { + EndpointConfigurations: + output.EndpointConfigurations !== undefined && output.EndpointConfigurations !== null + ? deserializeAws_json1_1EndpointInputConfigurations(output.EndpointConfigurations, context) + : undefined, + JobDurationInSeconds: __expectInt32(output.JobDurationInSeconds), + ModelPackageVersionArn: __expectString(output.ModelPackageVersionArn), + ResourceLimit: + output.ResourceLimit !== undefined && output.ResourceLimit !== null + ? deserializeAws_json1_1RecommendationJobResourceLimit(output.ResourceLimit, context) + : undefined, + TrafficPattern: + output.TrafficPattern !== undefined && output.TrafficPattern !== null + ? deserializeAws_json1_1TrafficPattern(output.TrafficPattern, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1RecommendationJobResourceLimit = ( + output: any, + context: __SerdeContext +): RecommendationJobResourceLimit => { + return { + MaxNumberOfTests: __expectInt32(output.MaxNumberOfTests), + MaxParallelOfTests: __expectInt32(output.MaxParallelOfTests), + } as any; +}; + +const deserializeAws_json1_1RecommendationJobStoppingConditions = ( + output: any, + context: __SerdeContext +): RecommendationJobStoppingConditions => { + return { + MaxInvocations: __expectInt32(output.MaxInvocations), + ModelLatencyThresholds: + output.ModelLatencyThresholds !== undefined && output.ModelLatencyThresholds !== null + ? deserializeAws_json1_1ModelLatencyThresholds(output.ModelLatencyThresholds, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1RecommendationMetrics = (output: any, context: __SerdeContext): RecommendationMetrics => { + return { + CostPerHour: __limitedParseFloat32(output.CostPerHour), + CostPerInference: __limitedParseFloat32(output.CostPerInference), + MaxInvocations: __expectInt32(output.MaxInvocations), + ModelLatency: __expectInt32(output.ModelLatency), + } as any; +}; + const deserializeAws_json1_1RedshiftDatasetDefinition = ( output: any, context: __SerdeContext @@ -33801,6 +35798,16 @@ const deserializeAws_json1_1TensorBoardOutputConfig = ( } as any; }; +const deserializeAws_json1_1TrafficPattern = (output: any, context: __SerdeContext): TrafficPattern => { + return { + Phases: + output.Phases !== undefined && output.Phases !== null + ? deserializeAws_json1_1Phases(output.Phases, context) + : undefined, + TrafficType: __expectString(output.TrafficType), + } as any; +}; + const deserializeAws_json1_1TrafficRoutingConfig = (output: any, context: __SerdeContext): TrafficRoutingConfig => { return { CanarySize: @@ -34329,6 +36336,7 @@ const deserializeAws_json1_1TrialComponent = (output: any, context: __SerdeConte output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + LineageGroupArn: __expectString(output.LineageGroupArn), MetadataProperties: output.MetadataProperties !== undefined && output.MetadataProperties !== null ? deserializeAws_json1_1MetadataProperties(output.MetadataProperties, context) @@ -34912,6 +36920,25 @@ const deserializeAws_json1_1UserSettings = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_1Vertex = (output: any, context: __SerdeContext): Vertex => { + return { + Arn: __expectString(output.Arn), + LineageType: __expectString(output.LineageType), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_json1_1Vertices = (output: any, context: __SerdeContext): Vertex[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Vertex(entry, context); + }); +}; + const deserializeAws_json1_1VpcConfig = (output: any, context: __SerdeContext): VpcConfig => { return { SecurityGroupIds: diff --git a/clients/client-shield/src/Shield.ts b/clients/client-shield/src/Shield.ts index 19175828fc18..5acbe892191c 100644 --- a/clients/client-shield/src/Shield.ts +++ b/clients/client-shield/src/Shield.ts @@ -85,6 +85,11 @@ import { DescribeSubscriptionCommandInput, DescribeSubscriptionCommandOutput, } from "./commands/DescribeSubscriptionCommand"; +import { + DisableApplicationLayerAutomaticResponseCommand, + DisableApplicationLayerAutomaticResponseCommandInput, + DisableApplicationLayerAutomaticResponseCommandOutput, +} from "./commands/DisableApplicationLayerAutomaticResponseCommand"; import { DisableProactiveEngagementCommand, DisableProactiveEngagementCommandInput, @@ -105,6 +110,11 @@ import { DisassociateHealthCheckCommandInput, DisassociateHealthCheckCommandOutput, } from "./commands/DisassociateHealthCheckCommand"; +import { + EnableApplicationLayerAutomaticResponseCommand, + EnableApplicationLayerAutomaticResponseCommandInput, + EnableApplicationLayerAutomaticResponseCommandOutput, +} from "./commands/EnableApplicationLayerAutomaticResponseCommand"; import { EnableProactiveEngagementCommand, EnableProactiveEngagementCommandInput, @@ -142,6 +152,11 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; +import { + UpdateApplicationLayerAutomaticResponseCommand, + UpdateApplicationLayerAutomaticResponseCommandInput, + UpdateApplicationLayerAutomaticResponseCommandOutput, +} from "./commands/UpdateApplicationLayerAutomaticResponseCommand"; import { UpdateEmergencyContactSettingsCommand, UpdateEmergencyContactSettingsCommandInput, @@ -168,7 +183,7 @@ import { ShieldClient } from "./ShieldClient"; export class Shield extends ShieldClient { /** *

                                                          Authorizes the Shield Response Team (SRT) to access the specified Amazon S3 bucket containing log data such as Application Load Balancer access logs, CloudFront logs, or logs from third party sources. You can associate up to 10 Amazon S3 buckets with your subscription.

                                                          - *

                                                          To use the services of the SRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          + *

                                                          To use the services of the SRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          */ public associateDRTLogBucket( args: AssociateDRTLogBucketCommandInput, @@ -202,11 +217,12 @@ export class Shield extends ShieldClient { /** *

                                                          Authorizes the Shield Response Team (SRT) using the specified role, to access your Amazon Web Services account to assist with DDoS attack mitigation during potential attacks. This enables the SRT to inspect your WAF configuration and create or update WAF rules and web ACLs.

                                                          *

                                                          You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn.

                                                          - *

                                                          Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal drt.shield.amazonaws.com. For more information, see IAM JSON Policy Elements: Principal.

                                                          + *

                                                          Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role that you'll specify in the request. You can access this policy in the IAM console at AWSShieldDRTAccessPolicy. For more information see Adding and removing IAM identity permissions. The role must also trust the service principal + * drt.shield.amazonaws.com. For more information, see IAM JSON policy elements: Principal.

                                                          * *

                                                          The SRT will have access only to your WAF and Shield resources. By submitting this request, you authorize the SRT to inspect your WAF and Shield configuration and create and update WAF rules and web ACLs on your behalf. The SRT takes these actions only if explicitly authorized by you.

                                                          - *

                                                          You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a User Permissions to Pass a Role to an Amazon Web Services Service.

                                                          - *

                                                          To use the services of the SRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          + *

                                                          You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a user permissions to pass a role to an Amazon Web Services service.

                                                          + *

                                                          To use the services of the SRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          */ public associateDRTRole( args: AssociateDRTRoleCommandInput, @@ -238,8 +254,8 @@ export class Shield extends ShieldClient { } /** - *

                                                          Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and mitigation.

                                                          - *

                                                          You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          + *

                                                          Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.

                                                          + *

                                                          You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          */ public associateHealthCheck( args: AssociateHealthCheckCommandInput, @@ -308,8 +324,12 @@ export class Shield extends ShieldClient { } /** - *

                                                          Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

                                                          - *

                                                          You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the WAF console. For more information see Getting Started with Shield Advanced and Add Shield Advanced Protection to more Amazon Web Services Resources.

                                                          + *

                                                          Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

                                                          + *

                                                          You can add protection to only a single resource with each CreateProtection request. You can add protection to multiple resources + * at once through the Shield Advanced console at https://console.aws.amazon.com/wafv2/shieldv2#/. + * For more information see + * Getting Started with Shield Advanced + * and Adding Shield Advanced protection to Amazon Web Services resources.

                                                          */ public createProtection( args: CreateProtectionCommandInput, @@ -730,6 +750,41 @@ export class Shield extends ShieldClient { } } + /** + *

                                                          Disable the Shield Advanced automatic application layer DDoS mitigation feature for the resource. This + * stops Shield Advanced from creating, verifying, and applying WAF rules for attacks that it detects for the resource.

                                                          + */ + public disableApplicationLayerAutomaticResponse( + args: DisableApplicationLayerAutomaticResponseCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disableApplicationLayerAutomaticResponse( + args: DisableApplicationLayerAutomaticResponseCommandInput, + cb: (err: any, data?: DisableApplicationLayerAutomaticResponseCommandOutput) => void + ): void; + public disableApplicationLayerAutomaticResponse( + args: DisableApplicationLayerAutomaticResponseCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisableApplicationLayerAutomaticResponseCommandOutput) => void + ): void; + public disableApplicationLayerAutomaticResponse( + args: DisableApplicationLayerAutomaticResponseCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DisableApplicationLayerAutomaticResponseCommandOutput) => void), + cb?: (err: any, data?: DisableApplicationLayerAutomaticResponseCommandOutput) => void + ): Promise | void { + const command = new DisableApplicationLayerAutomaticResponseCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (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 authorization from the Shield Response Team (SRT) to notify contacts about escalations to the SRT and to initiate proactive customer support.

                                                          */ @@ -764,7 +819,6 @@ export class Shield extends ShieldClient { /** *

                                                          Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.

                                                          - *

                                                          To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access.

                                                          */ public disassociateDRTLogBucket( args: DisassociateDRTLogBucketCommandInput, @@ -797,7 +851,6 @@ export class Shield extends ShieldClient { /** *

                                                          Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.

                                                          - *

                                                          To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a DisassociateDRTRole request to remove this access.

                                                          */ public disassociateDRTRole( args: DisassociateDRTRoleCommandInput, @@ -829,8 +882,8 @@ export class Shield extends ShieldClient { } /** - *

                                                          Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and mitigation.

                                                          - *

                                                          You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          + *

                                                          Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.

                                                          + *

                                                          You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          */ public disassociateHealthCheck( args: DisassociateHealthCheckCommandInput, @@ -861,6 +914,53 @@ export class Shield extends ShieldClient { } } + /** + *

                                                          Enable the Shield Advanced automatic application layer DDoS mitigation for the resource.

                                                          + * + *

                                                          This feature is available for Amazon CloudFront distributions only.

                                                          + *
                                                          + *

                                                          This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the + * resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated + * with the resource. For information about how automatic mitigation works and the requirements for using it, see + * Shield Advanced automatic application layer DDoS mitigation.

                                                          + *

                                                          Don't use this action to make changes to automatic mitigation settings when it's already enabled for a resource. Instead, use UpdateApplicationLayerAutomaticResponse.

                                                          + *

                                                          To use this feature, you must associate a web ACL with the protected resource. The web ACL must be created using the latest version of WAF (v2). You can associate the web ACL through the Shield Advanced console + * at https://console.aws.amazon.com/wafv2/shieldv2#/. For more information, + * see Getting Started with Shield Advanced.

                                                          + *

                                                          You can also do this through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see + * WAF Developer Guide.

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

                                                          Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.

                                                          */ @@ -1138,6 +1238,40 @@ export class Shield extends ShieldClient { } } + /** + *

                                                          Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.

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

                                                          Updates the details of the list of email addresses and phone numbers that the Shield Response Team (SRT) can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.

                                                          */ diff --git a/clients/client-shield/src/ShieldClient.ts b/clients/client-shield/src/ShieldClient.ts index 59b022992de4..638495b31e0d 100644 --- a/clients/client-shield/src/ShieldClient.ts +++ b/clients/client-shield/src/ShieldClient.ts @@ -93,6 +93,10 @@ import { DescribeSubscriptionCommandInput, DescribeSubscriptionCommandOutput, } from "./commands/DescribeSubscriptionCommand"; +import { + DisableApplicationLayerAutomaticResponseCommandInput, + DisableApplicationLayerAutomaticResponseCommandOutput, +} from "./commands/DisableApplicationLayerAutomaticResponseCommand"; import { DisableProactiveEngagementCommandInput, DisableProactiveEngagementCommandOutput, @@ -109,6 +113,10 @@ import { DisassociateHealthCheckCommandInput, DisassociateHealthCheckCommandOutput, } from "./commands/DisassociateHealthCheckCommand"; +import { + EnableApplicationLayerAutomaticResponseCommandInput, + EnableApplicationLayerAutomaticResponseCommandOutput, +} from "./commands/EnableApplicationLayerAutomaticResponseCommand"; import { EnableProactiveEngagementCommandInput, EnableProactiveEngagementCommandOutput, @@ -133,6 +141,10 @@ import { } from "./commands/ListTagsForResourceCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdateApplicationLayerAutomaticResponseCommandInput, + UpdateApplicationLayerAutomaticResponseCommandOutput, +} from "./commands/UpdateApplicationLayerAutomaticResponseCommand"; import { UpdateEmergencyContactSettingsCommandInput, UpdateEmergencyContactSettingsCommandOutput, @@ -162,10 +174,12 @@ export type ServiceInputTypes = | DescribeProtectionCommandInput | DescribeProtectionGroupCommandInput | DescribeSubscriptionCommandInput + | DisableApplicationLayerAutomaticResponseCommandInput | DisableProactiveEngagementCommandInput | DisassociateDRTLogBucketCommandInput | DisassociateDRTRoleCommandInput | DisassociateHealthCheckCommandInput + | EnableApplicationLayerAutomaticResponseCommandInput | EnableProactiveEngagementCommandInput | GetSubscriptionStateCommandInput | ListAttacksCommandInput @@ -175,6 +189,7 @@ export type ServiceInputTypes = | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput + | UpdateApplicationLayerAutomaticResponseCommandInput | UpdateEmergencyContactSettingsCommandInput | UpdateProtectionGroupCommandInput | UpdateSubscriptionCommandInput; @@ -197,10 +212,12 @@ export type ServiceOutputTypes = | DescribeProtectionCommandOutput | DescribeProtectionGroupCommandOutput | DescribeSubscriptionCommandOutput + | DisableApplicationLayerAutomaticResponseCommandOutput | DisableProactiveEngagementCommandOutput | DisassociateDRTLogBucketCommandOutput | DisassociateDRTRoleCommandOutput | DisassociateHealthCheckCommandOutput + | EnableApplicationLayerAutomaticResponseCommandOutput | EnableProactiveEngagementCommandOutput | GetSubscriptionStateCommandOutput | ListAttacksCommandOutput @@ -210,6 +227,7 @@ export type ServiceOutputTypes = | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput + | UpdateApplicationLayerAutomaticResponseCommandOutput | UpdateEmergencyContactSettingsCommandOutput | UpdateProtectionGroupCommandOutput | UpdateSubscriptionCommandOutput; diff --git a/clients/client-shield/src/commands/AssociateDRTLogBucketCommand.ts b/clients/client-shield/src/commands/AssociateDRTLogBucketCommand.ts index 635d8303d39f..2b2c64dab246 100644 --- a/clients/client-shield/src/commands/AssociateDRTLogBucketCommand.ts +++ b/clients/client-shield/src/commands/AssociateDRTLogBucketCommand.ts @@ -23,7 +23,7 @@ export interface AssociateDRTLogBucketCommandOutput extends AssociateDRTLogBucke /** *

                                                          Authorizes the Shield Response Team (SRT) to access the specified Amazon S3 bucket containing log data such as Application Load Balancer access logs, CloudFront logs, or logs from third party sources. You can associate up to 10 Amazon S3 buckets with your subscription.

                                                          - *

                                                          To use the services of the SRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          + *

                                                          To use the services of the SRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/AssociateDRTRoleCommand.ts b/clients/client-shield/src/commands/AssociateDRTRoleCommand.ts index 4c0760f419cc..de41eb57f197 100644 --- a/clients/client-shield/src/commands/AssociateDRTRoleCommand.ts +++ b/clients/client-shield/src/commands/AssociateDRTRoleCommand.ts @@ -24,11 +24,12 @@ export interface AssociateDRTRoleCommandOutput extends AssociateDRTRoleResponse, /** *

                                                          Authorizes the Shield Response Team (SRT) using the specified role, to access your Amazon Web Services account to assist with DDoS attack mitigation during potential attacks. This enables the SRT to inspect your WAF configuration and create or update WAF rules and web ACLs.

                                                          *

                                                          You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn.

                                                          - *

                                                          Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal drt.shield.amazonaws.com. For more information, see IAM JSON Policy Elements: Principal.

                                                          + *

                                                          Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role that you'll specify in the request. You can access this policy in the IAM console at AWSShieldDRTAccessPolicy. For more information see Adding and removing IAM identity permissions. The role must also trust the service principal + * drt.shield.amazonaws.com. For more information, see IAM JSON policy elements: Principal.

                                                          * *

                                                          The SRT will have access only to your WAF and Shield resources. By submitting this request, you authorize the SRT to inspect your WAF and Shield configuration and create and update WAF rules and web ACLs on your behalf. The SRT takes these actions only if explicitly authorized by you.

                                                          - *

                                                          You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a User Permissions to Pass a Role to an Amazon Web Services Service.

                                                          - *

                                                          To use the services of the SRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          + *

                                                          You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a user permissions to pass a role to an Amazon Web Services service.

                                                          + *

                                                          To use the services of the SRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/AssociateHealthCheckCommand.ts b/clients/client-shield/src/commands/AssociateHealthCheckCommand.ts index 3a19f12078d9..694305d968cd 100644 --- a/clients/client-shield/src/commands/AssociateHealthCheckCommand.ts +++ b/clients/client-shield/src/commands/AssociateHealthCheckCommand.ts @@ -22,8 +22,8 @@ export interface AssociateHealthCheckCommandInput extends AssociateHealthCheckRe export interface AssociateHealthCheckCommandOutput extends AssociateHealthCheckResponse, __MetadataBearer {} /** - *

                                                          Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and mitigation.

                                                          - *

                                                          You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          + *

                                                          Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.

                                                          + *

                                                          You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/CreateProtectionCommand.ts b/clients/client-shield/src/commands/CreateProtectionCommand.ts index b142f891c293..a50cbe5f6930 100644 --- a/clients/client-shield/src/commands/CreateProtectionCommand.ts +++ b/clients/client-shield/src/commands/CreateProtectionCommand.ts @@ -22,8 +22,12 @@ export interface CreateProtectionCommandInput extends CreateProtectionRequest {} export interface CreateProtectionCommandOutput extends CreateProtectionResponse, __MetadataBearer {} /** - *

                                                          Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

                                                          - *

                                                          You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the WAF console. For more information see Getting Started with Shield Advanced and Add Shield Advanced Protection to more Amazon Web Services Resources.

                                                          + *

                                                          Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

                                                          + *

                                                          You can add protection to only a single resource with each CreateProtection request. You can add protection to multiple resources + * at once through the Shield Advanced console at https://console.aws.amazon.com/wafv2/shieldv2#/. + * For more information see + * Getting Started with Shield Advanced + * and Adding Shield Advanced protection to Amazon Web Services resources.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/DisableApplicationLayerAutomaticResponseCommand.ts b/clients/client-shield/src/commands/DisableApplicationLayerAutomaticResponseCommand.ts new file mode 100644 index 000000000000..86aa7b882baa --- /dev/null +++ b/clients/client-shield/src/commands/DisableApplicationLayerAutomaticResponseCommand.ts @@ -0,0 +1,111 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + DisableApplicationLayerAutomaticResponseRequest, + DisableApplicationLayerAutomaticResponseResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DisableApplicationLayerAutomaticResponseCommand, + serializeAws_json1_1DisableApplicationLayerAutomaticResponseCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, ShieldClientResolvedConfig } from "../ShieldClient"; + +export interface DisableApplicationLayerAutomaticResponseCommandInput + extends DisableApplicationLayerAutomaticResponseRequest {} +export interface DisableApplicationLayerAutomaticResponseCommandOutput + extends DisableApplicationLayerAutomaticResponseResponse, + __MetadataBearer {} + +/** + *

                                                          Disable the Shield Advanced automatic application layer DDoS mitigation feature for the resource. This + * stops Shield Advanced from creating, verifying, and applying WAF rules for attacks that it detects for the resource.

                                                          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ShieldClient, DisableApplicationLayerAutomaticResponseCommand } from "@aws-sdk/client-shield"; // ES Modules import + * // const { ShieldClient, DisableApplicationLayerAutomaticResponseCommand } = require("@aws-sdk/client-shield"); // CommonJS import + * const client = new ShieldClient(config); + * const command = new DisableApplicationLayerAutomaticResponseCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DisableApplicationLayerAutomaticResponseCommandInput} for command's `input` shape. + * @see {@link DisableApplicationLayerAutomaticResponseCommandOutput} for command's `response` shape. + * @see {@link ShieldClientResolvedConfig | config} for ShieldClient's `config` shape. + * + */ +export class DisableApplicationLayerAutomaticResponseCommand extends $Command< + DisableApplicationLayerAutomaticResponseCommandInput, + DisableApplicationLayerAutomaticResponseCommandOutput, + ShieldClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisableApplicationLayerAutomaticResponseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ShieldClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DisableApplicationLayerAutomaticResponseCommandInput, + DisableApplicationLayerAutomaticResponseCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ShieldClient"; + const commandName = "DisableApplicationLayerAutomaticResponseCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisableApplicationLayerAutomaticResponseRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisableApplicationLayerAutomaticResponseResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisableApplicationLayerAutomaticResponseCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DisableApplicationLayerAutomaticResponseCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DisableApplicationLayerAutomaticResponseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-shield/src/commands/DisassociateDRTLogBucketCommand.ts b/clients/client-shield/src/commands/DisassociateDRTLogBucketCommand.ts index 38f4de47f20f..f88932beec00 100644 --- a/clients/client-shield/src/commands/DisassociateDRTLogBucketCommand.ts +++ b/clients/client-shield/src/commands/DisassociateDRTLogBucketCommand.ts @@ -23,7 +23,6 @@ export interface DisassociateDRTLogBucketCommandOutput extends DisassociateDRTLo /** *

                                                          Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.

                                                          - *

                                                          To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/DisassociateDRTRoleCommand.ts b/clients/client-shield/src/commands/DisassociateDRTRoleCommand.ts index 8d9eb95464d9..c4cf1935ab56 100644 --- a/clients/client-shield/src/commands/DisassociateDRTRoleCommand.ts +++ b/clients/client-shield/src/commands/DisassociateDRTRoleCommand.ts @@ -23,7 +23,6 @@ export interface DisassociateDRTRoleCommandOutput extends DisassociateDRTRoleRes /** *

                                                          Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.

                                                          - *

                                                          To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a DisassociateDRTRole request to remove this access.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/DisassociateHealthCheckCommand.ts b/clients/client-shield/src/commands/DisassociateHealthCheckCommand.ts index 3b845cbf1940..af169c9a9a71 100644 --- a/clients/client-shield/src/commands/DisassociateHealthCheckCommand.ts +++ b/clients/client-shield/src/commands/DisassociateHealthCheckCommand.ts @@ -22,8 +22,8 @@ export interface DisassociateHealthCheckCommandInput extends DisassociateHealthC export interface DisassociateHealthCheckCommandOutput extends DisassociateHealthCheckResponse, __MetadataBearer {} /** - *

                                                          Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and mitigation.

                                                          - *

                                                          You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          + *

                                                          Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.

                                                          + *

                                                          You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-shield/src/commands/EnableApplicationLayerAutomaticResponseCommand.ts b/clients/client-shield/src/commands/EnableApplicationLayerAutomaticResponseCommand.ts new file mode 100644 index 000000000000..c5e5f8936577 --- /dev/null +++ b/clients/client-shield/src/commands/EnableApplicationLayerAutomaticResponseCommand.ts @@ -0,0 +1,123 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + EnableApplicationLayerAutomaticResponseRequest, + EnableApplicationLayerAutomaticResponseResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1EnableApplicationLayerAutomaticResponseCommand, + serializeAws_json1_1EnableApplicationLayerAutomaticResponseCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, ShieldClientResolvedConfig } from "../ShieldClient"; + +export interface EnableApplicationLayerAutomaticResponseCommandInput + extends EnableApplicationLayerAutomaticResponseRequest {} +export interface EnableApplicationLayerAutomaticResponseCommandOutput + extends EnableApplicationLayerAutomaticResponseResponse, + __MetadataBearer {} + +/** + *

                                                          Enable the Shield Advanced automatic application layer DDoS mitigation for the resource.

                                                          + * + *

                                                          This feature is available for Amazon CloudFront distributions only.

                                                          + *
                                                          + *

                                                          This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the + * resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated + * with the resource. For information about how automatic mitigation works and the requirements for using it, see + * Shield Advanced automatic application layer DDoS mitigation.

                                                          + *

                                                          Don't use this action to make changes to automatic mitigation settings when it's already enabled for a resource. Instead, use UpdateApplicationLayerAutomaticResponse.

                                                          + *

                                                          To use this feature, you must associate a web ACL with the protected resource. The web ACL must be created using the latest version of WAF (v2). You can associate the web ACL through the Shield Advanced console + * at https://console.aws.amazon.com/wafv2/shieldv2#/. For more information, + * see Getting Started with Shield Advanced.

                                                          + *

                                                          You can also do this through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see + * WAF Developer Guide.

                                                          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ShieldClient, EnableApplicationLayerAutomaticResponseCommand } from "@aws-sdk/client-shield"; // ES Modules import + * // const { ShieldClient, EnableApplicationLayerAutomaticResponseCommand } = require("@aws-sdk/client-shield"); // CommonJS import + * const client = new ShieldClient(config); + * const command = new EnableApplicationLayerAutomaticResponseCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link EnableApplicationLayerAutomaticResponseCommandInput} for command's `input` shape. + * @see {@link EnableApplicationLayerAutomaticResponseCommandOutput} for command's `response` shape. + * @see {@link ShieldClientResolvedConfig | config} for ShieldClient's `config` shape. + * + */ +export class EnableApplicationLayerAutomaticResponseCommand extends $Command< + EnableApplicationLayerAutomaticResponseCommandInput, + EnableApplicationLayerAutomaticResponseCommandOutput, + ShieldClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: EnableApplicationLayerAutomaticResponseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ShieldClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + EnableApplicationLayerAutomaticResponseCommandInput, + EnableApplicationLayerAutomaticResponseCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ShieldClient"; + const commandName = "EnableApplicationLayerAutomaticResponseCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: EnableApplicationLayerAutomaticResponseRequest.filterSensitiveLog, + outputFilterSensitiveLog: EnableApplicationLayerAutomaticResponseResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: EnableApplicationLayerAutomaticResponseCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1EnableApplicationLayerAutomaticResponseCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1EnableApplicationLayerAutomaticResponseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-shield/src/commands/UpdateApplicationLayerAutomaticResponseCommand.ts b/clients/client-shield/src/commands/UpdateApplicationLayerAutomaticResponseCommand.ts new file mode 100644 index 000000000000..77ef77448199 --- /dev/null +++ b/clients/client-shield/src/commands/UpdateApplicationLayerAutomaticResponseCommand.ts @@ -0,0 +1,110 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + UpdateApplicationLayerAutomaticResponseRequest, + UpdateApplicationLayerAutomaticResponseResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommand, + serializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, ShieldClientResolvedConfig } from "../ShieldClient"; + +export interface UpdateApplicationLayerAutomaticResponseCommandInput + extends UpdateApplicationLayerAutomaticResponseRequest {} +export interface UpdateApplicationLayerAutomaticResponseCommandOutput + extends UpdateApplicationLayerAutomaticResponseResponse, + __MetadataBearer {} + +/** + *

                                                          Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.

                                                          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ShieldClient, UpdateApplicationLayerAutomaticResponseCommand } from "@aws-sdk/client-shield"; // ES Modules import + * // const { ShieldClient, UpdateApplicationLayerAutomaticResponseCommand } = require("@aws-sdk/client-shield"); // CommonJS import + * const client = new ShieldClient(config); + * const command = new UpdateApplicationLayerAutomaticResponseCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateApplicationLayerAutomaticResponseCommandInput} for command's `input` shape. + * @see {@link UpdateApplicationLayerAutomaticResponseCommandOutput} for command's `response` shape. + * @see {@link ShieldClientResolvedConfig | config} for ShieldClient's `config` shape. + * + */ +export class UpdateApplicationLayerAutomaticResponseCommand extends $Command< + UpdateApplicationLayerAutomaticResponseCommandInput, + UpdateApplicationLayerAutomaticResponseCommandOutput, + ShieldClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateApplicationLayerAutomaticResponseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ShieldClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + UpdateApplicationLayerAutomaticResponseCommandInput, + UpdateApplicationLayerAutomaticResponseCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ShieldClient"; + const commandName = "UpdateApplicationLayerAutomaticResponseCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateApplicationLayerAutomaticResponseRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateApplicationLayerAutomaticResponseResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateApplicationLayerAutomaticResponseCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-shield/src/commands/index.ts b/clients/client-shield/src/commands/index.ts index b4e7901c6dc7..c540c2d62af6 100644 --- a/clients/client-shield/src/commands/index.ts +++ b/clients/client-shield/src/commands/index.ts @@ -15,10 +15,12 @@ export * from "./DescribeEmergencyContactSettingsCommand"; export * from "./DescribeProtectionCommand"; export * from "./DescribeProtectionGroupCommand"; export * from "./DescribeSubscriptionCommand"; +export * from "./DisableApplicationLayerAutomaticResponseCommand"; export * from "./DisableProactiveEngagementCommand"; export * from "./DisassociateDRTLogBucketCommand"; export * from "./DisassociateDRTRoleCommand"; export * from "./DisassociateHealthCheckCommand"; +export * from "./EnableApplicationLayerAutomaticResponseCommand"; export * from "./EnableProactiveEngagementCommand"; export * from "./GetSubscriptionStateCommand"; export * from "./ListAttacksCommand"; @@ -28,6 +30,7 @@ export * from "./ListResourcesInProtectionGroupCommand"; export * from "./ListTagsForResourceCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; +export * from "./UpdateApplicationLayerAutomaticResponseCommand"; export * from "./UpdateEmergencyContactSettingsCommand"; export * from "./UpdateProtectionGroupCommand"; export * from "./UpdateSubscriptionCommand"; diff --git a/clients/client-shield/src/models/models_0.ts b/clients/client-shield/src/models/models_0.ts index c52a10c4a5c5..555aece0ee42 100644 --- a/clients/client-shield/src/models/models_0.ts +++ b/clients/client-shield/src/models/models_0.ts @@ -36,6 +36,101 @@ export namespace AccessDeniedForDependencyException { }); } +/** + *

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Block action.

                                                          + *

                                                          This is only used in the context of the ResponseAction setting.

                                                          + *

                                                          JSON specification: "Block": {} + *

                                                          + */ +export interface BlockAction {} + +export namespace BlockAction { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BlockAction): any => ({ + ...obj, + }); +} + +/** + *

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Count action.

                                                          + *

                                                          This is only used in the context of the ResponseAction setting.

                                                          + *

                                                          JSON specification: "Count": {} + *

                                                          + */ +export interface CountAction {} + +export namespace CountAction { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CountAction): any => ({ + ...obj, + }); +} + +/** + *

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the + * protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, + * when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          + */ +export interface ResponseAction { + /** + *

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Block action.

                                                          + *

                                                          You must specify exactly one action, either Block or Count.

                                                          + */ + Block?: BlockAction; + + /** + *

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Count action.

                                                          + *

                                                          You must specify exactly one action, either Block or Count.

                                                          + */ + Count?: CountAction; +} + +export namespace ResponseAction { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResponseAction): any => ({ + ...obj, + }); +} + +export enum ApplicationLayerAutomaticResponseStatus { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +/** + *

                                                          The automatic application layer DDoS mitigation settings for a Protection. + * This configuration determines whether Shield Advanced automatically + * manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.

                                                          + */ +export interface ApplicationLayerAutomaticResponseConfiguration { + /** + *

                                                          Indicates whether automatic application layer DDoS mitigation is enabled for the protection.

                                                          + */ + Status: ApplicationLayerAutomaticResponseStatus | string | undefined; + + /** + *

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the + * protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, + * when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          + */ + Action: ResponseAction | undefined; +} + +export namespace ApplicationLayerAutomaticResponseConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ApplicationLayerAutomaticResponseConfiguration): any => ({ + ...obj, + }); +} + export interface AssociateDRTLogBucketRequest { /** *

                                                          The Amazon S3 bucket that contains the logs that you want to share.

                                                          @@ -64,8 +159,7 @@ export namespace AssociateDRTLogBucketResponse { } /** - *

                                                          Exception that indicates that a problem occurred with the service infrastructure. You - * can retry the request.

                                                          + *

                                                          Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.

                                                          */ export interface InternalErrorException extends __SmithyException, $MetadataBearer { name: "InternalErrorException"; @@ -302,6 +396,24 @@ export namespace AssociateHealthCheckResponse { }); } +/** + *

                                                          Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.

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

                                                          Contact information that the SRT can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.

                                                          */ @@ -423,11 +535,11 @@ export enum AttackPropertyIdentifier { } /** - *

                                                          A contributor to the attack and their contribution.

                                                          + *

                                                          A contributor to the attack and their contribution.

                                                          */ export interface Contributor { /** - *

                                                          The name of the contributor. This is dependent on the AttackPropertyIdentifier. For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name could be United States.

                                                          + *

                                                          The name of the contributor. The type of name that you'll find here depends on the AttackPropertyIdentifier setting in the AttackProperty where this contributor is defined. For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name could be United States.

                                                          */ Name?: string; @@ -461,7 +573,7 @@ export interface AttackProperty { *

                                                          The type of Shield event that was observed. NETWORK indicates layer 3 and layer 4 events and APPLICATION * indicates layer 7 events.

                                                          *

                                                          For infrastructure - * layer events (L3 and L4 events) after January 25, 2021, you can view metrics for top contributors in Amazon CloudWatch metrics. + * layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. * For more information, see Shield metrics and alarms * in the WAF Developer Guide.

                                                          */ @@ -475,7 +587,7 @@ export interface AttackProperty { AttackPropertyIdentifier?: AttackPropertyIdentifier | string; /** - *

                                                          Contributor objects for the top five contributors to a Shield event.

                                                          + *

                                                          Contributor objects for the top five contributors to a Shield event. A contributor is a source of traffic that Shield Advanced identifies as responsible for some or all of an event.

                                                          */ TopContributors?: Contributor[]; @@ -602,12 +714,12 @@ export interface AttackDetail { SubResources?: SubResourceSummary[]; /** - *

                                                          The time the attack started, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The time the attack started, in Unix time in seconds.

                                                          */ StartTime?: Date; /** - *

                                                          The time the attack ended, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The time the attack ended, in Unix time in seconds.

                                                          */ EndTime?: Date; @@ -619,7 +731,7 @@ export interface AttackDetail { /** *

                                                          The array of objects that provide details of the Shield event.

                                                          *

                                                          For infrastructure - * layer events (L3 and L4 events) after January 25, 2021, you can view metrics for top contributors in Amazon CloudWatch metrics. + * layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. * For more information, see Shield metrics and alarms * in the WAF Developer Guide.

                                                          */ @@ -802,12 +914,12 @@ export interface AttackSummary { ResourceArn?: string; /** - *

                                                          The start time of the attack, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The start time of the attack, in Unix time in seconds.

                                                          */ StartTime?: Date; /** - *

                                                          The end time of the attack, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The end time of the attack, in Unix time in seconds.

                                                          */ EndTime?: Date; @@ -886,7 +998,7 @@ export interface CreateProtectionRequest { *

                                                          * *
                                                        • - *

                                                          For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id + *

                                                          For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id * *

                                                          *
                                                        • @@ -930,24 +1042,6 @@ export namespace CreateProtectionResponse { }); } -/** - *

                                                          Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.

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

                                                          Exception indicating the specified resource already exists. If available, this exception includes details in additional properties.

                                                          */ @@ -1174,7 +1268,7 @@ export namespace LockedSubscriptionException { export interface DescribeAttackRequest { /** - *

                                                          The unique identifier (ID) for the attack that to be described.

                                                          + *

                                                          The unique identifier (ID) for the attack.

                                                          */ AttackId: string | undefined; } @@ -1220,12 +1314,12 @@ export namespace DescribeAttackStatisticsRequest { */ export interface TimeRange { /** - *

                                                          The start time, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The start time, in Unix time in seconds.

                                                          */ FromInclusive?: Date; /** - *

                                                          The end time, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The end time, in Unix time in seconds.

                                                          */ ToExclusive?: Date; } @@ -1362,7 +1456,7 @@ export interface Protection { ResourceArn?: string; /** - *

                                                          The unique identifier (ID) for the Route 53 health check that's associated with the protection.

                                                          + *

                                                          The unique identifier (ID) for the Route 53 health check that's associated with the protection.

                                                          */ HealthCheckIds?: string[]; @@ -1370,6 +1464,13 @@ export interface Protection { *

                                                          The ARN (Amazon Resource Name) of the protection.

                                                          */ ProtectionArn?: string; + + /** + *

                                                          The automatic application layer DDoS mitigation settings for the protection. + * This configuration determines whether Shield Advanced automatically + * manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.

                                                          + */ + ApplicationLayerAutomaticResponseConfiguration?: ApplicationLayerAutomaticResponseConfiguration; } export namespace Protection { @@ -1636,7 +1737,7 @@ export namespace SubscriptionLimits { */ export interface Subscription { /** - *

                                                          The start time of the subscription, in Unix time in seconds. For more information see timestamp.

                                                          + *

                                                          The start time of the subscription, in Unix time in seconds.

                                                          */ StartTime?: Date; @@ -1704,6 +1805,33 @@ export namespace DescribeSubscriptionResponse { }); } +export interface DisableApplicationLayerAutomaticResponseRequest { + /** + *

                                                          The ARN (Amazon Resource Name) of the resource.

                                                          + */ + ResourceArn: string | undefined; +} + +export namespace DisableApplicationLayerAutomaticResponseRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisableApplicationLayerAutomaticResponseRequest): any => ({ + ...obj, + }); +} + +export interface DisableApplicationLayerAutomaticResponseResponse {} + +export namespace DisableApplicationLayerAutomaticResponseResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisableApplicationLayerAutomaticResponseResponse): any => ({ + ...obj, + }); +} + export interface DisableProactiveEngagementRequest {} export namespace DisableProactiveEngagementRequest { @@ -1807,6 +1935,40 @@ export namespace DisassociateHealthCheckResponse { }); } +export interface EnableApplicationLayerAutomaticResponseRequest { + /** + *

                                                          The ARN (Amazon Resource Name) of the resource.

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

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the + * protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, + * when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          + */ + Action: ResponseAction | undefined; +} + +export namespace EnableApplicationLayerAutomaticResponseRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EnableApplicationLayerAutomaticResponseRequest): any => ({ + ...obj, + }); +} + +export interface EnableApplicationLayerAutomaticResponseResponse {} + +export namespace EnableApplicationLayerAutomaticResponseResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EnableApplicationLayerAutomaticResponseResponse): any => ({ + ...obj, + }); +} + export interface EnableProactiveEngagementRequest {} export namespace EnableProactiveEngagementRequest { @@ -1863,30 +2025,39 @@ export namespace GetSubscriptionStateResponse { export interface ListAttacksRequest { /** - *

                                                          The ARN (Amazon Resource Name) of the resource that was attacked. If this is left + *

                                                          The ARNs (Amazon Resource Names) of the resources that were attacked. If you leave this * blank, all applicable resources for this account will be included.

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

                                                          The start of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

                                                          + *

                                                          The start of the time period for the attacks. This is a timestamp type. The request syntax listing for this call indicates a number type, + * but you can provide the time in any valid timestamp format setting.

                                                          */ StartTime?: TimeRange; /** - *

                                                          The end of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

                                                          + *

                                                          The end of the time period for the attacks. This is a timestamp type. The request syntax listing for this call indicates a number type, + * but you can provide the time in any valid timestamp format setting.

                                                          */ EndTime?: TimeRange; /** - *

                                                          The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          + *

                                                          On your first call to a list operation, leave this setting empty.

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

                                                          The maximum number of AttackSummary objects to return. If you leave this blank, - * Shield Advanced returns the first 20 results.

                                                          - *

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          + *

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects + * than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value + * in the response.

                                                          + *

                                                          The default setting is 20.

                                                          */ MaxResults?: number; } @@ -1907,11 +2078,12 @@ export interface ListAttacksResponse { 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 - * parameter in a subsequent call to ListAttacks to retrieve the next set of - * items.

                                                          - *

                                                          Shield Advanced might return the list of AttackSummary objects in batches smaller than the number specified by MaxResults. If there are more attack summary objects to return, Shield Advanced will always also return a NextToken.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          */ NextToken?: string; } @@ -1926,7 +2098,7 @@ export namespace ListAttacksResponse { } /** - *

                                                          Exception that indicates that the NextToken specified in the request is invalid. Submit the request using the NextToken value that was returned in the response.

                                                          + *

                                                          Exception that indicates that the NextToken specified in the request is invalid. Submit the request using the NextToken value that was returned in the prior response.

                                                          */ export interface InvalidPaginationTokenException extends __SmithyException, $MetadataBearer { name: "InvalidPaginationTokenException"; @@ -1945,14 +2117,21 @@ export namespace InvalidPaginationTokenException { export interface ListProtectionGroupsRequest { /** - *

                                                          The next token value from a previous call to ListProtectionGroups. Pass null if this is the first call.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          + *

                                                          On your first call to a list operation, leave this setting empty.

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

                                                          The maximum number of ProtectionGroup objects to return. If you leave this blank, - * Shield Advanced returns the first 20 results.

                                                          - *

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          + *

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects + * than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value + * in the response.

                                                          + *

                                                          The default setting is 20.

                                                          */ MaxResults?: number; } @@ -1973,7 +2152,12 @@ export interface ListProtectionGroupsResponse { ProtectionGroups: ProtectionGroup[] | undefined; /** - *

                                                          If you specify a value for MaxResults and you have more protection groups than the value of MaxResults, Shield Advanced returns this token that you can use in your next request, to get the next batch of objects.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          */ NextToken?: string; } @@ -1989,14 +2173,21 @@ export namespace ListProtectionGroupsResponse { export interface ListProtectionsRequest { /** - *

                                                          The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          + *

                                                          On your first call to a list operation, leave this setting empty.

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

                                                          The maximum number of Protection objects to return. If you leave this blank, - * Shield Advanced returns the first 20 results.

                                                          - *

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          + *

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects + * than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value + * in the response.

                                                          + *

                                                          The default setting is 20.

                                                          */ MaxResults?: number; } @@ -2017,8 +2208,12 @@ export interface ListProtectionsResponse { Protections?: Protection[]; /** - *

                                                          If you specify a value for MaxResults and you have more Protections than the value of MaxResults, 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.

                                                          - *

                                                          Shield Advanced might return the list of Protection objects in batches smaller than the number specified by MaxResults. If there are more Protection objects to return, Shield Advanced will always also return a NextToken.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          */ NextToken?: string; } @@ -2039,14 +2234,21 @@ export interface ListResourcesInProtectionGroupRequest { ProtectionGroupId: string | undefined; /** - *

                                                          The next token value from a previous call to ListResourcesInProtectionGroup. Pass null if this is the first call.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          + *

                                                          On your first call to a list operation, leave this setting empty.

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

                                                          The maximum number of resource ARN objects to return. If you leave this blank, - * Shield Advanced returns the first 20 results.

                                                          - *

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          + *

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects + * than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value + * in the response.

                                                          + *

                                                          The default setting is 20.

                                                          */ MaxResults?: number; } @@ -2067,7 +2269,12 @@ export interface ListResourcesInProtectionGroupResponse { ResourceArns: string[] | undefined; /** - *

                                                          If you specify a value for MaxResults and you have more resources in the protection group than the value of MaxResults, Shield Advanced returns this token that you can use in your next request, to get the next batch of objects.

                                                          + *

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, + * Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and + * providing the token that was returned by the prior call in your request.

                                                          + *

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults + * setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          + *

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          */ NextToken?: string; } @@ -2177,6 +2384,40 @@ export namespace UntagResourceResponse { }); } +export interface UpdateApplicationLayerAutomaticResponseRequest { + /** + *

                                                          The ARN (Amazon Resource Name) of the resource.

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

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the + * protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, + * when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          + */ + Action: ResponseAction | undefined; +} + +export namespace UpdateApplicationLayerAutomaticResponseRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateApplicationLayerAutomaticResponseRequest): any => ({ + ...obj, + }); +} + +export interface UpdateApplicationLayerAutomaticResponseResponse {} + +export namespace UpdateApplicationLayerAutomaticResponseResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateApplicationLayerAutomaticResponseResponse): any => ({ + ...obj, + }); +} + export interface UpdateEmergencyContactSettingsRequest { /** *

                                                          A list of email addresses and phone numbers that the Shield Response Team (SRT) can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.

                                                          diff --git a/clients/client-shield/src/protocols/Aws_json1_1.ts b/clients/client-shield/src/protocols/Aws_json1_1.ts index 72c4a565b0c8..274300b64d9a 100644 --- a/clients/client-shield/src/protocols/Aws_json1_1.ts +++ b/clients/client-shield/src/protocols/Aws_json1_1.ts @@ -61,6 +61,10 @@ import { DescribeSubscriptionCommandInput, DescribeSubscriptionCommandOutput, } from "../commands/DescribeSubscriptionCommand"; +import { + DisableApplicationLayerAutomaticResponseCommandInput, + DisableApplicationLayerAutomaticResponseCommandOutput, +} from "../commands/DisableApplicationLayerAutomaticResponseCommand"; import { DisableProactiveEngagementCommandInput, DisableProactiveEngagementCommandOutput, @@ -77,6 +81,10 @@ import { DisassociateHealthCheckCommandInput, DisassociateHealthCheckCommandOutput, } from "../commands/DisassociateHealthCheckCommand"; +import { + EnableApplicationLayerAutomaticResponseCommandInput, + EnableApplicationLayerAutomaticResponseCommandOutput, +} from "../commands/EnableApplicationLayerAutomaticResponseCommand"; import { EnableProactiveEngagementCommandInput, EnableProactiveEngagementCommandOutput, @@ -101,6 +109,10 @@ import { } from "../commands/ListTagsForResourceCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { + UpdateApplicationLayerAutomaticResponseCommandInput, + UpdateApplicationLayerAutomaticResponseCommandOutput, +} from "../commands/UpdateApplicationLayerAutomaticResponseCommand"; import { UpdateEmergencyContactSettingsCommandInput, UpdateEmergencyContactSettingsCommandOutput, @@ -113,6 +125,7 @@ import { UpdateSubscriptionCommandInput, UpdateSubscriptionCommandOutput } from import { AccessDeniedException, AccessDeniedForDependencyException, + ApplicationLayerAutomaticResponseConfiguration, AssociateDRTLogBucketRequest, AssociateDRTLogBucketResponse, AssociateDRTRoleRequest, @@ -128,7 +141,9 @@ import { AttackVectorDescription, AttackVolume, AttackVolumeStatistics, + BlockAction, Contributor, + CountAction, CreateProtectionGroupRequest, CreateProtectionGroupResponse, CreateProtectionRequest, @@ -155,6 +170,8 @@ import { DescribeProtectionResponse, DescribeSubscriptionRequest, DescribeSubscriptionResponse, + DisableApplicationLayerAutomaticResponseRequest, + DisableApplicationLayerAutomaticResponseResponse, DisableProactiveEngagementRequest, DisableProactiveEngagementResponse, DisassociateDRTLogBucketRequest, @@ -164,6 +181,8 @@ import { DisassociateHealthCheckRequest, DisassociateHealthCheckResponse, EmergencyContact, + EnableApplicationLayerAutomaticResponseRequest, + EnableApplicationLayerAutomaticResponseResponse, EnableProactiveEngagementRequest, EnableProactiveEngagementResponse, GetSubscriptionStateRequest, @@ -197,6 +216,7 @@ import { ProtectionLimits, ResourceAlreadyExistsException, ResourceNotFoundException, + ResponseAction, SubResourceSummary, Subscription, SubscriptionLimits, @@ -208,6 +228,8 @@ import { TimeRange, UntagResourceRequest, UntagResourceResponse, + UpdateApplicationLayerAutomaticResponseRequest, + UpdateApplicationLayerAutomaticResponseResponse, UpdateEmergencyContactSettingsRequest, UpdateEmergencyContactSettingsResponse, UpdateProtectionGroupRequest, @@ -438,6 +460,19 @@ export const serializeAws_json1_1DescribeSubscriptionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DisableApplicationLayerAutomaticResponseCommand = async ( + input: DisableApplicationLayerAutomaticResponseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSShield_20160616.DisableApplicationLayerAutomaticResponse", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DisableApplicationLayerAutomaticResponseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DisableProactiveEngagementCommand = async ( input: DisableProactiveEngagementCommandInput, context: __SerdeContext @@ -490,6 +525,19 @@ export const serializeAws_json1_1DisassociateHealthCheckCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1EnableApplicationLayerAutomaticResponseCommand = async ( + input: EnableApplicationLayerAutomaticResponseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSShield_20160616.EnableApplicationLayerAutomaticResponse", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1EnableApplicationLayerAutomaticResponseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1EnableProactiveEngagementCommand = async ( input: EnableProactiveEngagementCommandInput, context: __SerdeContext @@ -607,6 +655,19 @@ export const serializeAws_json1_1UntagResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommand = async ( + input: UpdateApplicationLayerAutomaticResponseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AWSShield_20160616.UpdateApplicationLayerAutomaticResponse", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateApplicationLayerAutomaticResponseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateEmergencyContactSettingsCommand = async ( input: UpdateEmergencyContactSettingsCommandInput, context: __SerdeContext @@ -895,6 +956,14 @@ const deserializeAws_json1_1AssociateHealthCheckCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidResourceException": + case "com.amazonaws.shield#InvalidResourceException": + response = { + ...(await deserializeAws_json1_1InvalidResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "LimitsExceededException": case "com.amazonaws.shield#LimitsExceededException": response = { @@ -1932,6 +2001,92 @@ const deserializeAws_json1_1DescribeSubscriptionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DisableApplicationLayerAutomaticResponseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DisableApplicationLayerAutomaticResponseCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DisableApplicationLayerAutomaticResponseResponse(data, context); + const response: DisableApplicationLayerAutomaticResponseCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DisableApplicationLayerAutomaticResponseCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalErrorException": + case "com.amazonaws.shield#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidOperationException": + case "com.amazonaws.shield#InvalidOperationException": + response = { + ...(await deserializeAws_json1_1InvalidOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.shield#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OptimisticLockException": + case "com.amazonaws.shield#OptimisticLockException": + response = { + ...(await deserializeAws_json1_1OptimisticLockExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.shield#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_1DisableProactiveEngagementCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2235,6 +2390,108 @@ const deserializeAws_json1_1DisassociateHealthCheckCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidResourceException": + case "com.amazonaws.shield#InvalidResourceException": + response = { + ...(await deserializeAws_json1_1InvalidResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OptimisticLockException": + case "com.amazonaws.shield#OptimisticLockException": + response = { + ...(await deserializeAws_json1_1OptimisticLockExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.shield#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_1EnableApplicationLayerAutomaticResponseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1EnableApplicationLayerAutomaticResponseCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1EnableApplicationLayerAutomaticResponseResponse(data, context); + const response: EnableApplicationLayerAutomaticResponseCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1EnableApplicationLayerAutomaticResponseCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalErrorException": + case "com.amazonaws.shield#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidOperationException": + case "com.amazonaws.shield#InvalidOperationException": + response = { + ...(await deserializeAws_json1_1InvalidOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.shield#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitsExceededException": + case "com.amazonaws.shield#LimitsExceededException": + response = { + ...(await deserializeAws_json1_1LimitsExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OptimisticLockException": case "com.amazonaws.shield#OptimisticLockException": response = { @@ -2914,6 +3171,92 @@ const deserializeAws_json1_1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseResponse(data, context); + const response: UpdateApplicationLayerAutomaticResponseCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalErrorException": + case "com.amazonaws.shield#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidOperationException": + case "com.amazonaws.shield#InvalidOperationException": + response = { + ...(await deserializeAws_json1_1InvalidOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.shield#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OptimisticLockException": + case "com.amazonaws.shield#OptimisticLockException": + response = { + ...(await deserializeAws_json1_1OptimisticLockExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.shield#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_1UpdateEmergencyContactSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3389,6 +3732,14 @@ const serializeAws_json1_1AssociateProactiveEngagementDetailsRequest = ( }; }; +const serializeAws_json1_1BlockAction = (input: BlockAction, context: __SerdeContext): any => { + return {}; +}; + +const serializeAws_json1_1CountAction = (input: CountAction, context: __SerdeContext): any => { + return {}; +}; + const serializeAws_json1_1CreateProtectionGroupRequest = ( input: CreateProtectionGroupRequest, context: __SerdeContext @@ -3497,6 +3848,15 @@ const serializeAws_json1_1DescribeSubscriptionRequest = ( return {}; }; +const serializeAws_json1_1DisableApplicationLayerAutomaticResponseRequest = ( + input: DisableApplicationLayerAutomaticResponseRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + }; +}; + const serializeAws_json1_1DisableProactiveEngagementRequest = ( input: DisableProactiveEngagementRequest, context: __SerdeContext @@ -3550,6 +3910,17 @@ const serializeAws_json1_1EmergencyContactList = (input: EmergencyContact[], con }); }; +const serializeAws_json1_1EnableApplicationLayerAutomaticResponseRequest = ( + input: EnableApplicationLayerAutomaticResponseRequest, + context: __SerdeContext +): any => { + return { + ...(input.Action !== undefined && + input.Action !== null && { Action: serializeAws_json1_1ResponseAction(input.Action, context) }), + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + }; +}; + const serializeAws_json1_1EnableProactiveEngagementRequest = ( input: EnableProactiveEngagementRequest, context: __SerdeContext @@ -3639,6 +4010,15 @@ const serializeAws_json1_1ResourceArnFilterList = (input: string[], context: __S }); }; +const serializeAws_json1_1ResponseAction = (input: ResponseAction, context: __SerdeContext): any => { + return { + ...(input.Block !== undefined && + input.Block !== null && { Block: serializeAws_json1_1BlockAction(input.Block, context) }), + ...(input.Count !== undefined && + input.Count !== null && { Count: serializeAws_json1_1CountAction(input.Count, context) }), + }; +}; + const serializeAws_json1_1Tag = (input: Tag, context: __SerdeContext): any => { return { ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), @@ -3692,6 +4072,17 @@ const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, c }; }; +const serializeAws_json1_1UpdateApplicationLayerAutomaticResponseRequest = ( + input: UpdateApplicationLayerAutomaticResponseRequest, + context: __SerdeContext +): any => { + return { + ...(input.Action !== undefined && + input.Action !== null && { Action: serializeAws_json1_1ResponseAction(input.Action, context) }), + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + }; +}; + const serializeAws_json1_1UpdateEmergencyContactSettingsRequest = ( input: UpdateEmergencyContactSettingsRequest, context: __SerdeContext @@ -3743,6 +4134,19 @@ const deserializeAws_json1_1AccessDeniedForDependencyException = ( } as any; }; +const deserializeAws_json1_1ApplicationLayerAutomaticResponseConfiguration = ( + output: any, + context: __SerdeContext +): ApplicationLayerAutomaticResponseConfiguration => { + return { + Action: + output.Action !== undefined && output.Action !== null + ? deserializeAws_json1_1ResponseAction(output.Action, context) + : undefined, + Status: __expectString(output.Status), + } as any; +}; + const deserializeAws_json1_1AssociateDRTLogBucketResponse = ( output: any, context: __SerdeContext @@ -3929,6 +4333,10 @@ const deserializeAws_json1_1AttackVolumeStatistics = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1BlockAction = (output: any, context: __SerdeContext): BlockAction => { + return {} as any; +}; + const deserializeAws_json1_1Contributor = (output: any, context: __SerdeContext): Contributor => { return { Name: __expectString(output.Name), @@ -3936,6 +4344,10 @@ const deserializeAws_json1_1Contributor = (output: any, context: __SerdeContext) } as any; }; +const deserializeAws_json1_1CountAction = (output: any, context: __SerdeContext): CountAction => { + return {} as any; +}; + const deserializeAws_json1_1CreateProtectionGroupResponse = ( output: any, context: __SerdeContext @@ -4066,6 +4478,13 @@ const deserializeAws_json1_1DescribeSubscriptionResponse = ( } as any; }; +const deserializeAws_json1_1DisableApplicationLayerAutomaticResponseResponse = ( + output: any, + context: __SerdeContext +): DisableApplicationLayerAutomaticResponseResponse => { + return {} as any; +}; + const deserializeAws_json1_1DisableProactiveEngagementResponse = ( output: any, context: __SerdeContext @@ -4113,6 +4532,13 @@ const deserializeAws_json1_1EmergencyContactList = (output: any, context: __Serd }); }; +const deserializeAws_json1_1EnableApplicationLayerAutomaticResponseResponse = ( + output: any, + context: __SerdeContext +): EnableApplicationLayerAutomaticResponseResponse => { + return {} as any; +}; + const deserializeAws_json1_1EnableProactiveEngagementResponse = ( output: any, context: __SerdeContext @@ -4334,6 +4760,14 @@ const deserializeAws_json1_1OptimisticLockException = ( const deserializeAws_json1_1Protection = (output: any, context: __SerdeContext): Protection => { return { + ApplicationLayerAutomaticResponseConfiguration: + output.ApplicationLayerAutomaticResponseConfiguration !== undefined && + output.ApplicationLayerAutomaticResponseConfiguration !== null + ? deserializeAws_json1_1ApplicationLayerAutomaticResponseConfiguration( + output.ApplicationLayerAutomaticResponseConfiguration, + context + ) + : undefined, HealthCheckIds: output.HealthCheckIds !== undefined && output.HealthCheckIds !== null ? deserializeAws_json1_1HealthCheckIds(output.HealthCheckIds, context) @@ -4463,6 +4897,19 @@ const deserializeAws_json1_1ResourceNotFoundException = ( } as any; }; +const deserializeAws_json1_1ResponseAction = (output: any, context: __SerdeContext): ResponseAction => { + return { + Block: + output.Block !== undefined && output.Block !== null + ? deserializeAws_json1_1BlockAction(output.Block, context) + : undefined, + Count: + output.Count !== undefined && output.Count !== null + ? deserializeAws_json1_1CountAction(output.Count, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1SubResourceSummary = (output: any, context: __SerdeContext): SubResourceSummary => { return { AttackVectors: @@ -4623,6 +5070,13 @@ const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __Ser return {} as any; }; +const deserializeAws_json1_1UpdateApplicationLayerAutomaticResponseResponse = ( + output: any, + context: __SerdeContext +): UpdateApplicationLayerAutomaticResponseResponse => { + return {} as any; +}; + const deserializeAws_json1_1UpdateEmergencyContactSettingsResponse = ( output: any, context: __SerdeContext diff --git a/codegen/sdk-codegen/aws-models/devops-guru.json b/codegen/sdk-codegen/aws-models/devops-guru.json index c8deed7a234c..a5a248715025 100644 --- a/codegen/sdk-codegen/aws-models/devops-guru.json +++ b/codegen/sdk-codegen/aws-models/devops-guru.json @@ -167,6 +167,9 @@ } } }, + "com.amazonaws.devopsguru#AnomalyDescription": { + "type": "string" + }, "com.amazonaws.devopsguru#AnomalyId": { "type": "string", "traits": { @@ -174,7 +177,7 @@ "min": 1, "max": 100 }, - "smithy.api#pattern": "^[\\w-]*$" + "smithy.api#pattern": "^[\\w~.-]*$" } }, "com.amazonaws.devopsguru#AnomalyLimit": { @@ -183,6 +186,9 @@ "smithy.api#box": {} } }, + "com.amazonaws.devopsguru#AnomalyName": { + "type": "string" + }, "com.amazonaws.devopsguru#AnomalyReportedTimeRange": { "type": "structure", "members": { @@ -204,6 +210,32 @@ "smithy.api#documentation": "

                                                          A time range that specifies when DevOps Guru opens and then closes an anomaly. This\n\t\t\tis different from AnomalyTimeRange, which specifies the time range when\n\t\t\tDevOps Guru actually observes the anomalous behavior.

                                                          " } }, + "com.amazonaws.devopsguru#AnomalyResource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.devopsguru#ResourceName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the Amazon Web Services resource.

                                                          " + } + }, + "Type": { + "target": "com.amazonaws.devopsguru#ResourceType", + "traits": { + "smithy.api#documentation": "

                                                          The type of the Amazon Web Services resource.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services resources in which DevOps Guru detected unusual behavior that resulted in \n \tthe generation of an anomaly. When DevOps Guru detects multiple related anomalies, it creates \n and insight with details about the anomalous behavior and suggestions about how to correct the \n problem.

                                                          " + } + }, + "com.amazonaws.devopsguru#AnomalyResources": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#AnomalyResource" + } + }, "com.amazonaws.devopsguru#AnomalySeverity": { "type": "string", "traits": { @@ -229,12 +261,18 @@ "CloudWatchMetrics": { "target": "com.amazonaws.devopsguru#CloudWatchMetricsDetails", "traits": { - "smithy.api#documentation": "

                                                          An array of CloudWatchMetricsDetail object that contains information\n\t\t\tabout the analyzed metrics that displayed anomalous behavior.

                                                          " + "smithy.api#documentation": "

                                                          An array of CloudWatchMetricsDetail objects that contain information\n\t\t\tabout analyzed CloudWatch metrics that show anomalous behavior.

                                                          " + } + }, + "PerformanceInsightsMetrics": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricsDetails", + "traits": { + "smithy.api#documentation": "

                                                          An array of PerformanceInsightsMetricsDetail objects that contain information\n \t\tabout analyzed Performance Insights metrics that show anomalous behavior.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          Details about the source of the anomalous operational data that triggered the\n\t\t\tanomaly. The one supported source is Amazon CloudWatch metrics.

                                                          " + "smithy.api#documentation": "

                                                          Details about the source of the anomalous operational data that triggered the\n\t\t\tanomaly.

                                                          " } }, "com.amazonaws.devopsguru#AnomalyStatus": { @@ -273,6 +311,37 @@ "smithy.api#documentation": "

                                                          A time range that specifies when the observed unusual behavior in an anomaly started\n\t\t\tand ended. This is different from AnomalyReportedTimeRange, which specifies\n\t\t\tthe time range when DevOps Guru opens and then closes an anomaly.

                                                          " } }, + "com.amazonaws.devopsguru#AnomalyType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CAUSAL", + "name": "CAUSAL" + }, + { + "value": "CONTEXTUAL", + "name": "CONTEXTUAL" + } + ] + } + }, + "com.amazonaws.devopsguru#AppBoundaryKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.devopsguru#AssociatedResourceArns": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#ResourceArn" + } + }, "com.amazonaws.devopsguru#AwsAccountId": { "type": "string", "traits": { @@ -491,13 +560,13 @@ "TimestampMetricValuePairList": { "target": "com.amazonaws.devopsguru#TimestampMetricValuePairList", "traits": { - "smithy.api#documentation": "

                                                          This is a list of cloudwatch metric values at given timestamp.

                                                          " + "smithy.api#documentation": "

                                                          This is a list of Amazon CloudWatch metric values at given timestamp.

                                                          " } }, "StatusCode": { "target": "com.amazonaws.devopsguru#CloudWatchMetricDataStatusCode", "traits": { - "smithy.api#documentation": "

                                                          This is enum of the status showing whether the metric value pair list has Partial or\n\t\t\tComplete data or there was an error.

                                                          " + "smithy.api#documentation": "

                                                          This is an enum of the status showing whether the metric value pair list has partial or\n\t\t\tcomplete data, or if there was an error.

                                                          " } } }, @@ -578,7 +647,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          The dimension of a Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in\n\t\t\tyour account for operational problems and anomalous behavior. A dimension is a\n\t\t\tname/value pair that is part of the identity of a metric. A metric can have up to 10\n\t\t\tdimensions. For more information, see Dimensions in the Amazon CloudWatch User Guide.

                                                          " + "smithy.api#documentation": "

                                                          The dimension of am Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in\n\t\t\tyour account for operational problems and anomalous behavior. A dimension is a\n\t\t\tname/value pair that is part of the identity of a metric. A metric can have up to 10\n\t\t\tdimensions. For more information, see Dimensions in the Amazon CloudWatch User Guide.

                                                          " } }, "com.amazonaws.devopsguru#CloudWatchMetricsDimensionName": { @@ -685,6 +754,12 @@ "traits": { "smithy.api#documentation": "

                                                          An object that specifies the CloudFormation stack that defines the Amazon Web Services resources\n\t\t\tused to create a monthly estimate for DevOps Guru.

                                                          " } + }, + "Tags": { + "target": "com.amazonaws.devopsguru#TagCostEstimationResourceCollectionFilters", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services tags used to filter the resource collection that is used for \n \t\ta cost estimate.

                                                          \n \t

                                                          Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support\n \t\ttagging, so you can assign the same tag to resources from different services to indicate\n \t\tthat the resources are related. For example, you can assign the same tag to an Amazon DynamoDB\n \t\ttable resource that you assign to an Lambda function. For more information about\n \t\tusing tags, see the Tagging\n \t\t\tbest practices whitepaper.

                                                          \n \t

                                                          Each Amazon Web Services tag has two parts.

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            A tag key (for example, CostCenter,\n \t\t\t\tEnvironment, Project, or Secret). Tag\n \t\t\t\tkeys are case-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            An optional field known as a tag value (for example,\n \t\t\t\t111122223333, Production, or a team\n \t\t\t\tname). Omitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          Together these are known as key-value pairs.

                                                          \n \t \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " + } } }, "traits": { @@ -736,6 +811,18 @@ ] } }, + "com.amazonaws.devopsguru#CostEstimationTagValues": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.devopsguru#CostEstimationTimeRange": { "type": "structure", "members": { @@ -959,13 +1046,13 @@ "ProactiveAnomaly": { "target": "com.amazonaws.devopsguru#ProactiveAnomaly", "traits": { - "smithy.api#documentation": "

                                                          A ReactiveAnomaly object that represents the requested anomaly.

                                                          " + "smithy.api#documentation": "

                                                          A ProactiveAnomaly object that represents the requested anomaly.

                                                          " } }, "ReactiveAnomaly": { "target": "com.amazonaws.devopsguru#ReactiveAnomaly", "traits": { - "smithy.api#documentation": "

                                                          A ProactiveAnomaly object that represents the requested anomaly.

                                                          " + "smithy.api#documentation": "

                                                          A ReactiveAnomaly object that represents the requested anomaly.

                                                          " } } } @@ -1296,7 +1383,7 @@ "OrganizationResourceCollectionType": { "target": "com.amazonaws.devopsguru#OrganizationResourceCollectionType", "traits": { - "smithy.api#documentation": "

                                                          An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources\n\t\t\tare defined. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", + "smithy.api#documentation": "

                                                          An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources\n\t\t\tare defined. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", "smithy.api#required": {} } }, @@ -1332,7 +1419,7 @@ "CloudFormation": { "target": "com.amazonaws.devopsguru#CloudFormationHealths", "traits": { - "smithy.api#documentation": "

                                                          The returned CloudFormationHealthOverview object that contains an\n\t\t\t\tInsightHealthOverview object with the requested system health\n\t\t\tinformation.

                                                          " + "smithy.api#documentation": "

                                                          The returned CloudFormationHealthOverview object that contains an\n\t\t\tInsightHealthOverview object with the requested system health\n\t\t\tinformation.

                                                          " } }, "Service": { @@ -1378,7 +1465,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR)\n\t\t\tfor all closed insights in resource collections in your account. You specify the type of\n\t\t\tAmazon Web Services resources collection. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", + "smithy.api#documentation": "

                                                          Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR)\n\t\t\tfor all closed insights in resource collections in your account. You specify the type of\n\t\t\tAmazon Web Services resources collection. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", "smithy.api#http": { "method": "GET", "uri": "/accounts/health/resource-collection/{ResourceCollectionType}", @@ -1396,7 +1483,7 @@ "ResourceCollectionType": { "target": "com.amazonaws.devopsguru#ResourceCollectionType", "traits": { - "smithy.api#documentation": "

                                                          An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources\n\t\t\tare defined. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", + "smithy.api#documentation": "

                                                          An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources\n\t\t\tare defined. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1416,8 +1503,7 @@ "CloudFormation": { "target": "com.amazonaws.devopsguru#CloudFormationHealths", "traits": { - "smithy.api#documentation": "

                                                          The returned CloudFormationHealthOverview object that contains an\n\t\t\t\tInsightHealthOverview object with the requested system health\n\t\t\tinformation.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          The returned CloudFormationHealthOverview object that contains an\n\t\t\t\tInsightHealthOverview object with the requested system health\n\t\t\tinformation.

                                                          " } }, "Service": { @@ -1431,6 +1517,12 @@ "traits": { "smithy.api#documentation": "

                                                          The pagination token to use to retrieve \n the next page of results for this operation. If there are no more pages, this value is null.

                                                          " } + }, + "Tags": { + "target": "com.amazonaws.devopsguru#TagHealths", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services tags that are used by resources in the resource collection.

                                                          \n \t

                                                          Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support\n \t\ttagging, so you can assign the same tag to resources from different services to indicate\n \t\tthat the resources are related. For example, you can assign the same tag to an Amazon DynamoDB\n \t\ttable resource that you assign to an Lambda function. For more information about\n \t\tusing tags, see the Tagging\n \t\t\tbest practices whitepaper.

                                                          \n \t

                                                          Each Amazon Web Services tag has two parts.

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            A tag key (for example, CostCenter,\n \t\t\t\tEnvironment, Project, or Secret). Tag\n \t\t\t\tkeys are case-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            An optional field known as a tag value (for example,\n \t\t\t\t111122223333, Production, or a team\n \t\t\t\tname). Omitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          Together these are known as key-value pairs.

                                                          \n \t \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " + } } } }, @@ -1833,7 +1925,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Returns lists Amazon Web Services resources that are of the specified resource collection type.\n\t\t\tThe one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", + "smithy.api#documentation": "

                                                          Returns lists Amazon Web Services resources that are of the specified resource collection type.\n\t\t\tThe two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          ", "smithy.api#http": { "method": "GET", "uri": "/resource-collections/{ResourceCollectionType}", @@ -1871,7 +1963,7 @@ "ResourceCollection": { "target": "com.amazonaws.devopsguru#ResourceCollectionFilter", "traits": { - "smithy.api#documentation": "

                                                          The requested list of Amazon Web Services resource collections.\n\t\t\tThe one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " + "smithy.api#documentation": "

                                                          The requested list of Amazon Web Services resource collections.\n\t\t\tThe two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " } }, "NextToken": { @@ -3004,6 +3096,266 @@ } } }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricDimension": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricDimensionGroup": { + "type": "structure", + "members": { + "Group": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricGroup", + "traits": { + "smithy.api#documentation": "

                                                          The name of the dimension group. Its valid values are:

                                                          \n \t\n \t
                                                            \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db - The name of the database to which the client is connected (only Aurora PostgreSQL, Amazon RDS PostgreSQL,\n \t\t\t\tAurora MySQL, Amazon RDS MySQL, and MariaDB)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.application - The name of the application that is connected to the database (only Aurora\n \t\t\t\tPostgreSQL and RDS PostgreSQL)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.host - The host name of the connected client (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.session_type - The type of the current session (only Aurora PostgreSQL and RDS PostgreSQL)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql - The SQL that is currently executing (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql_tokenized - The SQL digest (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.wait_event - The event for which the database backend is waiting (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.wait_event_type - The type of event for which the database backend is waiting (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.user - The user logged in to the database (all engines)

                                                            \n \t\t
                                                          • \n
                                                          " + } + }, + "Dimensions": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricDimensions", + "traits": { + "smithy.api#documentation": "

                                                          A list of specific dimensions from a dimension group. If this parameter is not present,\n \t\tthen it signifies that all of the dimensions in the group were requested or are present in\n \t\tthe response.

                                                          \n \t

                                                          Valid values for elements in the Dimensions array are:

                                                          \n \t\n \t
                                                            \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.application.name - The name of the application that is connected to the database (only\n \t\t\t\tAurora PostgreSQL and RDS PostgreSQL)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.host.id - The host ID of the connected client (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.host.name - The host name of the connected client (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.name - The name of the database to which the client is connected (only Aurora PostgreSQL, Amazon RDS\n \t\t\t\tPostgreSQL, Aurora MySQL, Amazon RDS MySQL, and MariaDB)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.session_type.name - The type of the current session (only Aurora PostgreSQL and RDS PostgreSQL)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql.id - The SQL ID generated by Performance Insights (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql.db_id - The SQL ID generated by the database (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql.statement - The SQL text that is being executed (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql.tokenized_id\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql_tokenized.id - The SQL digest ID generated by Performance Insights (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql_tokenized.db_id - SQL digest ID generated by the database (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sql_tokenized.statement - The SQL digest text (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.user.id - The ID of the user logged in to the database (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.user.name - The name of the user logged in to the database (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.wait_event.name - The event for which the backend is waiting (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.wait_event.type - The type of event for which the backend is waiting (all engines)

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.wait_event_type.name - The name of the event type for which the backend is waiting (all\n \t\t\t\tengines)

                                                            \n \t\t
                                                          • \n
                                                          " + } + }, + "Limit": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricLimitInteger", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of items to fetch for this dimension group.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A logical grouping of Performance Insights metrics for a related subject area. For example, the\n \t\tdb.sql dimension group consists of the following dimensions:\n \t\tdb.sql.id, db.sql.db_id, db.sql.statement, and\n \t\tdb.sql.tokenized_id.

                                                          \n \t \n \t\t

                                                          Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, \n \t\t\tonly the first 500 bytes are returned.

                                                          \n \t
                                                          \n \t\n \t

                                                          Amazon RDS Performance Insights enables you to monitor and explore different \n \t\tdimensions of database load based on data captured from a running DB instance. \n \t\tDB load is measured as average active sessions. Performance Insights provides the \n \t\tdata to API consumers as a two-dimensional time-series dataset. The time dimension \n \t\tprovides DB load data for each time point in the queried time range. Each time point \n \t\tdecomposes overall load in relation to the requested dimensions, measured at that \n \t\ttime point. Examples include SQL, Wait event, User, and Host.

                                                          \n \t\n \t
                                                            \n
                                                          • \n \t\t\t

                                                            To learn more about Performance Insights and Amazon Aurora DB instances, go to the Amazon Aurora User Guide.\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            To learn more about Performance Insights and Amazon RDS DB instances, go to the Amazon RDS User Guide.\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricDimensions": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricDimension" + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricDisplayName": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricFilterKey": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricFilterMap": { + "type": "map", + "key": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricFilterKey" + }, + "value": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricFilterValue" + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricFilterValue": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricGroup": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricLimitInteger": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricName": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricQuery": { + "type": "structure", + "members": { + "Metric": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the meteric used used when querying an Performance Insights GetResourceMetrics API for \n \tanomaly metrics.

                                                          \n \t\n \t

                                                          Valid values for Metric are:

                                                          \n \t\n \t
                                                            \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.load.avg - a scaled representation of the number of active sessions\n \t\t\t\tfor the database engine.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            \n \t\t\t\t db.sampledload.avg - the raw number of active sessions for the\n \t\t\t\tdatabase engine.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg \n \t\tare the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg \n \t\tshowing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. \n \t\tFor most use cases, you can query db.load.avg only.

                                                          " + } + }, + "GroupBy": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricDimensionGroup", + "traits": { + "smithy.api#documentation": "

                                                          The specification for how to aggregate the data points from a Performance Insights GetResourceMetrics API query. The \n \t\tPerformance Insights query returns all of the dimensions within that group,\n \t\tunless you provide the names of specific dimensions within that group. You can also request\n \t\tthat Performance Insights return a limited number of values for a dimension.

                                                          " + } + }, + "Filter": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricFilterMap", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters to apply to a Performance Insights GetResourceMetrics API query. Restrictions:

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            Any number of filters by the same dimension, as specified in the GroupBy parameter.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            A single filter for any other dimension in this dimension group.

                                                            \n \t\t
                                                          • \n
                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A single query to be processed. Use these parameters to \n \t\tquery the Performance Insights GetResourceMetrics API to retrieve the metrics \n \t\tfor an anomaly. For more information, see \n GetResourceMetrics\n \n \tin the Amazon RDS Performance Insights API Reference.

                                                          \n \t\n \t

                                                          Amazon RDS Performance Insights enables you to monitor and explore different \n \t\tdimensions of database load based on data captured from a running DB instance. \n \t\tDB load is measured as average active sessions. Performance Insights provides the \n \t\tdata to API consumers as a two-dimensional time-series dataset. The time dimension \n \t\tprovides DB load data for each time point in the queried time range. Each time point \n \t\tdecomposes overall load in relation to the requested dimensions, measured at that \n \t\ttime point. Examples include SQL, Wait event, User, and Host.

                                                          \n \t\n \t
                                                            \n
                                                          • \n \t\t\t

                                                            To learn more about Performance Insights and Amazon Aurora DB instances, go to the Amazon Aurora User Guide.\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            To learn more about Performance Insights and Amazon RDS DB instances, go to the Amazon RDS User Guide.\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricUnit": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricsDetail": { + "type": "structure", + "members": { + "MetricDisplayName": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricDisplayName", + "traits": { + "smithy.api#documentation": "

                                                          The name used for a specific Performance Insights metric.

                                                          " + } + }, + "Unit": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricUnit", + "traits": { + "smithy.api#documentation": "

                                                          The unit of measure for a metric. For example, a session or a process.

                                                          " + } + }, + "MetricQuery": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricQuery", + "traits": { + "smithy.api#documentation": "

                                                          A single query to be processed for the metric. For more information, see \n \t\t\n PerformanceInsightsMetricQuery\n .

                                                          " + } + }, + "ReferenceData": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsReferenceDataList", + "traits": { + "smithy.api#documentation": "

                                                          \n \tFor more information, see \n \t\n PerformanceInsightsReferenceData\n .\n

                                                          " + } + }, + "StatsAtAnomaly": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsStats", + "traits": { + "smithy.api#documentation": "

                                                          The metric statistics during the anomalous period detected by DevOps Guru;

                                                          " + } + }, + "StatsAtBaseline": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsStats", + "traits": { + "smithy.api#documentation": "

                                                          Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes\n\t\t\tmetrics, it compares them to StatsAtBaseline to help determine if they are\n\t\t\tanomalous.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Details about Performance Insights metrics.

                                                          \n \t\n \t

                                                          Amazon RDS Performance Insights enables you to monitor and explore different \n \t\tdimensions of database load based on data captured from a running DB instance. \n \t\tDB load is measured as average active sessions. Performance Insights provides the \n \t\tdata to API consumers as a two-dimensional time-series dataset. The time dimension \n \t\tprovides DB load data for each time point in the queried time range. Each time point \n \t\tdecomposes overall load in relation to the requested dimensions, measured at that \n \t\ttime point. Examples include SQL, Wait event, User, and Host.

                                                          \n \t\n \t
                                                            \n
                                                          • \n \t\t\t

                                                            To learn more about Performance Insights and Amazon Aurora DB instances, go to the Amazon Aurora User Guide.\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            To learn more about Performance Insights and Amazon RDS DB instances, go to the Amazon RDS User Guide.\n \t\t\t

                                                            \n \t\t
                                                          • \n
                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsMetricsDetails": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricsDetail" + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsReferenceComparisonValues": { + "type": "structure", + "members": { + "ReferenceScalar": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsReferenceScalar", + "traits": { + "smithy.api#documentation": "

                                                          A scalar value DevOps Guru for a metric that DevOps Guru compares to actual metric values. This reference value is used \n to determine if an actual metric value should be considered anomalous.

                                                          " + } + }, + "ReferenceMetric": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsReferenceMetric", + "traits": { + "smithy.api#documentation": "

                                                          A metric that DevOps Guru compares to actual metric values. This reference metric is used \n \t\tto determine if an actual metric should be considered anomalous.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Reference scalar values and other metrics that DevOps Guru displays on a graph in its console along with the actual metrics it \n analyzed. Compare these reference values to your actual metrics to help you understand anomalous behavior that DevOps Guru detected.

                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsReferenceData": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsReferenceName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the reference data.

                                                          " + } + }, + "ComparisonValues": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsReferenceComparisonValues", + "traits": { + "smithy.api#documentation": "

                                                          The specific reference values used to evaluate the Performance Insights. For more information, see \n\t\t\t\n PerformanceInsightsReferenceComparisonValues\n .\n\t\t

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Reference data used to evaluate Performance Insights to determine if its performance \n is anomalous or not.

                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsReferenceDataList": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsReferenceData" + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsReferenceMetric": { + "type": "structure", + "members": { + "MetricQuery": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsMetricQuery", + "traits": { + "smithy.api#documentation": "

                                                          A query to be processed on the metric.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about a reference metric used to evaluate Performance Insights.

                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsReferenceName": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsReferenceScalar": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsValueDouble", + "traits": { + "smithy.api#documentation": "

                                                          The reference value.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A reference value to compare Performance Insights metrics against to determine if the metrics \n demonstrate anomalous behavior.

                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsStat": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsStatType", + "traits": { + "smithy.api#documentation": "

                                                          The statistic type.

                                                          " + } + }, + "Value": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsValueDouble", + "traits": { + "smithy.api#documentation": "

                                                          The value of the statistic.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A statistic in a Performance Insights collection.

                                                          " + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsStatType": { + "type": "string" + }, + "com.amazonaws.devopsguru#PerformanceInsightsStats": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#PerformanceInsightsStat" + } + }, + "com.amazonaws.devopsguru#PerformanceInsightsValueDouble": { + "type": "double", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.devopsguru#PredictionTimeRange": { "type": "structure", "members": { @@ -3043,7 +3395,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#AnomalySeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of a proactive anomaly.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the anomaly. The severity of anomalies that generate \n\tan insight determine that insight's severity. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3064,7 +3416,7 @@ "AnomalyReportedTimeRange": { "target": "com.amazonaws.devopsguru#AnomalyReportedTimeRange", "traits": { - "smithy.api#documentation": "

                                                          \n\t\t\tA AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " + "smithy.api#documentation": "

                                                          \n\t\t\tAn AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " } }, "PredictionTimeRange": { @@ -3108,7 +3460,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#AnomalySeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of the anomaly.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the anomaly. The severity of anomalies that generate \n\tan insight determine that insight's severity. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3129,7 +3481,7 @@ "AnomalyReportedTimeRange": { "target": "com.amazonaws.devopsguru#AnomalyReportedTimeRange", "traits": { - "smithy.api#documentation": "

                                                          \n\t\t\tA AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " + "smithy.api#documentation": "

                                                          \n\t\t\tAn AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " } }, "PredictionTimeRange": { @@ -3179,7 +3531,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#InsightSeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of the proactive insight.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the insight. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3226,7 +3578,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#InsightSeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of the proactive insight.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the insight. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3249,6 +3601,12 @@ "traits": { "smithy.api#documentation": "

                                                          A collection of the names of Amazon Web Services services.

                                                          " } + }, + "AssociatedResourceArns": { + "target": "com.amazonaws.devopsguru#AssociatedResourceArns", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Names (ARNs) \n\tof the Amazon Web Services resources that generated this insight.

                                                          " + } } }, "traits": { @@ -3291,7 +3649,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#InsightSeverity", "traits": { - "smithy.api#documentation": "

                                                          An array of severity values used to search for insights.

                                                          " + "smithy.api#documentation": "

                                                          An array of severity values used to search for insights. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3314,7 +3672,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Details about a proactive insight. This object is returned by\n\t\t\t\tDescribeInsight.

                                                          " + "smithy.api#documentation": "

                                                          Details about a proactive insight. This object is returned by\n\t\t\tDescribeInsight.

                                                          " } }, "com.amazonaws.devopsguru#ProactiveOrganizationInsights": { @@ -3393,7 +3751,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#AnomalySeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of the anomaly.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the anomaly. The severity of anomalies that generate \n\tan insight determine that insight's severity. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3408,7 +3766,7 @@ "AnomalyReportedTimeRange": { "target": "com.amazonaws.devopsguru#AnomalyReportedTimeRange", "traits": { - "smithy.api#documentation": "

                                                          \n\t\t\tA AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " + "smithy.api#documentation": "

                                                          \n\t\t\tAn AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " } }, "SourceDetails": { @@ -3425,6 +3783,36 @@ }, "ResourceCollection": { "target": "com.amazonaws.devopsguru#ResourceCollection" + }, + "Type": { + "target": "com.amazonaws.devopsguru#AnomalyType", + "traits": { + "smithy.api#documentation": "

                                                          The type of the reactive anomaly. It can be one of the following types.

                                                          \n\t
                                                            \n
                                                          • \n\t \t

                                                            \n\t \t\t CAUSAL - the anomaly can cause a new insight.

                                                            \n\t
                                                          • \n
                                                          • \n\t \t

                                                            \n\t \t\t CONTEXTUAL - the anomaly contains additional information about an insight or its causal anomaly.

                                                            \n\t
                                                          • \n
                                                          " + } + }, + "Name": { + "target": "com.amazonaws.devopsguru#AnomalyName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the reactive anomaly.

                                                          " + } + }, + "Description": { + "target": "com.amazonaws.devopsguru#AnomalyDescription", + "traits": { + "smithy.api#documentation": "

                                                          A description of the reactive anomaly.

                                                          " + } + }, + "CausalAnomalyId": { + "target": "com.amazonaws.devopsguru#AnomalyId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the causal anomaly that is associated with this \n reactive anomaly. The ID of a `CAUSAL` anomaly is always `NULL`.

                                                          " + } + }, + "AnomalyResources": { + "target": "com.amazonaws.devopsguru#AnomalyResources", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services resources in which anomalous behavior was detected by DevOps Guru.

                                                          " + } } }, "traits": { @@ -3443,7 +3831,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#AnomalySeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of the reactive anomaly.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the anomaly. The severity of anomalies that generate \n\tan insight determine that insight's severity. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3458,7 +3846,7 @@ "AnomalyReportedTimeRange": { "target": "com.amazonaws.devopsguru#AnomalyReportedTimeRange", "traits": { - "smithy.api#documentation": "

                                                          \n\t\t\tA AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " + "smithy.api#documentation": "

                                                          \n\t\t\tAn AnomalyReportedTimeRange object that specifies the time range between when the anomaly is opened and the time when it is closed.\n\t\t

                                                          " } }, "SourceDetails": { @@ -3475,6 +3863,36 @@ }, "ResourceCollection": { "target": "com.amazonaws.devopsguru#ResourceCollection" + }, + "Type": { + "target": "com.amazonaws.devopsguru#AnomalyType", + "traits": { + "smithy.api#documentation": "

                                                          The type of the reactive anomaly. It can be one of the following types.

                                                          \n\t
                                                            \n
                                                          • \n\t \t

                                                            \n\t \t\t CAUSAL - the anomaly can cause a new insight.

                                                            \n\t
                                                          • \n
                                                          • \n\t \t

                                                            \n\t \t\t CONTEXTUAL - the anomaly contains additional information about an insight or its causal anomaly.

                                                            \n\t
                                                          • \n
                                                          " + } + }, + "Name": { + "target": "com.amazonaws.devopsguru#AnomalyName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the reactive anomaly.

                                                          " + } + }, + "Description": { + "target": "com.amazonaws.devopsguru#AnomalyDescription", + "traits": { + "smithy.api#documentation": "

                                                          A description of the reactive anomaly.

                                                          " + } + }, + "CausalAnomalyId": { + "target": "com.amazonaws.devopsguru#AnomalyId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the causal anomaly that is associated with this \n reactive anomaly. The ID of a `CAUSAL` anomaly is always `NULL`.

                                                          " + } + }, + "AnomalyResources": { + "target": "com.amazonaws.devopsguru#AnomalyResources", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services resources in which anomalous behavior was detected by DevOps Guru.

                                                          " + } } }, "traits": { @@ -3499,7 +3917,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#InsightSeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of a reactive insight.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the insight. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3543,7 +3961,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#InsightSeverity", "traits": { - "smithy.api#documentation": "

                                                          The severity of a reactive insight.

                                                          " + "smithy.api#documentation": "

                                                          The severity of the insight. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3563,6 +3981,12 @@ "traits": { "smithy.api#documentation": "

                                                          A collection of the names of Amazon Web Services services.

                                                          " } + }, + "AssociatedResourceArns": { + "target": "com.amazonaws.devopsguru#AssociatedResourceArns", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Names (ARNs) \n\tof the Amazon Web Services resources that generated this insight.

                                                          " + } } }, "traits": { @@ -3587,7 +4011,7 @@ "AccountId": { "target": "com.amazonaws.devopsguru#AwsAccountId", "traits": { - "smithy.api#documentation": "

                                                          The ID of the Amazon Web Services account.

                                                          " + "smithy.api#documentation": "

                                                          The ID of the Amazon Web Services account.

                                                          " } }, "OrganizationalUnitId": { @@ -3605,7 +4029,7 @@ "Severity": { "target": "com.amazonaws.devopsguru#InsightSeverity", "traits": { - "smithy.api#documentation": "

                                                          An array of severity values used to search for insights.

                                                          " + "smithy.api#documentation": "

                                                          An array of severity values used to search for insights. For more information, see \n\tUnderstanding \n\tinsight severities in the Amazon DevOps Guru User Guide.

                                                          " } }, "Status": { @@ -3625,7 +4049,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Information about a reactive insight. This object is returned by\n\t\t\t\tDescribeInsight.

                                                          " + "smithy.api#documentation": "

                                                          Information about a reactive insight. This object is returned by\n\t\t\tDescribeInsight.

                                                          " } }, "com.amazonaws.devopsguru#ReactiveOrganizationInsights": { @@ -3710,6 +4134,12 @@ "traits": { "smithy.api#documentation": "

                                                          Information about where the anomalous behavior related the recommendation was found.\n\t\t\tFor example, details in Amazon CloudWatch metrics.

                                                          " } + }, + "AnomalyId": { + "target": "com.amazonaws.devopsguru#AnomalyId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of an anomaly that generated the insight with this recommendation.

                                                          " + } } }, "traits": { @@ -3728,7 +4158,7 @@ "Type": { "target": "com.amazonaws.devopsguru#RecommendationRelatedAnomalyResourceType", "traits": { - "smithy.api#documentation": "

                                                          The type of the resource.

                                                          " + "smithy.api#documentation": "

                                                          The type of the resource. Resource types take the same form that is \n\t\t\tused by Amazon Web Services CloudFormation resource type identifiers, service-provider::service-name::data-type-name. \n\t\t\tFor example, AWS::RDS::DBCluster. For more information, see \n\t\t\tAmazon Web Services resource and \n\t\t\t\tproperty types reference in the Amazon Web Services CloudFormation User Guide.

                                                          " } } }, @@ -3927,6 +4357,15 @@ "type": "structure", "members": {} }, + "com.amazonaws.devopsguru#ResourceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + } + } + }, "com.amazonaws.devopsguru#ResourceCollection": { "type": "structure", "members": { @@ -3935,10 +4374,16 @@ "traits": { "smithy.api#documentation": "

                                                          An array of the names of Amazon Web Services CloudFormation stacks. The stacks define Amazon Web Services resources that\n\t\t\tDevOps Guru analyzes. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " } + }, + "Tags": { + "target": "com.amazonaws.devopsguru#TagCollections", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services tags that are used by resources in the resource collection.

                                                          \n \t

                                                          Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support\n \t\ttagging, so you can assign the same tag to resources from different services to indicate\n \t\tthat the resources are related. For example, you can assign the same tag to an Amazon DynamoDB\n \t\ttable resource that you assign to an Lambda function. For more information about\n \t\tusing tags, see the Tagging\n \t\t\tbest practices whitepaper.

                                                          \n \t

                                                          Each Amazon Web Services tag has two parts.

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            A tag key (for example, CostCenter,\n \t\t\t\tEnvironment, Project, or Secret). Tag\n \t\t\t\tkeys are case-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            An optional field known as a tag value (for example,\n \t\t\t\t111122223333, Production, or a team\n \t\t\t\tname). Omitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          Together these are known as key-value pairs.

                                                          \n \t \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " + } } }, "traits": { - "smithy.api#documentation": "

                                                          A collection of Amazon Web Services resources supported by DevOps Guru.\n\t\t\tThe one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " + "smithy.api#documentation": "

                                                          A collection of Amazon Web Services resources supported by DevOps Guru.\n\t\t\tThe two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " } }, "com.amazonaws.devopsguru#ResourceCollectionFilter": { @@ -3949,6 +4394,12 @@ "traits": { "smithy.api#documentation": "

                                                          Information about Amazon Web Services CloudFormation stacks. You can use up to 500\n\t\t\tstacks to specify which Amazon Web Services resources in your account to analyze. For more\n\t\t\tinformation, see Stacks in the\n\t\t\t\tAmazon Web Services CloudFormation User Guide.

                                                          " } + }, + "Tags": { + "target": "com.amazonaws.devopsguru#TagCollectionFilters", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services tags used to filter the resources in the resource collection.

                                                          \n \t

                                                          Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support\n \t\ttagging, so you can assign the same tag to resources from different services to indicate\n \t\tthat the resources are related. For example, you can assign the same tag to an Amazon DynamoDB\n \t\ttable resource that you assign to an Lambda function. For more information about\n \t\tusing tags, see the Tagging\n \t\t\tbest practices whitepaper.

                                                          \n \t

                                                          Each Amazon Web Services tag has two parts.

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            A tag key (for example, CostCenter,\n \t\t\t\tEnvironment, Project, or Secret). Tag\n \t\t\t\tkeys are case-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            An optional field known as a tag value (for example,\n \t\t\t\t111122223333, Production, or a team\n \t\t\t\tname). Omitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          Together these are known as key-value pairs.

                                                          \n \t \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " + } } }, "traits": { @@ -3966,6 +4417,10 @@ { "value": "AWS_SERVICE", "name": "AWS_SERVICE" + }, + { + "value": "AWS_TAGS", + "name": "AWS_TAGS" } ] } @@ -3982,6 +4437,9 @@ "com.amazonaws.devopsguru#ResourceIdType": { "type": "string" }, + "com.amazonaws.devopsguru#ResourceName": { + "type": "string" + }, "com.amazonaws.devopsguru#ResourceNotFoundException": { "type": "structure", "members": { @@ -4195,7 +4653,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Returns a list of insights in your organization. You can specify which insights are\n\t\t\treturned by their start time, one or more statuses (ONGOING,\n\t\t\t\tCLOSED, and CLOSED), one or more severities\n\t\t\t\t(LOW, MEDIUM, and HIGH), and type\n\t\t\t\t(REACTIVE or PROACTIVE).

                                                          \n\t\t

                                                          Use the Filters parameter to specify status and severity search\n\t\t\tparameters. Use the Type parameter to specify REACTIVE or\n\t\t\t\tPROACTIVE in your search.

                                                          ", + "smithy.api#documentation": "

                                                          Returns a list of insights in your organization. You can specify which insights are\n\t\t\treturned by their start time, one or more statuses (ONGOING,\n\t\t\tCLOSED, and CLOSED), one or more severities\n\t\t\t(LOW, MEDIUM, and HIGH), and type\n\t\t\t(REACTIVE or PROACTIVE).

                                                          \n\t\t

                                                          Use the Filters parameter to specify status and severity search\n\t\t\tparameters. Use the Type parameter to specify REACTIVE or\n\t\t\tPROACTIVE in your search.

                                                          ", "smithy.api#http": { "method": "POST", "uri": "/organization/insights/search", @@ -4281,7 +4739,7 @@ "Type": { "target": "com.amazonaws.devopsguru#InsightType", "traits": { - "smithy.api#documentation": "

                                                          The type of insights you are searching for (REACTIVE or\n\t\t\t\tPROACTIVE).

                                                          ", + "smithy.api#documentation": "

                                                          The type of insights you are searching for (REACTIVE or\n\t\t\tPROACTIVE).

                                                          ", "smithy.api#required": {} } } @@ -4674,6 +5132,138 @@ "smithy.api#documentation": "

                                                          A time range used to specify when the behavior of an insight or anomaly started.\n\t\t

                                                          " } }, + "com.amazonaws.devopsguru#TagCollection": { + "type": "structure", + "members": { + "AppBoundaryKey": { + "target": "com.amazonaws.devopsguru#AppBoundaryKey", + "traits": { + "smithy.api#documentation": "

                                                          An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that \n \tDevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make \n up your DevOps Guru application and analysis boundary.

                                                          \n \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          ", + "smithy.api#required": {} + } + }, + "TagValues": { + "target": "com.amazonaws.devopsguru#TagValues", + "traits": { + "smithy.api#documentation": "

                                                          The values in an Amazon Web Services tag collection.

                                                          \n \t

                                                          The tag's value is an optional field used to associate a string with \n\t\t\t\t\tthe tag key (for example, 111122223333, Production, or a team\n \t\t\t\tname). The key and value are the tag's key pair. \n \t\t\t\tOmitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive. You can specify a maximum of 256 characters for a tag value.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A collection of Amazon Web Services stags.

                                                          \n \t

                                                          Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support\n \t\ttagging, so you can assign the same tag to resources from different services to indicate\n \t\tthat the resources are related. For example, you can assign the same tag to an Amazon DynamoDB\n \t\ttable resource that you assign to an Lambda function. For more information about\n \t\tusing tags, see the Tagging\n \t\t\tbest practices whitepaper.

                                                          \n \t

                                                          Each Amazon Web Services tag has two parts.

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            A tag key (for example, CostCenter,\n \t\t\t\tEnvironment, Project, or Secret). Tag\n \t\t\t\tkeys are case-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            An optional field known as a tag value (for example,\n \t\t\t\t111122223333, Production, or a team\n \t\t\t\tname). Omitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          Together these are known as key-value pairs.

                                                          \n \t \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " + } + }, + "com.amazonaws.devopsguru#TagCollectionFilter": { + "type": "structure", + "members": { + "AppBoundaryKey": { + "target": "com.amazonaws.devopsguru#AppBoundaryKey", + "traits": { + "smithy.api#documentation": "

                                                          An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that \n \tDevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make \n up your DevOps Guru application and analysis boundary.

                                                          \n \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          ", + "smithy.api#required": {} + } + }, + "TagValues": { + "target": "com.amazonaws.devopsguru#TagValues", + "traits": { + "smithy.api#documentation": "

                                                          The values in an Amazon Web Services tag collection.

                                                          \n \t

                                                          The tag's value is an optional field used to associate a string with \n\t\t\t\t\tthe tag key (for example, 111122223333, Production, or a team\n \t\t\t\tname). The key and value are the tag's key pair. \n \t\t\t\tOmitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive. You can specify a maximum of 256 characters for a tag value.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A collection of Amazon Web Services tags used to filter insights. This is used to return insights generated from \n only resources that contain the tags in the tag collection.

                                                          " + } + }, + "com.amazonaws.devopsguru#TagCollectionFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagCollectionFilter" + } + }, + "com.amazonaws.devopsguru#TagCollections": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagCollection" + } + }, + "com.amazonaws.devopsguru#TagCostEstimationResourceCollectionFilter": { + "type": "structure", + "members": { + "AppBoundaryKey": { + "target": "com.amazonaws.devopsguru#AppBoundaryKey", + "traits": { + "smithy.api#documentation": "

                                                          An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that \n \tDevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make \n up your DevOps Guru application and analysis boundary.

                                                          \n \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          ", + "smithy.api#required": {} + } + }, + "TagValues": { + "target": "com.amazonaws.devopsguru#CostEstimationTagValues", + "traits": { + "smithy.api#documentation": "

                                                          The values in an Amazon Web Services tag collection.

                                                          \n \t

                                                          The tag's value is an optional field used to associate a string with \n\t\t\t\t\tthe tag key (for example, 111122223333, Production, or a team\n \t\t\t\tname). The key and value are the tag's key pair. \n \t\t\t\tOmitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive. You can specify a maximum of 256 characters for a tag value.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about a collection of Amazon Web Services resources that are identified by an \n \t\tAmazon Web Services tag. This collection of resources is used to create a monthly cost estimate\n \t\tfor DevOps Guru to analyze Amazon Web Services resources. The maximum number of tags you can specify for a\n \t\tcost estimate is one. The estimate created is for the cost to analyze the Amazon Web Services\n \t\tresources defined by the tag. For more information, see Stacks in the\n \t\tAmazon Web Services CloudFormation User Guide.

                                                          " + } + }, + "com.amazonaws.devopsguru#TagCostEstimationResourceCollectionFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagCostEstimationResourceCollectionFilter" + } + }, + "com.amazonaws.devopsguru#TagHealth": { + "type": "structure", + "members": { + "AppBoundaryKey": { + "target": "com.amazonaws.devopsguru#AppBoundaryKey", + "traits": { + "smithy.api#documentation": "

                                                          An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that \n \tDevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make \n up your DevOps Guru application and analysis boundary.

                                                          \n \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " + } + }, + "TagValue": { + "target": "com.amazonaws.devopsguru#TagValue", + "traits": { + "smithy.api#documentation": "

                                                          The value in an Amazon Web Services tag.

                                                          \n \t

                                                          The tag's value is an optional field used to associate a string with \n\t\t\t\t\tthe tag key (for example, 111122223333, Production, or a team\n \t\t\t\tname). The key and value are the tag's key pair. \n \t\t\t\tOmitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive. You can specify a maximum of 256 characters for a tag value.

                                                          " + } + }, + "Insight": { + "target": "com.amazonaws.devopsguru#InsightHealth", + "traits": { + "smithy.api#documentation": "

                                                          Information about the health of the Amazon Web Services resources in your account that are\n\t\t\tspecified by an Amazon Web Services tag, including the number of open proactive, open reactive\n\t\t\tinsights, and the Mean Time to Recover (MTTR) of closed insights.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about the health of Amazon Web Services resources in your account that are specified by\n \t\tan Amazon Web Services tag key.

                                                          " + } + }, + "com.amazonaws.devopsguru#TagHealths": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagHealth" + } + }, + "com.amazonaws.devopsguru#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*|\\*)$" + } + }, + "com.amazonaws.devopsguru#TagValues": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagValue" + } + }, "com.amazonaws.devopsguru#ThrottlingException": { "type": "structure", "members": { @@ -4788,7 +5378,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Updates the collection of resources that DevOps Guru analyzes.\n\t\t\tThe one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze \n \tonly the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for\n\t\t\tyou to use DevOps Guru.

                                                          ", + "smithy.api#documentation": "

                                                          Updates the collection of resources that DevOps Guru analyzes.\n\t\t\tThe two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and \n Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze \n \tthe Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for\n\t\t\tyou to use DevOps Guru.

                                                          ", "smithy.api#http": { "method": "PUT", "uri": "/resource-collections", @@ -4817,7 +5407,13 @@ "CloudFormation": { "target": "com.amazonaws.devopsguru#UpdateCloudFormationCollectionFilter", "traits": { - "smithy.api#documentation": "

                                                          An collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " + "smithy.api#documentation": "

                                                          A collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

                                                          " + } + }, + "Tags": { + "target": "com.amazonaws.devopsguru#UpdateTagCollectionFilters", + "traits": { + "smithy.api#documentation": "

                                                          The updated Amazon Web Services tags used to filter the resources in the resource collection.

                                                          \n \t

                                                          Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support\n \t\ttagging, so you can assign the same tag to resources from different services to indicate\n \t\tthat the resources are related. For example, you can assign the same tag to an Amazon DynamoDB\n \t\ttable resource that you assign to an Lambda function. For more information about\n \t\tusing tags, see the Tagging\n \t\t\tbest practices whitepaper.

                                                          \n \t

                                                          Each Amazon Web Services tag has two parts.

                                                          \n \t
                                                            \n
                                                          • \n \t\t\t

                                                            A tag key (for example, CostCenter,\n \t\t\t\tEnvironment, Project, or Secret). Tag\n \t\t\t\tkeys are case-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          • \n \t\t\t

                                                            An optional field known as a tag value (for example,\n \t\t\t\t111122223333, Production, or a team\n \t\t\t\tname). Omitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive.

                                                            \n \t\t
                                                          • \n
                                                          \n \t

                                                          Together these are known as key-value pairs.

                                                          \n \t \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          " } } }, @@ -4920,6 +5516,46 @@ } } }, + "com.amazonaws.devopsguru#UpdateTagCollectionFilter": { + "type": "structure", + "members": { + "AppBoundaryKey": { + "target": "com.amazonaws.devopsguru#AppBoundaryKey", + "traits": { + "smithy.api#documentation": "

                                                          An Amazon Web Services tag key that is used to identify the Amazon Web Services resources that \n \tDevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this key make \n up your DevOps Guru application and analysis boundary.

                                                          \n \n\t\t

                                                          The string used for a key in a tag that you use to define your resource coverage must begin with the\n\t\t\tprefix Devops-guru-. The tag key might be\n\t\t\tDevops-guru-deployment-application or\n\t\t\tDevops-guru-rds-application. While keys are case-sensitive, the\n\t\t\tcase of key characters don't matter to DevOps Guru. For example, DevOps Guru works with a\n\t\t\tkey named devops-guru-rds and a key named\n\t\t\tDevOps-Guru-RDS. Possible key/value pairs in your\n\t\t\tapplication might be Devops-Guru-production-application/RDS or\n\t\t\tDevops-Guru-production-application/containers.

                                                          \n\t
                                                          ", + "smithy.api#required": {} + } + }, + "TagValues": { + "target": "com.amazonaws.devopsguru#UpdateTagValues", + "traits": { + "smithy.api#documentation": "

                                                          The values in an Amazon Web Services tag collection.

                                                          \n \t

                                                          The tag's value is an optional field used to associate a string with \n\t\t\t\t\tthe tag key (for example, 111122223333, Production, or a team\n \t\t\t\tname). The key and value are the tag's key pair. \n \t\t\t\tOmitting the tag value is the same as using an empty\n \t\t\t\tstring. Like tag keys, tag values are\n \t\t\t\tcase-sensitive. You can specify a maximum of 256 characters for a tag value.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A new collection of Amazon Web Services resources that are defined by an Amazon Web Services tag or tag \n key/value pair.

                                                          " + } + }, + "com.amazonaws.devopsguru#UpdateTagCollectionFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#UpdateTagCollectionFilter" + } + }, + "com.amazonaws.devopsguru#UpdateTagValues": { + "type": "list", + "member": { + "target": "com.amazonaws.devopsguru#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.devopsguru#UuidNextToken": { "type": "string", "traits": { @@ -5006,6 +5642,14 @@ { "value": "OTHER", "name": "OTHER" + }, + { + "value": "INVALID_PARAMETER_COMBINATION", + "name": "INVALID_PARAMETER_COMBINATION" + }, + { + "value": "PARAMETER_INCONSISTENT_WITH_SERVICE_STATE", + "name": "PARAMETER_INCONSISTENT_WITH_SERVICE_STATE" } ] } diff --git a/codegen/sdk-codegen/aws-models/direct-connect.json b/codegen/sdk-codegen/aws-models/direct-connect.json index 3f1cb87ebe28..e63bc6b684f1 100644 --- a/codegen/sdk-codegen/aws-models/direct-connect.json +++ b/codegen/sdk-codegen/aws-models/direct-connect.json @@ -881,7 +881,7 @@ "agreementName": { "target": "com.amazonaws.directconnect#AgreementName", "traits": { - "smithy.api#documentation": "

                                                          \n The name of the customer agreement.\n

                                                          " + "smithy.api#documentation": "

                                                          \n\n The name of the customer agreement.\n\n

                                                          " } } } @@ -2938,7 +2938,7 @@ "virtualInterfaceName": { "target": "com.amazonaws.directconnect#VirtualInterfaceName", "traits": { - "smithy.api#documentation": "

                                                          The name of the virtual interface assigned by the customer network.

                                                          " + "smithy.api#documentation": "

                                                          Provides the details about a virtual interface's router.

                                                          " } } } @@ -3527,6 +3527,12 @@ "smithy.api#error": "client" } }, + "com.amazonaws.directconnect#EnableSiteLink": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.directconnect#EncryptionMode": { "type": "string" }, @@ -4286,6 +4292,12 @@ "traits": { "smithy.api#documentation": "

                                                          The tags associated with the private virtual interface.

                                                          " } + }, + "enableSiteLink": { + "target": "com.amazonaws.directconnect#EnableSiteLink", + "traits": { + "smithy.api#documentation": "

                                                          Indicates whether to enable or disable SiteLink.

                                                          " + } } }, "traits": { @@ -4549,6 +4561,12 @@ "traits": { "smithy.api#documentation": "

                                                          The tags associated with the transitive virtual interface.

                                                          " } + }, + "enableSiteLink": { + "target": "com.amazonaws.directconnect#EnableSiteLink", + "traits": { + "smithy.api#documentation": "

                                                          Indicates whether to enable or disable SiteLink.

                                                          " + } } }, "traits": { @@ -4638,6 +4656,24 @@ }, "com.amazonaws.directconnect#OvertureService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Direct Connect", + "arnNamespace": "directconnect", + "cloudFormationName": "DirectConnect", + "cloudTrailEventSource": "directconnect.amazonaws.com", + "endpointPrefix": "directconnect" + }, + "aws.auth#sigv4": { + "name": "directconnect" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

                                                          Direct Connect links your internal network to an Direct Connect location over a standard Ethernet fiber-optic cable. \n One end of the cable is connected to your router, the other to an Direct Connect router. With this connection\n in place, you can create virtual interfaces directly to the Amazon Web Services Cloud (for example, to Amazon EC2 \n and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path. A \n connection provides access to all Amazon Web Services Regions except the China (Beijing) and (China) Ningxia Regions. \n Amazon Web Services resources in the China Regions can only be accessed through locations associated with those Regions.

                                                          ", + "smithy.api#title": "AWS Direct Connect", + "smithy.api#xmlNamespace": { + "uri": "http://directconnect.amazonaws.com/doc/2012-10-25/" + } + }, "version": "2012-10-25", "operations": [ { @@ -4829,25 +4865,7 @@ { "target": "com.amazonaws.directconnect#UpdateVirtualInterfaceAttributes" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Direct Connect", - "arnNamespace": "directconnect", - "cloudFormationName": "DirectConnect", - "cloudTrailEventSource": "directconnect.amazonaws.com", - "endpointPrefix": "directconnect" - }, - "aws.auth#sigv4": { - "name": "directconnect" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                                                          Direct Connect links your internal network to an Direct Connect location over a standard Ethernet fiber-optic cable. \n One end of the cable is connected to your router, the other to an Direct Connect router. With this connection\n in place, you can create virtual interfaces directly to the Amazon Web Services Cloud (for example, to Amazon EC2 \n and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path. A \n connection provides access to all Amazon Web Services Regions except the China (Beijing) and (China) Ningxia Regions. \n Amazon Web Services resources in the China Regions can only be accessed through locations associated with those Regions.

                                                          ", - "smithy.api#title": "AWS Direct Connect", - "smithy.api#xmlNamespace": { - "uri": "http://directconnect.amazonaws.com/doc/2012-10-25/" - } - } + ] }, "com.amazonaws.directconnect#OwnerAccount": { "type": "string" @@ -4993,6 +5011,12 @@ "com.amazonaws.directconnect#SecretARN": { "type": "string" }, + "com.amazonaws.directconnect#SiteLinkEnabled": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.directconnect#Software": { "type": "string" }, @@ -5513,6 +5537,18 @@ "traits": { "smithy.api#documentation": "

                                                          The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                                                          " } + }, + "enableSiteLink": { + "target": "com.amazonaws.directconnect#EnableSiteLink", + "traits": { + "smithy.api#documentation": "

                                                          Indicates whether to enable or disable SiteLink.

                                                          " + } + }, + "virtualInterfaceName": { + "target": "com.amazonaws.directconnect#VirtualInterfaceName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the virtual private interface.

                                                          " + } } } }, @@ -5723,6 +5759,12 @@ "traits": { "smithy.api#documentation": "

                                                          The tags associated with the virtual interface.

                                                          " } + }, + "siteLinkEnabled": { + "target": "com.amazonaws.directconnect#SiteLinkEnabled", + "traits": { + "smithy.api#documentation": "

                                                          Indicates whether SiteLink is enabled.

                                                          " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/dynamodb.json b/codegen/sdk-codegen/aws-models/dynamodb.json index 078d791171c4..416e040f58a8 100644 --- a/codegen/sdk-codegen/aws-models/dynamodb.json +++ b/codegen/sdk-codegen/aws-models/dynamodb.json @@ -1822,6 +1822,12 @@ "traits": { "smithy.api#documentation": "

                                                          Replica-specific global secondary index settings.

                                                          " } + }, + "TableClassOverride": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "

                                                          Replica-specific table class. If not specified, uses the source table's\n table class.

                                                          " + } } }, "traits": { @@ -1922,6 +1928,12 @@ "traits": { "smithy.api#documentation": "

                                                          A list of key-value pairs to label the table. For more information, see Tagging\n for DynamoDB.

                                                          " } + }, + "TableClass": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "

                                                          The table class of the new table. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.

                                                          " + } } }, "traits": { @@ -6286,6 +6298,9 @@ "traits": { "smithy.api#documentation": "

                                                          The time at which the replica was first detected as inaccessible. To determine cause\n of inaccessibility check the ReplicaStatus property.

                                                          " } + }, + "ReplicaTableClassSummary": { + "target": "com.amazonaws.dynamodb#TableClassSummary" } }, "traits": { @@ -6570,6 +6585,9 @@ "traits": { "smithy.api#documentation": "

                                                          Replica global secondary index settings for the global table.

                                                          " } + }, + "ReplicaTableClassSummary": { + "target": "com.amazonaws.dynamodb#TableClassSummary" } }, "traits": { @@ -6609,6 +6627,12 @@ "traits": { "smithy.api#documentation": "

                                                          Represents the settings of a global secondary index for a global table that will be\n modified.

                                                          " } + }, + "ReplicaTableClass": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "

                                                          Replica-specific table class. If not specified, uses the source table's\n table class.

                                                          " + } } }, "traits": { @@ -7721,6 +7745,41 @@ "smithy.api#documentation": "

                                                          Represents the auto scaling configuration for a global table.

                                                          " } }, + "com.amazonaws.dynamodb#TableClass": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "STANDARD", + "name": "STANDARD" + }, + { + "value": "STANDARD_INFREQUENT_ACCESS", + "name": "STANDARD_INFREQUENT_ACCESS" + } + ] + } + }, + "com.amazonaws.dynamodb#TableClassSummary": { + "type": "structure", + "members": { + "TableClass": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "

                                                          The table class of the specified table. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.

                                                          " + } + }, + "LastUpdateDateTime": { + "target": "com.amazonaws.dynamodb#Date", + "traits": { + "smithy.api#documentation": "

                                                          The date and time at which the table class was last updated.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Contains details of the table class.

                                                          " + } + }, "com.amazonaws.dynamodb#TableCreationDateTime": { "type": "timestamp" }, @@ -7852,6 +7911,12 @@ "traits": { "smithy.api#documentation": "

                                                          Contains information about the table archive.

                                                          " } + }, + "TableClassSummary": { + "target": "com.amazonaws.dynamodb#TableClassSummary", + "traits": { + "smithy.api#documentation": "

                                                          Contains details of the table class.

                                                          " + } } }, "traits": { @@ -8982,6 +9047,12 @@ "traits": { "smithy.api#documentation": "

                                                          Replica-specific global secondary index settings.

                                                          " } + }, + "TableClassOverride": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "

                                                          Replica-specific table class. If not specified, uses the source table's\n table class.

                                                          " + } } }, "traits": { @@ -9071,6 +9142,12 @@ "traits": { "smithy.api#documentation": "

                                                          A list of replica update actions (create, delete, or update) for the table.

                                                          \n \n

                                                          This property only applies to Version\n 2019.11.21 of global tables.

                                                          \n
                                                          " } + }, + "TableClass": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "

                                                          The table class of the table to be updated. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.

                                                          " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 28466d926985..a7c167acc979 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -514,6 +514,132 @@ } } }, + "com.amazonaws.ec2#AccessScopeAnalysisFinding": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope analysis.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" + } + }, + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeId" + } + }, + "FindingId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FindingId", + "smithy.api#documentation": "

                                                          The ID of the finding.

                                                          ", + "smithy.api#xmlName": "findingId" + } + }, + "FindingComponents": { + "target": "com.amazonaws.ec2#PathComponentList", + "traits": { + "aws.protocols#ec2QueryName": "FindingComponentSet", + "smithy.api#documentation": "

                                                          The finding components.

                                                          ", + "smithy.api#xmlName": "findingComponentSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a finding for a Network Access Scope.

                                                          " + } + }, + "com.amazonaws.ec2#AccessScopeAnalysisFindingList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AccessScopeAnalysisFinding", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AccessScopePath": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.ec2#PathStatement", + "traits": { + "aws.protocols#ec2QueryName": "Source", + "smithy.api#documentation": "

                                                          The source.

                                                          ", + "smithy.api#xmlName": "source" + } + }, + "Destination": { + "target": "com.amazonaws.ec2#PathStatement", + "traits": { + "aws.protocols#ec2QueryName": "Destination", + "smithy.api#documentation": "

                                                          The destination.

                                                          ", + "smithy.api#xmlName": "destination" + } + }, + "ThroughResources": { + "target": "com.amazonaws.ec2#ThroughResourcesStatementList", + "traits": { + "aws.protocols#ec2QueryName": "ThroughResourceSet", + "smithy.api#documentation": "

                                                          The through resources.

                                                          ", + "smithy.api#xmlName": "throughResourceSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a path.

                                                          " + } + }, + "com.amazonaws.ec2#AccessScopePathList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AccessScopePath", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AccessScopePathListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AccessScopePathRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AccessScopePathRequest": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.ec2#PathStatementRequest", + "traits": { + "smithy.api#documentation": "

                                                          The source.

                                                          " + } + }, + "Destination": { + "target": "com.amazonaws.ec2#PathStatementRequest", + "traits": { + "smithy.api#documentation": "

                                                          The destination.

                                                          " + } + }, + "ThroughResources": { + "target": "com.amazonaws.ec2#ThroughResourcesStatementRequestList", + "traits": { + "smithy.api#documentation": "

                                                          The through resources.

                                                          ", + "smithy.api#xmlName": "ThroughResource" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a path.

                                                          " + } + }, "com.amazonaws.ec2#AccountAttribute": { "type": "structure", "members": { @@ -668,6 +794,32 @@ ] } }, + "com.amazonaws.ec2#AddIpamOperatingRegion": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The name of the operating Region.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Add an operating Region to an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                          \n

                                                          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#AddIpamOperatingRegionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegion" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.ec2#AddPrefixListEntries": { "type": "list", "member": { @@ -872,6 +1024,21 @@ ] } }, + "com.amazonaws.ec2#AddressFamily": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ipv4", + "name": "ipv4" + }, + { + "value": "ipv6", + "name": "ipv6" + } + ] + } + }, "com.amazonaws.ec2#AddressList": { "type": "list", "member": { @@ -1182,6 +1349,87 @@ "smithy.api#documentation": "

                                                          Contains the output of AllocateHosts.

                                                          " } }, + "com.amazonaws.ec2#AllocateIpamPoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AllocateIpamPoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AllocateIpamPoolCidrResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#AllocateIpamPoolCidrRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool from which you would like to allocate a CIDR.

                                                          ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR you would like to allocate from the IPAM pool. Note the following:

                                                          \n
                                                            \n
                                                          • \n

                                                            If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

                                                            \n
                                                          • \n
                                                          • \n

                                                            If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

                                                            \n
                                                          • \n
                                                          \n

                                                          Possible values: Any available IPv4 or IPv6 CIDR.

                                                          " + } + }, + "NetmaskLength": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:

                                                          \n
                                                            \n
                                                          • \n

                                                            If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

                                                            \n
                                                          • \n
                                                          • \n

                                                            If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

                                                            \n
                                                          • \n
                                                          \n

                                                          Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

                                                          " + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                          ", + "smithy.api#idempotencyToken": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A description for the allocation.

                                                          " + } + }, + "PreviewNextCidr": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A preview of the next available CIDR in a pool.

                                                          " + } + }, + "DisallowedCidrs": { + "target": "com.amazonaws.ec2#IpamPoolAllocationDisallowedCidrs", + "traits": { + "smithy.api#documentation": "

                                                          Exclude a particular CIDR range from being returned by the pool.

                                                          ", + "smithy.api#xmlName": "DisallowedCidr" + } + } + } + }, + "com.amazonaws.ec2#AllocateIpamPoolCidrResult": { + "type": "structure", + "members": { + "IpamPoolAllocation": { + "target": "com.amazonaws.ec2#IpamPoolAllocation", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolAllocation", + "smithy.api#documentation": "

                                                          Information about the allocation created.

                                                          ", + "smithy.api#xmlName": "ipamPoolAllocation" + } + } + } + }, "com.amazonaws.ec2#AllocationId": { "type": "string" }, @@ -1387,6 +1635,9 @@ { "target": "com.amazonaws.ec2#AllocateHosts" }, + { + "target": "com.amazonaws.ec2#AllocateIpamPoolCidr" + }, { "target": "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetwork" }, @@ -1549,6 +1800,15 @@ { "target": "com.amazonaws.ec2#CreateInternetGateway" }, + { + "target": "com.amazonaws.ec2#CreateIpam" + }, + { + "target": "com.amazonaws.ec2#CreateIpamPool" + }, + { + "target": "com.amazonaws.ec2#CreateIpamScope" + }, { "target": "com.amazonaws.ec2#CreateKeyPair" }, @@ -1576,6 +1836,9 @@ { "target": "com.amazonaws.ec2#CreateNetworkAclEntry" }, + { + "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScope" + }, { "target": "com.amazonaws.ec2#CreateNetworkInsightsPath" }, @@ -1588,6 +1851,9 @@ { "target": "com.amazonaws.ec2#CreatePlacementGroup" }, + { + "target": "com.amazonaws.ec2#CreatePublicIpv4Pool" + }, { "target": "com.amazonaws.ec2#CreateReplaceRootVolumeTask" }, @@ -1726,6 +1992,15 @@ { "target": "com.amazonaws.ec2#DeleteInternetGateway" }, + { + "target": "com.amazonaws.ec2#DeleteIpam" + }, + { + "target": "com.amazonaws.ec2#DeleteIpamPool" + }, + { + "target": "com.amazonaws.ec2#DeleteIpamScope" + }, { "target": "com.amazonaws.ec2#DeleteKeyPair" }, @@ -1753,6 +2028,12 @@ { "target": "com.amazonaws.ec2#DeleteNetworkAclEntry" }, + { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScope" + }, + { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysis" + }, { "target": "com.amazonaws.ec2#DeleteNetworkInsightsAnalysis" }, @@ -1768,6 +2049,9 @@ { "target": "com.amazonaws.ec2#DeletePlacementGroup" }, + { + "target": "com.amazonaws.ec2#DeletePublicIpv4Pool" + }, { "target": "com.amazonaws.ec2#DeleteQueuedReservedInstances" }, @@ -1864,6 +2148,12 @@ { "target": "com.amazonaws.ec2#DeprovisionByoipCidr" }, + { + "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidr" + }, + { + "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidr" + }, { "target": "com.amazonaws.ec2#DeregisterImage" }, @@ -2026,6 +2316,15 @@ { "target": "com.amazonaws.ec2#DescribeInternetGateways" }, + { + "target": "com.amazonaws.ec2#DescribeIpamPools" + }, + { + "target": "com.amazonaws.ec2#DescribeIpams" + }, + { + "target": "com.amazonaws.ec2#DescribeIpamScopes" + }, { "target": "com.amazonaws.ec2#DescribeIpv6Pools" }, @@ -2068,6 +2367,12 @@ { "target": "com.amazonaws.ec2#DescribeNetworkAcls" }, + { + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalyses" + }, + { + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopes" + }, { "target": "com.amazonaws.ec2#DescribeNetworkInsightsAnalyses" }, @@ -2281,6 +2586,9 @@ { "target": "com.amazonaws.ec2#DisableImageDeprecation" }, + { + "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccount" + }, { "target": "com.amazonaws.ec2#DisableSerialConsoleAccess" }, @@ -2338,6 +2646,9 @@ { "target": "com.amazonaws.ec2#EnableImageDeprecation" }, + { + "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccount" + }, { "target": "com.amazonaws.ec2#EnableSerialConsoleAccess" }, @@ -2407,6 +2718,18 @@ { "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements" }, + { + "target": "com.amazonaws.ec2#GetIpamAddressHistory" + }, + { + "target": "com.amazonaws.ec2#GetIpamPoolAllocations" + }, + { + "target": "com.amazonaws.ec2#GetIpamPoolCidrs" + }, + { + "target": "com.amazonaws.ec2#GetIpamResourceCidrs" + }, { "target": "com.amazonaws.ec2#GetLaunchTemplateData" }, @@ -2416,6 +2739,12 @@ { "target": "com.amazonaws.ec2#GetManagedPrefixListEntries" }, + { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindings" + }, + { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContent" + }, { "target": "com.amazonaws.ec2#GetPasswordData" }, @@ -2533,6 +2862,18 @@ { "target": "com.amazonaws.ec2#ModifyInstancePlacement" }, + { + "target": "com.amazonaws.ec2#ModifyIpam" + }, + { + "target": "com.amazonaws.ec2#ModifyIpamPool" + }, + { + "target": "com.amazonaws.ec2#ModifyIpamResourceCidr" + }, + { + "target": "com.amazonaws.ec2#ModifyIpamScope" + }, { "target": "com.amazonaws.ec2#ModifyLaunchTemplate" }, @@ -2626,9 +2967,18 @@ { "target": "com.amazonaws.ec2#MoveAddressToVpc" }, + { + "target": "com.amazonaws.ec2#MoveByoipCidrToIpam" + }, { "target": "com.amazonaws.ec2#ProvisionByoipCidr" }, + { + "target": "com.amazonaws.ec2#ProvisionIpamPoolCidr" + }, + { + "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidr" + }, { "target": "com.amazonaws.ec2#PurchaseHostReservation" }, @@ -2674,6 +3024,9 @@ { "target": "com.amazonaws.ec2#ReleaseHosts" }, + { + "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocation" + }, { "target": "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociation" }, @@ -2764,6 +3117,9 @@ { "target": "com.amazonaws.ec2#StartInstances" }, + { + "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysis" + }, { "target": "com.amazonaws.ec2#StartNetworkInsightsAnalysis" }, @@ -2873,6 +3229,14 @@ "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the component.

                                                          ", "smithy.api#xmlName": "arn" } + }, + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

                                                          The name of the analysis component.

                                                          ", + "smithy.api#xmlName": "name" + } } }, "traits": { @@ -4219,6 +4583,30 @@ "traits": { "smithy.api#documentation": "

                                                          An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

                                                          \n

                                                          To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

                                                          " } + }, + "Ipv4IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "Ipv4NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "Ipv6IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "Ipv6NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " + } } } }, @@ -5692,6 +6080,12 @@ ] } }, + "com.amazonaws.ec2#BoxedDouble": { + "type": "double", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.ec2#BundleId": { "type": "string" }, @@ -10921,6 +11315,256 @@ } } }, + "com.amazonaws.ec2#CreateIpam": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Create an IPAM. Amazon VCP IP Address Manager (IPAM) is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization.

                                                          \n

                                                          For more information, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#CreateIpamPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamPoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamPoolResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

                                                          \n

                                                          For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#CreateIpamPoolRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the scope in which you would like to create the IPAM pool.

                                                          ", + "smithy.api#required": {} + } + }, + "Locale": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

                                                          \n

                                                          Possible values: Any Amazon Web Services Region, such as us-east-1.

                                                          " + } + }, + "SourceIpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

                                                          " + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A description for the IPAM pool.

                                                          " + } + }, + "AddressFamily": { + "target": "com.amazonaws.ec2#AddressFamily", + "traits": { + "smithy.api#documentation": "

                                                          The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.

                                                          " + } + }, + "AutoImport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          If selected, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

                                                          \n

                                                          A locale must be set on the pool for this feature to work.

                                                          " + } + }, + "PubliclyAdvertisable": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

                                                          " + } + }, + "AllocationMinNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be \n less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

                                                          " + } + }, + "AllocationMaxNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be \n greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

                                                          " + } + }, + "AllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, \n new allocations will default to 10.0.0.0/16.

                                                          " + } + }, + "AllocationResourceTags": { + "target": "com.amazonaws.ec2#RequestIpamResourceTagList", + "traits": { + "smithy.api#documentation": "

                                                          Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

                                                          ", + "smithy.api#xmlName": "AllocationResourceTag" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                          ", + "smithy.api#idempotencyToken": {} + } + }, + "AwsService": { + "target": "com.amazonaws.ec2#IpamPoolAwsService", + "traits": { + "smithy.api#documentation": "

                                                          Limits which service in Amazon Web Services that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#CreateIpamPoolResult": { + "type": "structure", + "members": { + "IpamPool": { + "target": "com.amazonaws.ec2#IpamPool", + "traits": { + "aws.protocols#ec2QueryName": "IpamPool", + "smithy.api#documentation": "

                                                          Information about the IPAM pool created.

                                                          ", + "smithy.api#xmlName": "ipamPool" + } + } + } + }, + "com.amazonaws.ec2#CreateIpamRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A description for the IPAM.

                                                          " + } + }, + "OperatingRegions": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", + "traits": { + "smithy.api#documentation": "

                                                          The operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                          \n

                                                          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

                                                          ", + "smithy.api#xmlName": "OperatingRegion" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                          ", + "smithy.api#idempotencyToken": {} + } + } + } + }, + "com.amazonaws.ec2#CreateIpamResult": { + "type": "structure", + "members": { + "Ipam": { + "target": "com.amazonaws.ec2#Ipam", + "traits": { + "aws.protocols#ec2QueryName": "Ipam", + "smithy.api#documentation": "

                                                          Information about the IPAM created.

                                                          ", + "smithy.api#xmlName": "ipam" + } + } + } + }, + "com.amazonaws.ec2#CreateIpamScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamScopeResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

                                                          \n

                                                          For more information, see Add a scope in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "com.amazonaws.ec2#CreateIpamScopeRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM for which you're creating this scope.

                                                          ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A description for the scope you're creating.

                                                          " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                                          ", + "smithy.api#idempotencyToken": {} + } + } + } + }, + "com.amazonaws.ec2#CreateIpamScopeResult": { + "type": "structure", + "members": { + "IpamScope": { + "target": "com.amazonaws.ec2#IpamScope", + "traits": { + "aws.protocols#ec2QueryName": "IpamScope", + "smithy.api#documentation": "

                                                          Information about the created scope.

                                                          ", + "smithy.api#xmlName": "ipamScope" + } + } + } + }, "com.amazonaws.ec2#CreateKeyPair": { "type": "operation", "input": { @@ -11545,6 +12189,79 @@ } } }, + "com.amazonaws.ec2#CreateNetworkInsightsAccessScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Creates a Network Access Scope.

                                                          \n

                                                          Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams \n to verify that their networks on Amazon Web Services conform to their network security and governance \n objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

                                                          " + } + }, + "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeRequest": { + "type": "structure", + "members": { + "MatchPaths": { + "target": "com.amazonaws.ec2#AccessScopePathListRequest", + "traits": { + "smithy.api#documentation": "

                                                          The paths to match.

                                                          ", + "smithy.api#xmlName": "MatchPath" + } + }, + "ExcludePaths": { + "target": "com.amazonaws.ec2#AccessScopePathListRequest", + "traits": { + "smithy.api#documentation": "

                                                          The paths to exclude.

                                                          ", + "smithy.api#xmlName": "ExcludePath" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

                                                          ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

                                                          The tags to apply.

                                                          ", + "smithy.api#xmlName": "TagSpecification" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScope": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScope", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScope", + "smithy.api#documentation": "

                                                          The Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScope" + } + }, + "NetworkInsightsAccessScopeContent": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeContent", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeContent", + "smithy.api#documentation": "

                                                          The Network Access Scope content.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeContent" + } + } + } + }, "com.amazonaws.ec2#CreateNetworkInsightsPath": { "type": "operation", "input": { @@ -11931,6 +12648,49 @@ } } }, + "com.amazonaws.ec2#CreatePublicIpv4Pool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreatePublicIpv4PoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreatePublicIpv4PoolResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

                                                          " + } + }, + "com.amazonaws.ec2#CreatePublicIpv4PoolRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", + "smithy.api#xmlName": "TagSpecification" + } + } + } + }, + "com.amazonaws.ec2#CreatePublicIpv4PoolResult": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "traits": { + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

                                                          The ID of the public IPv4 pool.

                                                          ", + "smithy.api#xmlName": "poolId" + } + } + } + }, "com.amazonaws.ec2#CreateReplaceRootVolumeTask": { "type": "operation", "input": { @@ -14345,8 +15105,7 @@ "CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

                                                          The IPv4 network range for the VPC, in CIDR notation. For example,\n\t\t 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.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          The IPv4 network range for the VPC, in CIDR notation. For example,\n\t\t 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": { @@ -14369,6 +15128,30 @@ "smithy.api#documentation": "

                                                          The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

                                                          \n

                                                          To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

                                                          " } }, + "Ipv4IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.\n \n

                                                          " + } + }, + "Ipv4NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "Ipv6IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "Ipv6NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -15444,6 +16227,135 @@ } } }, + "com.amazonaws.ec2#DeleteIpam": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

                                                          \n \n

                                                          You cannot delete an IPAM if there are CIDRs provisioned to pools or if there are allocations in the pools within the IPAM. To deprovision pool \n CIDRs, see DeprovisionIpamPoolCidr. To release allocations, see ReleaseIpamPoolAllocation.\n

                                                          \n
                                                          \n

                                                          For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#DeleteIpamPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamPoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamPoolResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Delete an IPAM pool.

                                                          \n \n

                                                          You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release \n allocations, see ReleaseIpamPoolAllocation. To deprovision pool \n CIDRs, see DeprovisionIpamPoolCidr.

                                                          \n
                                                          \n

                                                          For more information, see Delete a pool in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#DeleteIpamPoolRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the pool to delete.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DeleteIpamPoolResult": { + "type": "structure", + "members": { + "IpamPool": { + "target": "com.amazonaws.ec2#IpamPool", + "traits": { + "aws.protocols#ec2QueryName": "IpamPool", + "smithy.api#documentation": "

                                                          Information about the results of the deletion.

                                                          ", + "smithy.api#xmlName": "ipamPool" + } + } + } + }, + "com.amazonaws.ec2#DeleteIpamRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM to delete.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DeleteIpamResult": { + "type": "structure", + "members": { + "Ipam": { + "target": "com.amazonaws.ec2#Ipam", + "traits": { + "aws.protocols#ec2QueryName": "Ipam", + "smithy.api#documentation": "

                                                          Information about the results of the deletion.

                                                          ", + "smithy.api#xmlName": "ipam" + } + } + } + }, + "com.amazonaws.ec2#DeleteIpamScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamScopeResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Delete the scope for an IPAM. You cannot delete the default scopes.

                                                          \n

                                                          For more information, see Delete a scope in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#DeleteIpamScopeRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the scope to delete.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DeleteIpamScopeResult": { + "type": "structure", + "members": { + "IpamScope": { + "target": "com.amazonaws.ec2#IpamScope", + "traits": { + "aws.protocols#ec2QueryName": "IpamScope", + "smithy.api#documentation": "

                                                          Information about the results of the deletion.

                                                          ", + "smithy.api#xmlName": "ipamScope" + } + } + } + }, "com.amazonaws.ec2#DeleteKeyPair": { "type": "operation", "input": { @@ -15940,6 +16852,92 @@ } } }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Deletes the specified Network Access Scope.

                                                          " + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Deletes the specified Network Access Scope analysis.

                                                          " + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope analysis.

                                                          ", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope analysis.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" + } + } + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeId" + } + } + } + }, "com.amazonaws.ec2#DeleteNetworkInsightsAnalysis": { "type": "operation", "input": { @@ -16146,6 +17144,49 @@ } } }, + "com.amazonaws.ec2#DeletePublicIpv4Pool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeletePublicIpv4PoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeletePublicIpv4PoolResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

                                                          " + } + }, + "com.amazonaws.ec2#DeletePublicIpv4PoolRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the public IPv4 pool you want to delete.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DeletePublicIpv4PoolResult": { + "type": "structure", + "members": { + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "ReturnValue", + "smithy.api#documentation": "

                                                          Information about the result of deleting the public IPv4 pool.

                                                          ", + "smithy.api#xmlName": "returnValue" + } + } + } + }, "com.amazonaws.ec2#DeleteQueuedReservedInstances": { "type": "operation", "input": { @@ -17493,6 +18534,122 @@ } } }, + "com.amazonaws.ec2#DeprovisionIpamPoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidrResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "com.amazonaws.ec2#DeprovisionIpamPoolCidrRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the pool that has the CIDR you want to deprovision.

                                                          ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR which you want to deprovision from the pool.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#DeprovisionIpamPoolCidrResult": { + "type": "structure", + "members": { + "IpamPoolCidr": { + "target": "com.amazonaws.ec2#IpamPoolCidr", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolCidr", + "smithy.api#documentation": "

                                                          The deprovisioned pool CIDR.

                                                          ", + "smithy.api#xmlName": "ipamPoolCidr" + } + } + } + }, + "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Deprovision a CIDR from a public IPv4 pool.

                                                          " + } + }, + "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the pool that you want to deprovision the CIDR from.

                                                          ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR you want to deprovision from the pool.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrResult": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "traits": { + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

                                                          The ID of the pool that you deprovisioned the CIDR from.

                                                          ", + "smithy.api#xmlName": "poolId" + } + }, + "DeprovisionedAddresses": { + "target": "com.amazonaws.ec2#DeprovisionedAddressSet", + "traits": { + "aws.protocols#ec2QueryName": "DeprovisionedAddressSet", + "smithy.api#documentation": "

                                                          The deprovisioned CIDRs.

                                                          ", + "smithy.api#xmlName": "deprovisionedAddressSet" + } + } + } + }, + "com.amazonaws.ec2#DeprovisionedAddressSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#DeregisterImage": { "type": "operation", "input": { @@ -21923,6 +23080,234 @@ } } }, + "com.amazonaws.ec2#DescribeIpamPools": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamPoolsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamPoolsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Get information about your IPAM pools.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPools", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeIpamPoolsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return in the request.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + }, + "IpamPoolIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The IDs of the IPAM pools you would like information on.

                                                          ", + "smithy.api#xmlName": "IpamPoolId" + } + } + } + }, + "com.amazonaws.ec2#DescribeIpamPoolsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamPools": { + "target": "com.amazonaws.ec2#IpamPoolSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolSet", + "smithy.api#documentation": "

                                                          Information about the IPAM pools.

                                                          ", + "smithy.api#xmlName": "ipamPoolSet" + } + } + } + }, + "com.amazonaws.ec2#DescribeIpamScopes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamScopesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamScopesResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Get information about your IPAM scopes.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamScopes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeIpamScopesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return in the request.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + }, + "IpamScopeIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The IDs of the scopes you want information on.

                                                          ", + "smithy.api#xmlName": "IpamScopeId" + } + } + } + }, + "com.amazonaws.ec2#DescribeIpamScopesResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamScopes": { + "target": "com.amazonaws.ec2#IpamScopeSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeSet", + "smithy.api#documentation": "

                                                          The scopes you want information on.

                                                          ", + "smithy.api#xmlName": "ipamScopeSet" + } + } + } + }, + "com.amazonaws.ec2#DescribeIpams": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Get information about your IPAM pools.

                                                          \n

                                                          For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Ipams", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeIpamsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return in the request.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + }, + "IpamIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The IDs of the IPAMs you want information on.

                                                          ", + "smithy.api#xmlName": "IpamId" + } + } + } + }, + "com.amazonaws.ec2#DescribeIpamsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + }, + "Ipams": { + "target": "com.amazonaws.ec2#IpamSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamSet", + "smithy.api#documentation": "

                                                          Information about the IPAMs.

                                                          ", + "smithy.api#xmlName": "ipamSet" + } + } + } + }, "com.amazonaws.ec2#DescribeIpv6Pools": { "type": "operation", "input": { @@ -23124,6 +24509,176 @@ } } }, + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalyses": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes the specified Network Access Scope analyses.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "NetworkInsightsAccessScopeAnalyses", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisIds": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisIdList", + "traits": { + "smithy.api#documentation": "

                                                          The IDs of the Network Access Scope analyses.

                                                          ", + "smithy.api#xmlName": "NetworkInsightsAccessScopeAnalysisId" + } + }, + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          " + } + }, + "AnalysisStartTimeBegin": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

                                                          Filters the results based on the start time. The analysis must have started on or after this time.

                                                          " + } + }, + "AnalysisStartTimeEnd": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

                                                          Filters the results based on the start time. The analysis must have started on or before this time.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          There are no supported filters.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

                                                          " + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalyses": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisList", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisSet", + "smithy.api#documentation": "

                                                          The Network Access Scope analyses.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes the specified Network Access Scopes.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "NetworkInsightsAccessScopes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeIds": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeIdList", + "traits": { + "smithy.api#documentation": "

                                                          The IDs of the Network Access Scopes.

                                                          ", + "smithy.api#xmlName": "NetworkInsightsAccessScopeId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          There are no supported filters.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

                                                          " + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopes": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeList", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeSet", + "smithy.api#documentation": "

                                                          The Network Access Scopes.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, "com.amazonaws.ec2#DescribeNetworkInsightsAnalyses": { "type": "operation", "input": { @@ -29310,6 +30865,49 @@ } } }, + "com.amazonaws.ec2#DisableIpamOrganizationAdminAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "DelegatedAdminAccountId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The Organizations member account ID that you want to disable as IPAM account.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountResult": { + "type": "structure", + "members": { + "Success": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Success", + "smithy.api#documentation": "

                                                          The result of disabling the IPAM account.

                                                          ", + "smithy.api#xmlName": "success" + } + } + } + }, "com.amazonaws.ec2#DisableSerialConsoleAccess": { "type": "operation", "input": { @@ -31423,6 +33021,49 @@ } } }, + "com.amazonaws.ec2#EnableIpamOrganizationAdminAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountRequest" + }, + "output": { + "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "DelegatedAdminAccountId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The Organizations member account ID that you want to enable as the IPAM account.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountResult": { + "type": "structure", + "members": { + "Success": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Success", + "smithy.api#documentation": "

                                                          The result of enabling the IPAM account.

                                                          ", + "smithy.api#xmlName": "success" + } + } + } + }, "com.amazonaws.ec2#EnableSerialConsoleAccess": { "type": "operation", "input": { @@ -33078,6 +34719,25 @@ } } }, + "com.amazonaws.ec2#FindingsFound": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "true", + "name": "true" + }, + { + "value": "false", + "name": "false" + }, + { + "value": "unknown", + "name": "unknown" + } + ] + } + }, "com.amazonaws.ec2#FleetActivityStatus": { "type": "string", "traits": { @@ -35330,6 +36990,370 @@ } } }, + "com.amazonaws.ec2#GetIpamAddressHistory": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamAddressHistoryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamAddressHistoryResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "HistoryRecords", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamAddressHistoryRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. \n If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

                                                          ", + "smithy.api#required": {} + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM scope that the CIDR is in.

                                                          ", + "smithy.api#required": {} + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the VPC you want your history records filtered by.

                                                          " + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

                                                          The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

                                                          " + } + }, + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

                                                          The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamAddressHistoryMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of historical results you would like returned per page. Defaults to 100.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#GetIpamAddressHistoryResult": { + "type": "structure", + "members": { + "HistoryRecords": { + "target": "com.amazonaws.ec2#IpamAddressHistoryRecordSet", + "traits": { + "aws.protocols#ec2QueryName": "HistoryRecordSet", + "smithy.api#documentation": "

                                                          A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

                                                          ", + "smithy.api#xmlName": "historyRecordSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#GetIpamPoolAllocations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPoolAllocationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPoolAllocationsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Get a list of all the CIDR allocations in an IPAM pool.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPoolAllocations", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamPoolAllocationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1000, + "max": 100000 + } + } + }, + "com.amazonaws.ec2#GetIpamPoolAllocationsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool you want to see the allocations for.

                                                          ", + "smithy.api#required": {} + } + }, + "IpamPoolAllocationId": { + "target": "com.amazonaws.ec2#IpamPoolAllocationId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the allocation.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#GetIpamPoolAllocationsMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results you would like returned per page.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#GetIpamPoolAllocationsResult": { + "type": "structure", + "members": { + "IpamPoolAllocations": { + "target": "com.amazonaws.ec2#IpamPoolAllocationSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolAllocationSet", + "smithy.api#documentation": "

                                                          The IPAM pool allocations you want information on.

                                                          ", + "smithy.api#xmlName": "ipamPoolAllocationSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#GetIpamPoolCidrs": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPoolCidrsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPoolCidrsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Get the CIDRs provisioned to an IPAM pool.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPoolCidrs", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamPoolCidrsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool you want the CIDR for.

                                                          ", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return in the request.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#GetIpamPoolCidrsResult": { + "type": "structure", + "members": { + "IpamPoolCidrs": { + "target": "com.amazonaws.ec2#IpamPoolCidrSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolCidrSet", + "smithy.api#documentation": "

                                                          Information about the CIDRs provisioned to an IPAM pool.

                                                          ", + "smithy.api#xmlName": "ipamPoolCidrSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#GetIpamResourceCidrs": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamResourceCidrsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamResourceCidrsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Get information about the resources in a scope.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamResourceCidrs", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamResourceCidrsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters for the request. For more information about filtering, see Filtering CLI output.

                                                          ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return in the request.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the scope that the resource is in.

                                                          ", + "smithy.api#required": {} + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool that the resource is in.

                                                          " + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the resource.

                                                          " + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", + "traits": { + "smithy.api#documentation": "

                                                          The resource type.

                                                          " + } + }, + "ResourceTag": { + "target": "com.amazonaws.ec2#RequestIpamResourceTag" + }, + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Amazon Web Services account that owns the resource.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#GetIpamResourceCidrsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamResourceCidrs": { + "target": "com.amazonaws.ec2#IpamResourceCidrSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceCidrSet", + "smithy.api#documentation": "

                                                          The resource CIDRs.

                                                          ", + "smithy.api#xmlName": "ipamResourceCidrSet" + } + } + } + }, "com.amazonaws.ec2#GetLaunchTemplateData": { "type": "operation", "input": { @@ -35526,6 +37550,128 @@ } } }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Gets the findings for the specified Network Access Scope analysis.

                                                          " + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope analysis.

                                                          ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          The token for the next page of results.

                                                          " + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope analysis.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" + } + }, + "AnalysisStatus": { + "target": "com.amazonaws.ec2#AnalysisStatus", + "traits": { + "aws.protocols#ec2QueryName": "AnalysisStatus", + "smithy.api#documentation": "

                                                          The status of Network Access Scope Analysis.

                                                          ", + "smithy.api#xmlName": "analysisStatus" + } + }, + "AnalysisFindings": { + "target": "com.amazonaws.ec2#AccessScopeAnalysisFindingList", + "traits": { + "aws.protocols#ec2QueryName": "AnalysisFindingSet", + "smithy.api#documentation": "

                                                          The findings associated with Network Access Scope Analysis.

                                                          ", + "smithy.api#xmlName": "analysisFindingSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContent": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Gets the content for the specified Network Access Scope.

                                                          " + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeContent": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeContent", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeContent", + "smithy.api#documentation": "

                                                          The Network Access Scope content.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeContent" + } + } + } + }, "com.amazonaws.ec2#GetPasswordData": { "type": "operation", "input": { @@ -44649,211 +46795,103 @@ } } }, - "com.amazonaws.ec2#Ipv4PoolEc2Id": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv4PrefixList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv4PrefixListResponse": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv4PrefixSpecification": { + "com.amazonaws.ec2#Ipam": { "type": "structure", "members": { - "Ipv4Prefix": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv4Prefix", - "smithy.api#documentation": "

                                                          The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

                                                          ", - "smithy.api#xmlName": "ipv4Prefix" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

                                                          The Amazon Web Services account ID of the owner of the IPAM.

                                                          ", + "smithy.api#xmlName": "ownerId" } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Describes an IPv4 prefix.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest": { - "type": "structure", - "members": { - "Ipv4Prefix": { - "target": "com.amazonaws.ec2#String", + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", "traits": { - "smithy.api#documentation": "

                                                          The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

                                                          " + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

                                                          The ID of the IPAM.

                                                          ", + "smithy.api#xmlName": "ipamId" } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Describes the IPv4 prefix option for a network interface.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse": { - "type": "structure", - "members": { - "Ipv4Prefix": { - "target": "com.amazonaws.ec2#String", + }, + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "Ipv4Prefix", - "smithy.api#documentation": "

                                                          One or more IPv4 delegated prefixes assigned to the network interface.

                                                          ", - "smithy.api#xmlName": "ipv4Prefix" + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

                                                          The ARN of the IPAM.

                                                          ", + "smithy.api#xmlName": "ipamArn" } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Information about the IPv4 delegated prefixes assigned \n to a network interface.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv4PrefixesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PrefixSpecification", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6Address": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv6AddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6CidrAssociation": { - "type": "structure", - "members": { - "Ipv6Cidr": { + }, + "IpamRegion": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Cidr", - "smithy.api#documentation": "

                                                          The IPv6 CIDR block.

                                                          ", - "smithy.api#xmlName": "ipv6Cidr" + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

                                                          The Amazon Web Services Region of the IPAM.

                                                          ", + "smithy.api#xmlName": "ipamRegion" } }, - "AssociatedResource": { - "target": "com.amazonaws.ec2#String", + "PublicDefaultScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "AssociatedResource", - "smithy.api#documentation": "

                                                          The resource that's associated with the IPv6 CIDR block.

                                                          ", - "smithy.api#xmlName": "associatedResource" + "aws.protocols#ec2QueryName": "PublicDefaultScopeId", + "smithy.api#documentation": "

                                                          The ID of the IPAM's default public scope.

                                                          ", + "smithy.api#xmlName": "publicDefaultScopeId" } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Describes an IPv6 CIDR block association.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv6CidrAssociationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6CidrAssociation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6CidrBlock": { - "type": "structure", - "members": { - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", + }, + "PrivateDefaultScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#documentation": "

                                                          The IPv6 CIDR block.

                                                          ", - "smithy.api#xmlName": "ipv6CidrBlock" + "aws.protocols#ec2QueryName": "PrivateDefaultScopeId", + "smithy.api#documentation": "

                                                          The ID of the IPAM's default private scope.

                                                          ", + "smithy.api#xmlName": "privateDefaultScopeId" } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Describes an IPv6 CIDR block.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv6CidrBlockSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6CidrBlock", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6Flag": { - "type": "boolean", - "traits": { - "smithy.api#box": {} - } - }, - "com.amazonaws.ec2#Ipv6Pool": { - "type": "structure", - "members": { - "PoolId": { - "target": "com.amazonaws.ec2#String", + }, + "ScopeCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

                                                          The ID of the address pool.

                                                          ", - "smithy.api#xmlName": "poolId" + "aws.protocols#ec2QueryName": "ScopeCount", + "smithy.api#documentation": "

                                                          The number of scopes in the IPAM. The scope quota is 5. For more information on quotas, see Quotas in IPAM in the Amazon VPC IPAM User Guide.\n

                                                          ", + "smithy.api#xmlName": "scopeCount" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

                                                          The description for the address pool.

                                                          ", + "smithy.api#documentation": "

                                                          The description for the IPAM.

                                                          ", "smithy.api#xmlName": "description" } }, - "PoolCidrBlocks": { - "target": "com.amazonaws.ec2#PoolCidrBlocksSet", + "OperatingRegions": { + "target": "com.amazonaws.ec2#IpamOperatingRegionSet", "traits": { - "aws.protocols#ec2QueryName": "PoolCidrBlockSet", - "smithy.api#documentation": "

                                                          The CIDR blocks for the address pool.

                                                          ", - "smithy.api#xmlName": "poolCidrBlockSet" + "aws.protocols#ec2QueryName": "OperatingRegionSet", + "smithy.api#documentation": "

                                                          The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                          \n

                                                          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "operatingRegionSet" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

                                                          The state of the IPAM.

                                                          ", + "smithy.api#xmlName": "state" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

                                                          Any tags for the address pool.

                                                          ", + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

                                                          Describes an IPv6 address pool.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv6PoolEc2Id": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv6PoolIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

                                                          IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

                                                          " } }, - "com.amazonaws.ec2#Ipv6PoolMaxResults": { + "com.amazonaws.ec2#IpamAddressHistoryMaxResults": { "type": "integer", "traits": { "smithy.api#range": { @@ -44862,200 +46900,1560 @@ } } }, - "com.amazonaws.ec2#Ipv6PoolSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6Pool", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#IpamAddressHistoryRecord": { + "type": "structure", + "members": { + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

                                                          The ID of the resource owner.

                                                          ", + "smithy.api#xmlName": "resourceOwnerId" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

                                                          The Amazon Web Services Region of the resource.

                                                          ", + "smithy.api#xmlName": "resourceRegion" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamAddressHistoryResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

                                                          The type of the resource.

                                                          ", + "smithy.api#xmlName": "resourceType" + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

                                                          The ID of the resource.

                                                          ", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceCidr", + "smithy.api#documentation": "

                                                          The CIDR of the resource.

                                                          ", + "smithy.api#xmlName": "resourceCidr" + } + }, + "ResourceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceName", + "smithy.api#documentation": "

                                                          The name of the resource.

                                                          ", + "smithy.api#xmlName": "resourceName" + } + }, + "ResourceComplianceStatus": { + "target": "com.amazonaws.ec2#IpamComplianceStatus", + "traits": { + "aws.protocols#ec2QueryName": "ResourceComplianceStatus", + "smithy.api#documentation": "

                                                          The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "resourceComplianceStatus" + } + }, + "ResourceOverlapStatus": { + "target": "com.amazonaws.ec2#IpamOverlapStatus", + "traits": { + "aws.protocols#ec2QueryName": "ResourceOverlapStatus", + "smithy.api#documentation": "

                                                          The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "resourceOverlapStatus" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

                                                          The VPC ID of the resource.

                                                          ", + "smithy.api#xmlName": "vpcId" + } + }, + "SampledStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "SampledStartTime", + "smithy.api#documentation": "

                                                          Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

                                                          ", + "smithy.api#xmlName": "sampledStartTime" + } + }, + "SampledEndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "SampledEndTime", + "smithy.api#documentation": "

                                                          Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

                                                          ", + "smithy.api#xmlName": "sampledEndTime" + } } + }, + "traits": { + "smithy.api#documentation": "

                                                          The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.\n

                                                          " } }, - "com.amazonaws.ec2#Ipv6PrefixList": { + "com.amazonaws.ec2#IpamAddressHistoryRecordSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest", + "target": "com.amazonaws.ec2#IpamAddressHistoryRecord", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Ipv6PrefixListResponse": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#IpamAddressHistoryResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "eip", + "name": "eip" + }, + { + "value": "vpc", + "name": "vpc" + }, + { + "value": "subnet", + "name": "subnet" + }, + { + "value": "network-interface", + "name": "network_interface" + }, + { + "value": "instance", + "name": "instance" + } + ] } }, - "com.amazonaws.ec2#Ipv6PrefixSpecification": { + "com.amazonaws.ec2#IpamCidrAuthorizationContext": { "type": "structure", "members": { - "Ipv6Prefix": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Prefix", - "smithy.api#documentation": "

                                                          The IPv6 prefix.

                                                          ", - "smithy.api#xmlName": "ipv6Prefix" + "smithy.api#documentation": "

                                                          The plain-text authorization message for the prefix and account.

                                                          " } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Describes the IPv6 prefix.

                                                          " - } - }, - "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest": { - "type": "structure", - "members": { - "Ipv6Prefix": { + }, + "Signature": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

                                                          The IPv6 prefix.

                                                          " + "smithy.api#documentation": "

                                                          The signed authorization message for the prefix and account.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          Describes the IPv4 prefix option for a network interface.

                                                          " + "smithy.api#documentation": "

                                                          A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

                                                          " } }, - "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse": { - "type": "structure", - "members": { - "Ipv6Prefix": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Ipv6Prefix", - "smithy.api#documentation": "

                                                          One or more IPv6 delegated prefixes assigned to the network interface.

                                                          ", - "smithy.api#xmlName": "ipv6Prefix" + "com.amazonaws.ec2#IpamComplianceStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "compliant", + "name": "compliant" + }, + { + "value": "noncompliant", + "name": "noncompliant" + }, + { + "value": "unmanaged", + "name": "unmanaged" + }, + { + "value": "ignored", + "name": "ignored" } - } - }, + ] + } + }, + "com.amazonaws.ec2#IpamId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamManagementState": { + "type": "string", "traits": { - "smithy.api#documentation": "

                                                          Information about the IPv6 delegated prefixes assigned \n to a network interface.

                                                          " + "smithy.api#enum": [ + { + "value": "managed", + "name": "managed" + }, + { + "value": "unmanaged", + "name": "unmanaged" + }, + { + "value": "ignored", + "name": "ignored" + } + ] } }, - "com.amazonaws.ec2#Ipv6PrefixesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PrefixSpecification", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#IpamMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 } } }, - "com.amazonaws.ec2#Ipv6Range": { + "com.amazonaws.ec2#IpamNetmaskLength": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 128 + } + } + }, + "com.amazonaws.ec2#IpamOperatingRegion": { "type": "structure", "members": { - "CidrIpv6": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CidrIpv6", - "smithy.api#documentation": "

                                                          The IPv6 CIDR range. You can either specify a CIDR range or a source security group,\n not both. To specify a single IPv6 address, use the /128 prefix length.

                                                          ", - "smithy.api#xmlName": "cidrIpv6" - } - }, - "Description": { + "RegionName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

                                                          A description for the security group rule that references this IPv6 address range.

                                                          \n

                                                          Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=&;{}!$*

                                                          ", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "RegionName", + "smithy.api#documentation": "

                                                          The name of the operating Region.

                                                          ", + "smithy.api#xmlName": "regionName" } } }, "traits": { - "smithy.api#documentation": "

                                                          [EC2-VPC only] Describes an IPv6 range.

                                                          " + "smithy.api#documentation": "

                                                          The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                          \n

                                                          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

                                                          " } }, - "com.amazonaws.ec2#Ipv6RangeList": { + "com.amazonaws.ec2#IpamOperatingRegionSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Ipv6Range", + "target": "com.amazonaws.ec2#IpamOperatingRegion", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Ipv6SupportValue": { + "com.amazonaws.ec2#IpamOverlapStatus": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "enable", - "name": "enable" + "value": "overlapping", + "name": "overlapping" }, { - "value": "disable", - "name": "disable" + "value": "nonoverlapping", + "name": "nonoverlapping" + }, + { + "value": "ignored", + "name": "ignored" } ] } }, - "com.amazonaws.ec2#KernelId": { - "type": "string" - }, - "com.amazonaws.ec2#KeyNameStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#KeyPairName", - "traits": { - "smithy.api#xmlName": "KeyName" - } - } - }, - "com.amazonaws.ec2#KeyPair": { + "com.amazonaws.ec2#IpamPool": { "type": "structure", "members": { - "KeyFingerprint": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyFingerprint", - "smithy.api#documentation": "

                                                          The SHA-1 digest of the DER encoded private key.

                                                          ", - "smithy.api#xmlName": "keyFingerprint" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

                                                          The Amazon Web Services account ID of the owner of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "ownerId" } }, - "KeyMaterial": { - "target": "com.amazonaws.ec2#SensitiveUserData", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "KeyMaterial", - "smithy.api#documentation": "

                                                          An unencrypted PEM encoded RSA or ED25519 private key.

                                                          ", - "smithy.api#xmlName": "keyMaterial" + "aws.protocols#ec2QueryName": "IpamPoolId", + "smithy.api#documentation": "

                                                          The ID of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "ipamPoolId" } }, - "KeyName": { - "target": "com.amazonaws.ec2#String", + "SourceIpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

                                                          The name of the key pair.

                                                          ", - "smithy.api#xmlName": "keyName" + "aws.protocols#ec2QueryName": "SourceIpamPoolId", + "smithy.api#documentation": "

                                                          The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.

                                                          ", + "smithy.api#xmlName": "sourceIpamPoolId" } }, - "KeyPairId": { - "target": "com.amazonaws.ec2#String", + "IpamPoolArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "KeyPairId", - "smithy.api#documentation": "

                                                          The ID of the key pair.

                                                          ", - "smithy.api#xmlName": "keyPairId" + "aws.protocols#ec2QueryName": "IpamPoolArn", + "smithy.api#documentation": "

                                                          The ARN of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "ipamPoolArn" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "IpamScopeArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

                                                          Any tags applied to the key pair.

                                                          ", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "IpamScopeArn", + "smithy.api#documentation": "

                                                          The ARN of the scope of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "ipamScopeArn" } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Describes a key pair.

                                                          " - } - }, - "com.amazonaws.ec2#KeyPairId": { - "type": "string" - }, - "com.amazonaws.ec2#KeyPairIdStringList": { + }, + "IpamScopeType": { + "target": "com.amazonaws.ec2#IpamScopeType", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeType", + "smithy.api#documentation": "

                                                          In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

                                                          ", + "smithy.api#xmlName": "ipamScopeType" + } + }, + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

                                                          The ARN of the IPAM.

                                                          ", + "smithy.api#xmlName": "ipamArn" + } + }, + "IpamRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

                                                          The Amazon Web Services Region of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "ipamRegion" + } + }, + "Locale": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Locale", + "smithy.api#documentation": "

                                                          The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

                                                          ", + "smithy.api#xmlName": "locale" + } + }, + "PoolDepth": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "PoolDepth", + "smithy.api#documentation": "

                                                          The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.\n

                                                          ", + "smithy.api#xmlName": "poolDepth" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamPoolState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

                                                          The state of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "state" + } + }, + "StateMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateMessage", + "smithy.api#documentation": "

                                                          A message related to the failed creation of an IPAM pool.

                                                          ", + "smithy.api#xmlName": "stateMessage" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

                                                          The description of the IPAM pool.

                                                          ", + "smithy.api#xmlName": "description" + } + }, + "AutoImport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AutoImport", + "smithy.api#documentation": "

                                                          If selected, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

                                                          \n

                                                          A locale must be set on the pool for this feature to work.

                                                          ", + "smithy.api#xmlName": "autoImport" + } + }, + "PubliclyAdvertisable": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "PubliclyAdvertisable", + "smithy.api#documentation": "

                                                          Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

                                                          ", + "smithy.api#xmlName": "publiclyAdvertisable" + } + }, + "AddressFamily": { + "target": "com.amazonaws.ec2#AddressFamily", + "traits": { + "aws.protocols#ec2QueryName": "AddressFamily", + "smithy.api#documentation": "

                                                          The address family of the pool.

                                                          ", + "smithy.api#xmlName": "addressFamily" + } + }, + "AllocationMinNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "aws.protocols#ec2QueryName": "AllocationMinNetmaskLength", + "smithy.api#documentation": "

                                                          The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

                                                          ", + "smithy.api#xmlName": "allocationMinNetmaskLength" + } + }, + "AllocationMaxNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "aws.protocols#ec2QueryName": "AllocationMaxNetmaskLength", + "smithy.api#documentation": "

                                                          The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

                                                          ", + "smithy.api#xmlName": "allocationMaxNetmaskLength" + } + }, + "AllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "aws.protocols#ec2QueryName": "AllocationDefaultNetmaskLength", + "smithy.api#documentation": "

                                                          The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and \n you enter 16 here, new allocations will default to 10.0.0.0/16.

                                                          ", + "smithy.api#xmlName": "allocationDefaultNetmaskLength" + } + }, + "AllocationResourceTags": { + "target": "com.amazonaws.ec2#IpamResourceTagList", + "traits": { + "aws.protocols#ec2QueryName": "AllocationResourceTagSet", + "smithy.api#documentation": "

                                                          Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

                                                          ", + "smithy.api#xmlName": "allocationResourceTagSet" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", + "smithy.api#xmlName": "tagSet" + } + }, + "AwsService": { + "target": "com.amazonaws.ec2#IpamPoolAwsService", + "traits": { + "aws.protocols#ec2QueryName": "AwsService", + "smithy.api#documentation": "

                                                          Limits which service in Amazon Web Services that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.

                                                          ", + "smithy.api#xmlName": "awsService" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

                                                          " + } + }, + "com.amazonaws.ec2#IpamPoolAllocation": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

                                                          The CIDR for the allocation. A CIDR is a representation of an IP address and its associated network mask (or netmask) and \n refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

                                                          ", + "smithy.api#xmlName": "cidr" + } + }, + "IpamPoolAllocationId": { + "target": "com.amazonaws.ec2#IpamPoolAllocationId", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolAllocationId", + "smithy.api#documentation": "

                                                          The ID of an allocation.

                                                          ", + "smithy.api#xmlName": "ipamPoolAllocationId" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

                                                          A description of the pool allocation.

                                                          ", + "smithy.api#xmlName": "description" + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

                                                          The ID of the resource.

                                                          ", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamPoolAllocationResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

                                                          The type of the resource.

                                                          ", + "smithy.api#xmlName": "resourceType" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

                                                          The Amazon Web Services Region of the resource.

                                                          ", + "smithy.api#xmlName": "resourceRegion" + } + }, + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceOwner", + "smithy.api#documentation": "

                                                          The owner of the resource.

                                                          ", + "smithy.api#xmlName": "resourceOwner" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool.

                                                          " + } + }, + "com.amazonaws.ec2#IpamPoolAllocationDisallowedCidrs": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolAllocationId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPoolAllocationResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ipam-pool", + "name": "ipam_pool" + }, + { + "value": "vpc", + "name": "vpc" + }, + { + "value": "ec2-public-ipv4-pool", + "name": "ec2_public_ipv4_pool" + }, + { + "value": "custom", + "name": "custom" + } + ] + } + }, + "com.amazonaws.ec2#IpamPoolAllocationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPoolAllocation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolAwsService": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ec2", + "name": "ec2" + } + ] + } + }, + "com.amazonaws.ec2#IpamPoolCidr": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

                                                          The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) \n and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

                                                          ", + "smithy.api#xmlName": "cidr" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamPoolCidrState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

                                                          The state of the CIDR.

                                                          ", + "smithy.api#xmlName": "state" + } + }, + "FailureReason": { + "target": "com.amazonaws.ec2#IpamPoolCidrFailureReason", + "traits": { + "aws.protocols#ec2QueryName": "FailureReason", + "smithy.api#documentation": "

                                                          Details related to why an IPAM pool CIDR failed to be provisioned.

                                                          ", + "smithy.api#xmlName": "failureReason" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A CIDR provisioned to an IPAM pool.

                                                          " + } + }, + "com.amazonaws.ec2#IpamPoolCidrFailureCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "cidr-not-available", + "name": "cidr_not_available" + } + ] + } + }, + "com.amazonaws.ec2#IpamPoolCidrFailureReason": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#IpamPoolCidrFailureCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

                                                          An error code related to why an IPAM pool CIDR failed to be provisioned.

                                                          ", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

                                                          A message related to why an IPAM pool CIDR failed to be provisioned.

                                                          ", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Details related to why an IPAM pool CIDR failed to be provisioned.

                                                          " + } + }, + "com.amazonaws.ec2#IpamPoolCidrSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPoolCidr", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolCidrState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "pending-provision", + "name": "pending_provision" + }, + { + "value": "provisioned", + "name": "provisioned" + }, + { + "value": "failed-provision", + "name": "failed_provision" + }, + { + "value": "pending-deprovision", + "name": "pending_deprovision" + }, + { + "value": "deprovisioned", + "name": "deprovisioned" + }, + { + "value": "failed-deprovision", + "name": "failed_deprovision" + }, + { + "value": "pending-import", + "name": "pending_import" + }, + { + "value": "failed-import", + "name": "failed_import" + } + ] + } + }, + "com.amazonaws.ec2#IpamPoolId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPoolSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPool", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "create-in-progress", + "name": "create_in_progress" + }, + { + "value": "create-complete", + "name": "create_complete" + }, + { + "value": "create-failed", + "name": "create_failed" + }, + { + "value": "modify-in-progress", + "name": "modify_in_progress" + }, + { + "value": "modify-complete", + "name": "modify_complete" + }, + { + "value": "modify-failed", + "name": "modify_failed" + }, + { + "value": "delete-in-progress", + "name": "delete_in_progress" + }, + { + "value": "delete-complete", + "name": "delete_complete" + }, + { + "value": "delete-failed", + "name": "delete_failed" + } + ] + } + }, + "com.amazonaws.ec2#IpamResourceCidr": { + "type": "structure", + "members": { + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

                                                          The IPAM ID for an IPAM resource.

                                                          ", + "smithy.api#xmlName": "ipamId" + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeId", + "smithy.api#documentation": "

                                                          The scope ID for an IPAM resource.

                                                          ", + "smithy.api#xmlName": "ipamScopeId" + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolId", + "smithy.api#documentation": "

                                                          The pool ID for an IPAM resource.

                                                          ", + "smithy.api#xmlName": "ipamPoolId" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

                                                          The Amazon Web Services Region for an IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceRegion" + } + }, + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

                                                          The Amazon Web Services account number of the owner of an IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceOwnerId" + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

                                                          The ID of an IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceName", + "smithy.api#documentation": "

                                                          The name of an IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceName" + } + }, + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceCidr", + "smithy.api#documentation": "

                                                          The CIDR for an IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceCidr" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

                                                          The type of IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceType" + } + }, + "ResourceTags": { + "target": "com.amazonaws.ec2#IpamResourceTagList", + "traits": { + "aws.protocols#ec2QueryName": "ResourceTagSet", + "smithy.api#documentation": "

                                                          The tags for an IPAM resource.

                                                          ", + "smithy.api#xmlName": "resourceTagSet" + } + }, + "IpUsage": { + "target": "com.amazonaws.ec2#BoxedDouble", + "traits": { + "aws.protocols#ec2QueryName": "IpUsage", + "smithy.api#documentation": "

                                                          The IP address space in the IPAM pool that is allocated to this resource. To convert the decimal to a percentage, multiply the decimal by 100.

                                                          ", + "smithy.api#xmlName": "ipUsage" + } + }, + "ComplianceStatus": { + "target": "com.amazonaws.ec2#IpamComplianceStatus", + "traits": { + "aws.protocols#ec2QueryName": "ComplianceStatus", + "smithy.api#documentation": "

                                                          The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "complianceStatus" + } + }, + "ManagementState": { + "target": "com.amazonaws.ec2#IpamManagementState", + "traits": { + "aws.protocols#ec2QueryName": "ManagementState", + "smithy.api#documentation": "

                                                          The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "managementState" + } + }, + "OverlapStatus": { + "target": "com.amazonaws.ec2#IpamOverlapStatus", + "traits": { + "aws.protocols#ec2QueryName": "OverlapStatus", + "smithy.api#documentation": "

                                                          The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "overlapStatus" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

                                                          The ID of a VPC.

                                                          ", + "smithy.api#xmlName": "vpcId" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The CIDR for an IPAM resource.

                                                          " + } + }, + "com.amazonaws.ec2#IpamResourceCidrSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamResourceCidr", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamResourceTag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

                                                          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.

                                                          ", + "smithy.api#xmlName": "key" + } + }, + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

                                                          The value of the tag.

                                                          ", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          " + } + }, + "com.amazonaws.ec2#IpamResourceTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamResourceTag", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "vpc", + "name": "vpc" + }, + { + "value": "subnet", + "name": "subnet" + }, + { + "value": "eip", + "name": "eip" + }, + { + "value": "public-ipv4-pool", + "name": "public_ipv4_pool" + }, + { + "value": "ipv6-pool", + "name": "ipv6_pool" + } + ] + } + }, + "com.amazonaws.ec2#IpamScope": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

                                                          The Amazon Web Services account ID of the owner of the scope.

                                                          ", + "smithy.api#xmlName": "ownerId" + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeId", + "smithy.api#documentation": "

                                                          The ID of the scope.

                                                          ", + "smithy.api#xmlName": "ipamScopeId" + } + }, + "IpamScopeArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeArn", + "smithy.api#documentation": "

                                                          The ARN of the scope.

                                                          ", + "smithy.api#xmlName": "ipamScopeArn" + } + }, + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

                                                          The ARN of the IPAM.

                                                          ", + "smithy.api#xmlName": "ipamArn" + } + }, + "IpamRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

                                                          The Amazon Web Services Region of the IPAM scope.

                                                          ", + "smithy.api#xmlName": "ipamRegion" + } + }, + "IpamScopeType": { + "target": "com.amazonaws.ec2#IpamScopeType", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeType", + "smithy.api#documentation": "

                                                          The type of the scope.

                                                          ", + "smithy.api#xmlName": "ipamScopeType" + } + }, + "IsDefault": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "IsDefault", + "smithy.api#documentation": "

                                                          Defines if the scope is the default scope or not.

                                                          ", + "smithy.api#xmlName": "isDefault" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

                                                          The description of the scope.

                                                          ", + "smithy.api#xmlName": "description" + } + }, + "PoolCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "PoolCount", + "smithy.api#documentation": "

                                                          The number of pools in the scope.

                                                          ", + "smithy.api#xmlName": "poolCount" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamScopeState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

                                                          The state of the IPAM scope.

                                                          ", + "smithy.api#xmlName": "state" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

                                                          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.\n 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.

                                                          ", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

                                                          \n

                                                          For more information, see How IPAM works in the Amazon VPC IPAM User Guide\n

                                                          " + } + }, + "com.amazonaws.ec2#IpamScopeId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamScopeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamScope", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamScopeState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "create-in-progress", + "name": "create_in_progress" + }, + { + "value": "create-complete", + "name": "create_complete" + }, + { + "value": "create-failed", + "name": "create_failed" + }, + { + "value": "modify-in-progress", + "name": "modify_in_progress" + }, + { + "value": "modify-complete", + "name": "modify_complete" + }, + { + "value": "modify-failed", + "name": "modify_failed" + }, + { + "value": "delete-in-progress", + "name": "delete_in_progress" + }, + { + "value": "delete-complete", + "name": "delete_complete" + }, + { + "value": "delete-failed", + "name": "delete_failed" + } + ] + } + }, + "com.amazonaws.ec2#IpamScopeType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "public", + "name": "public" + }, + { + "value": "private", + "name": "private" + } + ] + } + }, + "com.amazonaws.ec2#IpamSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipam", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "create-in-progress", + "name": "create_in_progress" + }, + { + "value": "create-complete", + "name": "create_complete" + }, + { + "value": "create-failed", + "name": "create_failed" + }, + { + "value": "modify-in-progress", + "name": "modify_in_progress" + }, + { + "value": "modify-complete", + "name": "modify_complete" + }, + { + "value": "modify-failed", + "name": "modify_failed" + }, + { + "value": "delete-in-progress", + "name": "delete_in_progress" + }, + { + "value": "delete-complete", + "name": "delete_complete" + }, + { + "value": "delete-failed", + "name": "delete_failed" + } + ] + } + }, + "com.amazonaws.ec2#Ipv4PoolEc2Id": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv4PrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv4PrefixListResponse": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv4PrefixSpecification": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4Prefix", + "smithy.api#documentation": "

                                                          The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

                                                          ", + "smithy.api#xmlName": "ipv4Prefix" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes an IPv4 prefix.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes the IPv4 prefix option for a network interface.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4Prefix", + "smithy.api#documentation": "

                                                          One or more IPv4 delegated prefixes assigned to the network interface.

                                                          ", + "smithy.api#xmlName": "ipv4Prefix" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about the IPv4 delegated prefixes assigned \n to a network interface.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv4PrefixesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv4PrefixSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6Address": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv6AddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6CidrAssociation": { + "type": "structure", + "members": { + "Ipv6Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6Cidr", + "smithy.api#documentation": "

                                                          The IPv6 CIDR block.

                                                          ", + "smithy.api#xmlName": "ipv6Cidr" + } + }, + "AssociatedResource": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedResource", + "smithy.api#documentation": "

                                                          The resource that's associated with the IPv6 CIDR block.

                                                          ", + "smithy.api#xmlName": "associatedResource" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes an IPv6 CIDR block association.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6CidrAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6CidrAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6CidrBlock": { + "type": "structure", + "members": { + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#documentation": "

                                                          The IPv6 CIDR block.

                                                          ", + "smithy.api#xmlName": "ipv6CidrBlock" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes an IPv6 CIDR block.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6CidrBlockSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6CidrBlock", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6Flag": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.ec2#Ipv6Pool": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

                                                          The ID of the address pool.

                                                          ", + "smithy.api#xmlName": "poolId" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

                                                          The description for the address pool.

                                                          ", + "smithy.api#xmlName": "description" + } + }, + "PoolCidrBlocks": { + "target": "com.amazonaws.ec2#PoolCidrBlocksSet", + "traits": { + "aws.protocols#ec2QueryName": "PoolCidrBlockSet", + "smithy.api#documentation": "

                                                          The CIDR blocks for the address pool.

                                                          ", + "smithy.api#xmlName": "poolCidrBlockSet" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

                                                          Any tags for the address pool.

                                                          ", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes an IPv6 address pool.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6PoolEc2Id": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv6PoolIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PoolMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#Ipv6PoolSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6Pool", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PrefixListResponse": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PrefixSpecification": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6Prefix", + "smithy.api#documentation": "

                                                          The IPv6 prefix.

                                                          ", + "smithy.api#xmlName": "ipv6Prefix" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes the IPv6 prefix.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The IPv6 prefix.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes the IPv4 prefix option for a network interface.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6Prefix", + "smithy.api#documentation": "

                                                          One or more IPv6 delegated prefixes assigned to the network interface.

                                                          ", + "smithy.api#xmlName": "ipv6Prefix" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about the IPv6 delegated prefixes assigned \n to a network interface.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6PrefixesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PrefixSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6Range": { + "type": "structure", + "members": { + "CidrIpv6": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CidrIpv6", + "smithy.api#documentation": "

                                                          The IPv6 CIDR range. You can either specify a CIDR range or a source security group,\n not both. To specify a single IPv6 address, use the /128 prefix length.

                                                          ", + "smithy.api#xmlName": "cidrIpv6" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

                                                          A description for the security group rule that references this IPv6 address range.

                                                          \n

                                                          Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=&;{}!$*

                                                          ", + "smithy.api#xmlName": "description" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          [EC2-VPC only] Describes an IPv6 range.

                                                          " + } + }, + "com.amazonaws.ec2#Ipv6RangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6Range", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6SupportValue": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "enable", + "name": "enable" + }, + { + "value": "disable", + "name": "disable" + } + ] + } + }, + "com.amazonaws.ec2#KernelId": { + "type": "string" + }, + "com.amazonaws.ec2#KeyNameStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#KeyPairName", + "traits": { + "smithy.api#xmlName": "KeyName" + } + } + }, + "com.amazonaws.ec2#KeyPair": { + "type": "structure", + "members": { + "KeyFingerprint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "KeyFingerprint", + "smithy.api#documentation": "

                                                          The SHA-1 digest of the DER encoded private key.

                                                          ", + "smithy.api#xmlName": "keyFingerprint" + } + }, + "KeyMaterial": { + "target": "com.amazonaws.ec2#SensitiveUserData", + "traits": { + "aws.protocols#ec2QueryName": "KeyMaterial", + "smithy.api#documentation": "

                                                          An unencrypted PEM encoded RSA or ED25519 private key.

                                                          ", + "smithy.api#xmlName": "keyMaterial" + } + }, + "KeyName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

                                                          The name of the key pair.

                                                          ", + "smithy.api#xmlName": "keyName" + } + }, + "KeyPairId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "KeyPairId", + "smithy.api#documentation": "

                                                          The ID of the key pair.

                                                          ", + "smithy.api#xmlName": "keyPairId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

                                                          Any tags applied to the key pair.

                                                          ", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a key pair.

                                                          " + } + }, + "com.amazonaws.ec2#KeyPairId": { + "type": "string" + }, + "com.amazonaws.ec2#KeyPairIdStringList": { "type": "list", "member": { "target": "com.amazonaws.ec2#KeyPairId", @@ -49779,6 +53177,287 @@ } } }, + "com.amazonaws.ec2#ModifyIpam": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Modify the configurations of an IPAM.\n

                                                          " + } + }, + "com.amazonaws.ec2#ModifyIpamPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamPoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamPoolResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Modify the configurations of an IPAM pool.

                                                          \n

                                                          For more information, see Modify a pool in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#ModifyIpamPoolRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool you want to modify.

                                                          ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The description of the IPAM pool you want to modify.

                                                          " + } + }, + "AutoImport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          If true, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

                                                          \n

                                                          A locale must be set on the pool for this feature to work.

                                                          " + } + }, + "AllocationMinNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible \n netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask \n length must be less than the maximum netmask length.

                                                          " + } + }, + "AllocationMaxNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible \n netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask \n length must be greater than the minimum netmask length.

                                                          " + } + }, + "AllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", + "traits": { + "smithy.api#documentation": "

                                                          The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

                                                          " + } + }, + "ClearAllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Clear the default netmask length allocation rule for this pool.

                                                          " + } + }, + "AddAllocationResourceTags": { + "target": "com.amazonaws.ec2#RequestIpamResourceTagList", + "traits": { + "smithy.api#documentation": "

                                                          Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "AddAllocationResourceTag" + } + }, + "RemoveAllocationResourceTags": { + "target": "com.amazonaws.ec2#RequestIpamResourceTagList", + "traits": { + "smithy.api#documentation": "

                                                          Remove tag allocation rules from a pool.

                                                          ", + "smithy.api#xmlName": "RemoveAllocationResourceTag" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamPoolResult": { + "type": "structure", + "members": { + "IpamPool": { + "target": "com.amazonaws.ec2#IpamPool", + "traits": { + "aws.protocols#ec2QueryName": "IpamPool", + "smithy.api#documentation": "

                                                          The results of the modification.

                                                          ", + "smithy.api#xmlName": "ipamPool" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM you want to modify.

                                                          ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The description of the IPAM you want to modify.

                                                          " + } + }, + "AddOperatingRegions": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", + "traits": { + "smithy.api#documentation": "

                                                          Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                          \n

                                                          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

                                                          ", + "smithy.api#xmlName": "AddOperatingRegion" + } + }, + "RemoveOperatingRegions": { + "target": "com.amazonaws.ec2#RemoveIpamOperatingRegionSet", + "traits": { + "smithy.api#documentation": "

                                                          The operating Regions to remove.

                                                          ", + "smithy.api#xmlName": "RemoveOperatingRegion" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamResourceCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamResourceCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamResourceCidrResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.

                                                          \n

                                                          For more information, see Move resource CIDRs between scopes and Change the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide.

                                                          " + } + }, + "com.amazonaws.ec2#ModifyIpamResourceCidrRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the resource you want to modify.

                                                          ", + "smithy.api#required": {} + } + }, + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR of the resource you want to modify.

                                                          ", + "smithy.api#required": {} + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services Region of the resource you want to modify.

                                                          ", + "smithy.api#required": {} + } + }, + "CurrentIpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the current scope that the resource CIDR is in.

                                                          ", + "smithy.api#required": {} + } + }, + "DestinationIpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the scope you want to transfer the resource CIDR to.

                                                          " + } + }, + "Monitored": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamResourceCidrResult": { + "type": "structure", + "members": { + "IpamResourceCidr": { + "target": "com.amazonaws.ec2#IpamResourceCidr", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceCidr", + "smithy.api#xmlName": "ipamResourceCidr" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamResult": { + "type": "structure", + "members": { + "Ipam": { + "target": "com.amazonaws.ec2#Ipam", + "traits": { + "aws.protocols#ec2QueryName": "Ipam", + "smithy.api#documentation": "

                                                          The results of the modification.

                                                          ", + "smithy.api#xmlName": "ipam" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamScopeResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Modify an IPAM scope.

                                                          " + } + }, + "com.amazonaws.ec2#ModifyIpamScopeRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the scope you want to modify.

                                                          ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The description of the scope you want to modify.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamScopeResult": { + "type": "structure", + "members": { + "IpamScope": { + "target": "com.amazonaws.ec2#IpamScope", + "traits": { + "aws.protocols#ec2QueryName": "IpamScope", + "smithy.api#documentation": "

                                                          The results of the modification.

                                                          ", + "smithy.api#xmlName": "ipamScope" + } + } + } + }, "com.amazonaws.ec2#ModifyLaunchTemplate": { "type": "operation", "input": { @@ -51999,6 +55678,59 @@ } } }, + "com.amazonaws.ec2#MoveByoipCidrToIpam": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#MoveByoipCidrToIpamRequest" + }, + "output": { + "target": "com.amazonaws.ec2#MoveByoipCidrToIpamResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool.

                                                          " + } + }, + "com.amazonaws.ec2#MoveByoipCidrToIpamRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The BYOIP CIDR.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The IPAM pool ID.

                                                          " + } + }, + "IpamPoolOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services account ID of the owner of the IPAM pool.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#MoveByoipCidrToIpamResult": { + "type": "structure", + "members": { + "ByoipCidr": { + "target": "com.amazonaws.ec2#ByoipCidr", + "traits": { + "aws.protocols#ec2QueryName": "ByoipCidr", + "smithy.api#xmlName": "byoipCidr" + } + } + } + }, "com.amazonaws.ec2#MoveStatus": { "type": "string", "traits": { @@ -52263,6 +55995,12 @@ ] } }, + "com.amazonaws.ec2#NetmaskLength": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.ec2#NetworkAcl": { "type": "structure", "members": { @@ -52624,6 +56362,224 @@ "smithy.api#documentation": "

                                                          Describes the networking features of the instance type.

                                                          " } }, + "com.amazonaws.ec2#NetworkInsightsAccessScope": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeId" + } + }, + "NetworkInsightsAccessScopeArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeArn", + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeArn" + } + }, + "CreatedDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreatedDate", + "smithy.api#documentation": "

                                                          The creation date.

                                                          ", + "smithy.api#xmlName": "createdDate" + } + }, + "UpdatedDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "UpdatedDate", + "smithy.api#documentation": "

                                                          The last updated date.

                                                          ", + "smithy.api#xmlName": "updatedDate" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

                                                          The tags.

                                                          ", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a Network Access Scope.

                                                          " + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope analysis.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" + } + }, + "NetworkInsightsAccessScopeAnalysisArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisArn", + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the Network Access Scope analysis.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisArn" + } + }, + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeId" + } + }, + "Status": { + "target": "com.amazonaws.ec2#AnalysisStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

                                                          The status.

                                                          ", + "smithy.api#xmlName": "status" + } + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

                                                          The status message.

                                                          ", + "smithy.api#xmlName": "statusMessage" + } + }, + "WarningMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "WarningMessage", + "smithy.api#documentation": "

                                                          The warning message.

                                                          ", + "smithy.api#xmlName": "warningMessage" + } + }, + "StartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartDate", + "smithy.api#documentation": "

                                                          The analysis start date.

                                                          ", + "smithy.api#xmlName": "startDate" + } + }, + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "

                                                          The analysis end date.

                                                          ", + "smithy.api#xmlName": "endDate" + } + }, + "FindingsFound": { + "target": "com.amazonaws.ec2#FindingsFound", + "traits": { + "aws.protocols#ec2QueryName": "FindingsFound", + "smithy.api#documentation": "

                                                          Indicates whether there are findings.

                                                          ", + "smithy.api#xmlName": "findingsFound" + } + }, + "AnalyzedEniCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "AnalyzedEniCount", + "smithy.api#documentation": "

                                                          The number of network interfaces analyzed.

                                                          ", + "smithy.api#xmlName": "analyzedEniCount" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

                                                          The tags.

                                                          ", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a Network Access Scope analysis.

                                                          " + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeContent": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeId" + } + }, + "MatchPaths": { + "target": "com.amazonaws.ec2#AccessScopePathList", + "traits": { + "aws.protocols#ec2QueryName": "MatchPathSet", + "smithy.api#documentation": "

                                                          The paths to match.

                                                          ", + "smithy.api#xmlName": "matchPathSet" + } + }, + "ExcludePaths": { + "target": "com.amazonaws.ec2#AccessScopePathList", + "traits": { + "aws.protocols#ec2QueryName": "ExcludePathSet", + "smithy.api#documentation": "

                                                          The paths to exclude.

                                                          ", + "smithy.api#xmlName": "excludePathSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes the Network Access Scope content.

                                                          " + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScope", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#NetworkInsightsAnalysis": { "type": "structure", "members": { @@ -52683,6 +56639,14 @@ "smithy.api#xmlName": "statusMessage" } }, + "WarningMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "WarningMessage", + "smithy.api#documentation": "

                                                          The warning message.

                                                          ", + "smithy.api#xmlName": "warningMessage" + } + }, "NetworkPathFound": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -53874,6 +57838,127 @@ } } }, + "com.amazonaws.ec2#PacketHeaderStatement": { + "type": "structure", + "members": { + "SourceAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "SourceAddressSet", + "smithy.api#documentation": "

                                                          The source addresses.

                                                          ", + "smithy.api#xmlName": "sourceAddressSet" + } + }, + "DestinationAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "DestinationAddressSet", + "smithy.api#documentation": "

                                                          The destination addresses.

                                                          ", + "smithy.api#xmlName": "destinationAddressSet" + } + }, + "SourcePorts": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "SourcePortSet", + "smithy.api#documentation": "

                                                          The source ports.

                                                          ", + "smithy.api#xmlName": "sourcePortSet" + } + }, + "DestinationPorts": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "DestinationPortSet", + "smithy.api#documentation": "

                                                          The destination ports.

                                                          ", + "smithy.api#xmlName": "destinationPortSet" + } + }, + "SourcePrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "SourcePrefixListSet", + "smithy.api#documentation": "

                                                          The source prefix lists.

                                                          ", + "smithy.api#xmlName": "sourcePrefixListSet" + } + }, + "DestinationPrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "DestinationPrefixListSet", + "smithy.api#documentation": "

                                                          The destination prefix lists.

                                                          ", + "smithy.api#xmlName": "destinationPrefixListSet" + } + }, + "Protocols": { + "target": "com.amazonaws.ec2#ProtocolList", + "traits": { + "aws.protocols#ec2QueryName": "ProtocolSet", + "smithy.api#documentation": "

                                                          The protocols.

                                                          ", + "smithy.api#xmlName": "protocolSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a packet header statement.

                                                          " + } + }, + "com.amazonaws.ec2#PacketHeaderStatementRequest": { + "type": "structure", + "members": { + "SourceAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The source addresses.

                                                          ", + "smithy.api#xmlName": "SourceAddress" + } + }, + "DestinationAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The destination addresses.

                                                          ", + "smithy.api#xmlName": "DestinationAddress" + } + }, + "SourcePorts": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The source ports.

                                                          ", + "smithy.api#xmlName": "SourcePort" + } + }, + "DestinationPorts": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The destination ports.

                                                          ", + "smithy.api#xmlName": "DestinationPort" + } + }, + "SourcePrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The source prefix lists.

                                                          ", + "smithy.api#xmlName": "SourcePrefixList" + } + }, + "DestinationPrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The destination prefix lists.

                                                          ", + "smithy.api#xmlName": "DestinationPrefixList" + } + }, + "Protocols": { + "target": "com.amazonaws.ec2#ProtocolList", + "traits": { + "smithy.api#documentation": "

                                                          The protocols.

                                                          ", + "smithy.api#xmlName": "Protocol" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a packet header statement.

                                                          " + } + }, "com.amazonaws.ec2#PartitionLoadFrequency": { "type": "string", "traits": { @@ -53916,6 +58001,14 @@ "smithy.api#xmlName": "aclRule" } }, + "AttachedTo": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "aws.protocols#ec2QueryName": "AttachedTo", + "smithy.api#documentation": "

                                                          The resource to which the path component is attached.

                                                          ", + "smithy.api#xmlName": "attachedTo" + } + }, "Component": { "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { @@ -54002,6 +58095,50 @@ } } }, + "com.amazonaws.ec2#PathStatement": { + "type": "structure", + "members": { + "PacketHeaderStatement": { + "target": "com.amazonaws.ec2#PacketHeaderStatement", + "traits": { + "aws.protocols#ec2QueryName": "PacketHeaderStatement", + "smithy.api#documentation": "

                                                          The packet header statement.

                                                          ", + "smithy.api#xmlName": "packetHeaderStatement" + } + }, + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatement", + "traits": { + "aws.protocols#ec2QueryName": "ResourceStatement", + "smithy.api#documentation": "

                                                          The resource statement.

                                                          ", + "smithy.api#xmlName": "resourceStatement" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a path statement.

                                                          " + } + }, + "com.amazonaws.ec2#PathStatementRequest": { + "type": "structure", + "members": { + "PacketHeaderStatement": { + "target": "com.amazonaws.ec2#PacketHeaderStatementRequest", + "traits": { + "smithy.api#documentation": "

                                                          The packet header statement.

                                                          " + } + }, + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatementRequest", + "traits": { + "smithy.api#documentation": "

                                                          The resource statement.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a path statement.

                                                          " + } + }, "com.amazonaws.ec2#PaymentOption": { "type": "string", "traits": { @@ -55564,6 +59701,15 @@ ] } }, + "com.amazonaws.ec2#ProtocolList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Protocol", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#ProtocolValue": { "type": "string", "traits": { @@ -55649,6 +59795,125 @@ } } }, + "com.amazonaws.ec2#ProvisionIpamPoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ProvisionIpamPoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ProvisionIpamPoolCidrResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Provision a CIDR to an IPAM pool. You can use thsi action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

                                                          \n

                                                          For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#ProvisionIpamPoolCidrRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool to which you want to assign a CIDR.

                                                          ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR you want to assign to the IPAM pool.

                                                          " + } + }, + "CidrAuthorizationContext": { + "target": "com.amazonaws.ec2#IpamCidrAuthorizationContext", + "traits": { + "smithy.api#documentation": "

                                                          A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#ProvisionIpamPoolCidrResult": { + "type": "structure", + "members": { + "IpamPoolCidr": { + "target": "com.amazonaws.ec2#IpamPoolCidr", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolCidr", + "smithy.api#documentation": "

                                                          Information about the provisioned CIDR.

                                                          ", + "smithy.api#xmlName": "ipamPoolCidr" + } + } + } + }, + "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Provision a CIDR to a public IPv4 pool.

                                                          \n

                                                          For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool you would like to use to allocate this CIDR.

                                                          ", + "smithy.api#required": {} + } + }, + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the public IPv4 pool you would like to use for this CIDR.

                                                          ", + "smithy.api#required": {} + } + }, + "NetmaskLength": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrResult": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "traits": { + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

                                                          The ID of the pool that you want to provision the CIDR to.

                                                          ", + "smithy.api#xmlName": "poolId" + } + }, + "PoolAddressRange": { + "target": "com.amazonaws.ec2#PublicIpv4PoolRange", + "traits": { + "aws.protocols#ec2QueryName": "PoolAddressRange", + "smithy.api#xmlName": "poolAddressRange" + } + } + } + }, "com.amazonaws.ec2#ProvisionedBandwidth": { "type": "structure", "members": { @@ -57081,6 +61346,88 @@ } } }, + "com.amazonaws.ec2#ReleaseIpamPoolAllocation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Release an allocation within an IPAM pool. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.\n

                                                          " + } + }, + "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the IPAM pool which contains the allocation you want to release.

                                                          ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The CIDR of the allocation you want to release.

                                                          ", + "smithy.api#required": {} + } + }, + "IpamPoolAllocationId": { + "target": "com.amazonaws.ec2#IpamPoolAllocationId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the allocation.

                                                          " + } + } + } + }, + "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult": { + "type": "structure", + "members": { + "Success": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Success", + "smithy.api#documentation": "

                                                          Indicates if the release was successful.

                                                          ", + "smithy.api#xmlName": "success" + } + } + } + }, + "com.amazonaws.ec2#RemoveIpamOperatingRegion": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The name of the operating Region you want to remove.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

                                                          \n

                                                          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide\n

                                                          " + } + }, + "com.amazonaws.ec2#RemoveIpamOperatingRegionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RemoveIpamOperatingRegion" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.ec2#RemovePrefixListEntries": { "type": "list", "member": { @@ -57853,6 +62200,35 @@ } } }, + "com.amazonaws.ec2#RequestIpamResourceTag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          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.

                                                          " + } + }, + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          The value for the tag.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A tag on an IPAM resource.

                                                          " + } + }, + "com.amazonaws.ec2#RequestIpamResourceTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RequestIpamResourceTag", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#RequestLaunchTemplateData": { "type": "structure", "members": { @@ -59620,6 +63996,52 @@ } } }, + "com.amazonaws.ec2#ResourceStatement": { + "type": "structure", + "members": { + "Resources": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "ResourceSet", + "smithy.api#documentation": "

                                                          The resources.

                                                          ", + "smithy.api#xmlName": "resourceSet" + } + }, + "ResourceTypes": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "ResourceTypeSet", + "smithy.api#documentation": "

                                                          The resource types.

                                                          ", + "smithy.api#xmlName": "resourceTypeSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a resource statement.

                                                          " + } + }, + "com.amazonaws.ec2#ResourceStatementRequest": { + "type": "structure", + "members": { + "Resources": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The resources.

                                                          ", + "smithy.api#xmlName": "Resource" + } + }, + "ResourceTypes": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

                                                          The resource types.

                                                          ", + "smithy.api#xmlName": "ResourceType" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a resource statement.

                                                          " + } + }, "com.amazonaws.ec2#ResourceType": { "type": "string", "traits": { @@ -59704,6 +64126,18 @@ "value": "internet-gateway", "name": "internet_gateway" }, + { + "value": "ipam", + "name": "ipam" + }, + { + "value": "ipam-pool", + "name": "ipam_pool" + }, + { + "value": "ipam-scope", + "name": "ipam_scope" + }, { "value": "ipv4pool-ec2", "name": "ipv4pool_ec2" @@ -59764,6 +64198,14 @@ "value": "network-insights-path", "name": "network_insights_path" }, + { + "value": "network-insights-access-scope", + "name": "network_insights_access_scope" + }, + { + "value": "network-insights-access-scope-analysis", + "name": "network_insights_access_scope_analysis" + }, { "value": "placement-group", "name": "placement_group" @@ -65525,6 +69967,64 @@ } } }, + "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisResult" + }, + "traits": { + "smithy.api#documentation": "

                                                          Starts analyzing the specified Network Access Scope.

                                                          " + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "smithy.api#documentation": "

                                                          The ID of the Network Access Scope.

                                                          ", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                          " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

                                                          The tags to apply.

                                                          ", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

                                                          ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysis": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysis", + "smithy.api#documentation": "

                                                          The Network Access Scope analysis.

                                                          ", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysis" + } + } + } + }, "com.amazonaws.ec2#StartNetworkInsightsAnalysis": { "type": "operation", "input": { @@ -67111,6 +71611,54 @@ } } }, + "com.amazonaws.ec2#ThroughResourcesStatement": { + "type": "structure", + "members": { + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatement", + "traits": { + "aws.protocols#ec2QueryName": "ResourceStatement", + "smithy.api#documentation": "

                                                          The resource statement.

                                                          ", + "smithy.api#xmlName": "resourceStatement" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a through resource statement.

                                                          " + } + }, + "com.amazonaws.ec2#ThroughResourcesStatementList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ThroughResourcesStatement", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ThroughResourcesStatementRequest": { + "type": "structure", + "members": { + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatementRequest", + "traits": { + "smithy.api#documentation": "

                                                          The resource statement.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Describes a through resource statement.

                                                          " + } + }, + "com.amazonaws.ec2#ThroughResourcesStatementRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ThroughResourcesStatementRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#TieringOperationStatus": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/kendra.json b/codegen/sdk-codegen/aws-models/kendra.json index 46233b5e3473..1651a0bde159 100644 --- a/codegen/sdk-codegen/aws-models/kendra.json +++ b/codegen/sdk-codegen/aws-models/kendra.json @@ -31,8 +31,29 @@ "shapes": { "com.amazonaws.kendra#AWSKendraFrontendService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "kendra", + "arnNamespace": "kendra", + "cloudFormationName": "Kendra", + "cloudTrailEventSource": "kendra.amazonaws.com", + "endpointPrefix": "kendra" + }, + "aws.auth#sigv4": { + "name": "kendra" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

                                                          Amazon Kendra is a service for indexing large document sets.

                                                          ", + "smithy.api#title": "AWSKendraFrontendService" + }, "version": "2019-02-03", "operations": [ + { + "target": "com.amazonaws.kendra#AssociateEntitiesToExperience" + }, + { + "target": "com.amazonaws.kendra#AssociatePersonasToEntities" + }, { "target": "com.amazonaws.kendra#BatchDeleteDocument" }, @@ -48,6 +69,9 @@ { "target": "com.amazonaws.kendra#CreateDataSource" }, + { + "target": "com.amazonaws.kendra#CreateExperience" + }, { "target": "com.amazonaws.kendra#CreateFaq" }, @@ -63,6 +87,9 @@ { "target": "com.amazonaws.kendra#DeleteDataSource" }, + { + "target": "com.amazonaws.kendra#DeleteExperience" + }, { "target": "com.amazonaws.kendra#DeleteFaq" }, @@ -81,6 +108,9 @@ { "target": "com.amazonaws.kendra#DescribeDataSource" }, + { + "target": "com.amazonaws.kendra#DescribeExperience" + }, { "target": "com.amazonaws.kendra#DescribeFaq" }, @@ -99,15 +129,33 @@ { "target": "com.amazonaws.kendra#DescribeThesaurus" }, + { + "target": "com.amazonaws.kendra#DisassociateEntitiesFromExperience" + }, + { + "target": "com.amazonaws.kendra#DisassociatePersonasFromEntities" + }, { "target": "com.amazonaws.kendra#GetQuerySuggestions" }, + { + "target": "com.amazonaws.kendra#GetSnapshots" + }, { "target": "com.amazonaws.kendra#ListDataSources" }, { "target": "com.amazonaws.kendra#ListDataSourceSyncJobs" }, + { + "target": "com.amazonaws.kendra#ListEntityPersonas" + }, + { + "target": "com.amazonaws.kendra#ListExperienceEntities" + }, + { + "target": "com.amazonaws.kendra#ListExperiences" + }, { "target": "com.amazonaws.kendra#ListFaqs" }, @@ -150,6 +198,9 @@ { "target": "com.amazonaws.kendra#UpdateDataSource" }, + { + "target": "com.amazonaws.kendra#UpdateExperience" + }, { "target": "com.amazonaws.kendra#UpdateIndex" }, @@ -162,22 +213,7 @@ { "target": "com.amazonaws.kendra#UpdateThesaurus" } - ], - "traits": { - "aws.api#service": { - "sdkId": "kendra", - "arnNamespace": "kendra", - "cloudFormationName": "Kendra", - "cloudTrailEventSource": "kendra.amazonaws.com", - "endpointPrefix": "kendra" - }, - "aws.auth#sigv4": { - "name": "kendra" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                                                          Amazon Kendra is a service for indexing large document sets.

                                                          ", - "smithy.api#title": "AWSKendraFrontendService" - } + ] }, "com.amazonaws.kendra#AccessControlListConfiguration": { "type": "structure", @@ -290,6 +326,168 @@ } } }, + "com.amazonaws.kendra#AssociateEntitiesToExperience": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#AssociateEntitiesToExperienceRequest" + }, + "output": { + "target": "com.amazonaws.kendra#AssociateEntitiesToExperienceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceAlreadyExistException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Grants users or groups in your Amazon Web Services SSO identity source access \n to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a \n search application. For more information on creating a search application \n experience, see Building \n a search experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#AssociateEntitiesToExperienceFailedEntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#FailedEntity" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.kendra#AssociateEntitiesToExperienceRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "EntityList": { + "target": "com.amazonaws.kendra#AssociateEntityList", + "traits": { + "smithy.api#documentation": "

                                                          Lists users or groups in your Amazon Web Services SSO identity source.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#AssociateEntitiesToExperienceResponse": { + "type": "structure", + "members": { + "FailedEntityList": { + "target": "com.amazonaws.kendra#AssociateEntitiesToExperienceFailedEntityList", + "traits": { + "smithy.api#documentation": "

                                                          Lists the users or groups in your Amazon Web Services SSO identity source that \n failed to properly configure with your Amazon Kendra experience.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#AssociateEntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#EntityConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.kendra#AssociatePersonasToEntities": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#AssociatePersonasToEntitiesRequest" + }, + "output": { + "target": "com.amazonaws.kendra#AssociatePersonasToEntitiesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceAlreadyExistException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Defines the specific permissions of users or groups in your Amazon Web Services SSO\n identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra \n experience such as a search application. For more information on creating a \n search application experience, see Building \n a search experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#AssociatePersonasToEntitiesRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "Personas": { + "target": "com.amazonaws.kendra#EntityPersonaConfigurationList", + "traits": { + "smithy.api#documentation": "

                                                          The personas that define the specific permissions of users or groups in \n your Amazon Web Services SSO identity source. The available personas or access \n roles are Owner and Viewer. For more information \n on these personas, see Providing \n access to your search page.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#AssociatePersonasToEntitiesResponse": { + "type": "structure", + "members": { + "FailedEntityList": { + "target": "com.amazonaws.kendra#FailedEntityList", + "traits": { + "smithy.api#documentation": "

                                                          Lists the users or groups in your Amazon Web Services SSO identity source that \n failed to properly configure with your Amazon Kendra experience.

                                                          " + } + } + } + }, "com.amazonaws.kendra#AttributeFilter": { "type": "structure", "members": { @@ -355,7 +553,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Provides filtering the query results based on document\n attributes.

                                                          \n

                                                          When you use the AndAllFilters or\n OrAllFilters, filters you can use 2 layers under the\n first attribute filter. For example, you can use:

                                                          \n

                                                          \n \n

                                                          \n
                                                            \n
                                                          1. \n

                                                            \n \n

                                                            \n
                                                          2. \n
                                                          3. \n

                                                            \n \n

                                                            \n
                                                          4. \n
                                                          \n

                                                          If you use more than 2 layers, you receive a\n ValidationException exception with the message\n \"AttributeFilter cannot have a depth of more \n than 2.\"

                                                          \n

                                                          If you use more than 10 attribute filters in a given list for \n AndAllFilters or OrAllFilters, you receive \n a ValidationException with the message \n \"AttributeFilter cannot have a length of more than 10\".

                                                          " + "smithy.api#documentation": "

                                                          Provides filtering the query results based on document\n attributes.

                                                          \n

                                                          When you use the AndAllFilters or\n OrAllFilters, filters you can use 2 layers under the\n first attribute filter. For example, you can use:

                                                          \n

                                                          \n \n

                                                          \n
                                                            \n
                                                          1. \n

                                                            \n \n

                                                            \n
                                                          2. \n
                                                          3. \n

                                                            \n \n

                                                            \n
                                                          4. \n
                                                          \n

                                                          If you use more than 2 layers, you receive a\n ValidationException exception with the message\n \"AttributeFilter cannot have a depth of more \n than 2.\"

                                                          \n

                                                          If you use more than 10 attribute filters in a given list for \n AndAllFilters or OrAllFilters, you receive \n a ValidationException with the message \n \"AttributeFilter cannot have a length of more than 10\".

                                                          " } }, "com.amazonaws.kendra#AttributeFilterList": { @@ -398,7 +596,7 @@ "Credentials": { "target": "com.amazonaws.kendra#SecretArn", "traits": { - "smithy.api#documentation": "

                                                          Your secret ARN, which you can create in AWS Secrets Manager\n

                                                          \n

                                                          You use a secret if basic authentication credentials are required to connect \n to a website. The secret stores your credentials of user name and password.

                                                          ", + "smithy.api#documentation": "

                                                          Your secret ARN, which you can create in Secrets Manager\n

                                                          \n

                                                          You use a secret if basic authentication credentials are required to connect \n to a website. The secret stores your credentials of user name and password.

                                                          ", "smithy.api#required": {} } } @@ -673,6 +871,12 @@ "smithy.api#documentation": "

                                                          One or more documents to add to the index.

                                                          \n

                                                          Documents can include custom attributes. For example, \n 'DataSourceId' and 'DataSourceSyncJobId' are custom \n attributes that provide information on the synchronization \n of documents running on a data source. Note, \n 'DataSourceSyncJobId' could be an optional custom attribute \n as Amazon Kendra will use the ID of a running sync job.

                                                          \n

                                                          Documents have the following file size limits.

                                                          \n
                                                            \n
                                                          • \n

                                                            5 MB total size for inline documents

                                                            \n
                                                          • \n
                                                          • \n

                                                            50 MB total size for files from an S3 bucket

                                                            \n
                                                          • \n
                                                          • \n

                                                            5 MB extracted text for any file

                                                            \n
                                                          • \n
                                                          \n

                                                          For more information about file size and transaction per second\n quotas, see Quotas.

                                                          ", "smithy.api#required": {} } + }, + "CustomDocumentEnrichmentConfiguration": { + "target": "com.amazonaws.kendra#CustomDocumentEnrichmentConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for altering your document metadata and content during \n the document ingestion process when you use the BatchPutDocument \n operation.

                                                          \n

                                                          For more information on how to create, modify and delete document metadata, \n or make other content alterations when you ingest documents into Amazon Kendra, see \n Customizing \n document metadata during the ingestion process.

                                                          " + } } } }, @@ -795,7 +999,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Clears existing query suggestions from an index.

                                                          \n

                                                          This deletes existing suggestions only, not the queries \n in the query log. After you clear suggestions, Amazon Kendra learns \n new suggestions based on new queries added to the query log \n from the time you cleared suggestions. If you do not see any \n new suggestions, then please allow Amazon Kendra to collect \n enough queries to learn new suggestions.

                                                          " + "smithy.api#documentation": "

                                                          Clears existing query suggestions from an index.

                                                          \n

                                                          This deletes existing suggestions only, not the queries \n in the query log. After you clear suggestions, Amazon Kendra learns \n new suggestions based on new queries added to the query log \n from the time you cleared suggestions. If you do not see any \n new suggestions, then please allow Amazon Kendra to collect \n enough queries to learn new suggestions.

                                                          \n

                                                          \n ClearQuerySuggestions is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#ClearQuerySuggestionsRequest": { @@ -898,6 +1102,57 @@ "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9_]*$" } }, + "com.amazonaws.kendra#ConditionOperator": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "GreaterThan", + "name": "GreaterThan" + }, + { + "value": "GreaterThanOrEquals", + "name": "GreaterThanOrEquals" + }, + { + "value": "LessThan", + "name": "LessThan" + }, + { + "value": "LessThanOrEquals", + "name": "LessThanOrEquals" + }, + { + "value": "Equals", + "name": "Equals" + }, + { + "value": "NotEquals", + "name": "NotEquals" + }, + { + "value": "Contains", + "name": "Contains" + }, + { + "value": "NotContains", + "name": "NotContains" + }, + { + "value": "Exists", + "name": "Exists" + }, + { + "value": "NotExists", + "name": "NotExists" + }, + { + "value": "BeginsWith", + "name": "BeginsWith" + } + ] + } + }, "com.amazonaws.kendra#ConflictException": { "type": "structure", "members": { @@ -1128,7 +1383,7 @@ "SecretArn": { "target": "com.amazonaws.kendra#SecretArn", "traits": { - "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of an Secrets Managersecret\n that contains the key/value pairs required to connect to your\n Confluence server. The secret must contain a JSON structure with the\n following keys:

                                                          \n
                                                            \n
                                                          • \n

                                                            username - The user name or email address of a user with\n administrative privileges for the Confluence server.

                                                            \n
                                                          • \n
                                                          • \n

                                                            password - The password associated with the user logging\n in to the Confluence server.

                                                            \n
                                                          • \n
                                                          ", + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of an Secrets Manager secret\n that contains the key/value pairs required to connect to your\n Confluence server. The secret must contain a JSON structure with the\n following keys:

                                                          \n
                                                            \n
                                                          • \n

                                                            username - The user name or email address of a user with\n administrative privileges for the Confluence server.

                                                            \n
                                                          • \n
                                                          • \n

                                                            password - The password associated with the user logging\n in to the Confluence server.

                                                            \n
                                                          • \n
                                                          ", "smithy.api#required": {} } }, @@ -1471,6 +1726,32 @@ "smithy.api#documentation": "

                                                          Provides the information necessary to connect to a\n database.

                                                          " } }, + "com.amazonaws.kendra#ContentSourceConfiguration": { + "type": "structure", + "members": { + "DataSourceIds": { + "target": "com.amazonaws.kendra#DataSourceIdList", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the data sources you want to use for your Amazon Kendra experience.

                                                          " + } + }, + "FaqIds": { + "target": "com.amazonaws.kendra#FaqIdsList", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the FAQs that you want to use for your Amazon Kendra experience.

                                                          " + } + }, + "DirectPutContent": { + "target": "com.amazonaws.kendra#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          \n TRUE to use documents you indexed directly using the\n BatchPutDocument operation.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for your content sources, such as data sources, \n FAQs, and content indexed directly via BatchPutDocument.

                                                          " + } + }, "com.amazonaws.kendra#ContentType": { "type": "string", "traits": { @@ -1543,7 +1824,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Creates a data source that you want to use with an Amazon Kendra index.

                                                          \n

                                                          You specify a name, data source connector type and description for\n your data source. You also specify configuration information for the \n data source connector.

                                                          \n

                                                          \n CreateDataSource is a synchronous operation. The\n operation returns 200 if the data source was successfully created.\n Otherwise, an exception is raised.

                                                          " + "smithy.api#documentation": "

                                                          Creates a data source that you want to use with an Amazon Kendra index.

                                                          \n

                                                          You specify a name, data source connector type and description for\n your data source. You also specify configuration information for the \n data source connector.

                                                          \n

                                                          \n CreateDataSource is a synchronous operation. The\n operation returns 200 if the data source was successfully created.\n Otherwise, an exception is raised.

                                                          \n

                                                          Amazon S3 and custom data sources are \n the only supported data sources in the Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#CreateDataSourceRequest": { @@ -1612,6 +1893,12 @@ "traits": { "smithy.api#documentation": "

                                                          The code for a language. This allows you to support a language for all \n documents when creating the data source. English is supported \n by default. For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " } + }, + "CustomDocumentEnrichmentConfiguration": { + "target": "com.amazonaws.kendra#CustomDocumentEnrichmentConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for altering document metadata and content during the\n document ingestion process when you create a data source.

                                                          \n

                                                          For more information on how to create, modify and delete document metadata, or make\n other content alterations when you ingest documents into Amazon Kendra, see \n Customizing \n document metadata during the ingestion process.

                                                          " + } } } }, @@ -1627,13 +1914,13 @@ } } }, - "com.amazonaws.kendra#CreateFaq": { + "com.amazonaws.kendra#CreateExperience": { "type": "operation", "input": { - "target": "com.amazonaws.kendra#CreateFaqRequest" + "target": "com.amazonaws.kendra#CreateExperienceRequest" }, "output": { - "target": "com.amazonaws.kendra#CreateFaqResponse" + "target": "com.amazonaws.kendra#CreateExperienceResponse" }, "errors": [ { @@ -1659,40 +1946,131 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Creates an new set of frequently asked question (FAQ) questions and answers.

                                                          " + "smithy.api#documentation": "

                                                          Creates an Amazon Kendra experience such as a search application. For more information \n on creating a search application experience, see Building a \n search experience with no code.

                                                          " } }, - "com.amazonaws.kendra#CreateFaqRequest": { + "com.amazonaws.kendra#CreateExperienceRequest": { "type": "structure", "members": { - "IndexId": { - "target": "com.amazonaws.kendra#IndexId", + "Name": { + "target": "com.amazonaws.kendra#ExperienceName", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the index that contains the FAQ.

                                                          ", + "smithy.api#documentation": "

                                                          A name for your Amazon Kendra experience.

                                                          ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.kendra#FaqName", + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The name that should be associated with the FAQ.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.kendra#Description", + "RoleArn": { + "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

                                                          A description of the FAQ.

                                                          " + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a role with permission to access Query\n operations, QuerySuggestions operations, SubmitFeedback\n operations, and Amazon Web Services SSO that stores your user and group information. \n For more information, see IAM roles for Amazon Kendra.

                                                          " } }, - "S3Path": { - "target": "com.amazonaws.kendra#S3Path", + "Configuration": { + "target": "com.amazonaws.kendra#ExperienceConfiguration", "traits": { - "smithy.api#documentation": "

                                                          The S3 location of the FAQ input data.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          Provides the configuration information for your Amazon Kendra experience. This includes\n ContentSourceConfiguration, which specifies the data source IDs \n and/or FAQ IDs, and UserIdentityConfiguration, which specifies the \n user or group information to grant access to your Amazon Kendra experience.

                                                          " } }, - "RoleArn": { + "Description": { + "target": "com.amazonaws.kendra#Description", + "traits": { + "smithy.api#documentation": "

                                                          A description for your Amazon Kendra experience.

                                                          " + } + }, + "ClientToken": { + "target": "com.amazonaws.kendra#ClientTokenName", + "traits": { + "smithy.api#documentation": "

                                                          A token that you provide to identify the request to create your Amazon Kendra experience.\n Multiple calls to the CreateExperience operation with the same client \n token creates only one Amazon Kendra experience.

                                                          ", + "smithy.api#idempotencyToken": {} + } + } + } + }, + "com.amazonaws.kendra#CreateExperienceResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier for your created Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#CreateFaq": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#CreateFaqRequest" + }, + "output": { + "target": "com.amazonaws.kendra#CreateFaqResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#ConflictException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Creates an new set of frequently asked question (FAQ) questions and answers.

                                                          " + } + }, + "com.amazonaws.kendra#CreateFaqRequest": { + "type": "structure", + "members": { + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index that contains the FAQ.

                                                          ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.kendra#FaqName", + "traits": { + "smithy.api#documentation": "

                                                          The name that should be associated with the FAQ.

                                                          ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.kendra#Description", + "traits": { + "smithy.api#documentation": "

                                                          A description of the FAQ.

                                                          " + } + }, + "S3Path": { + "target": "com.amazonaws.kendra#S3Path", + "traits": { + "smithy.api#documentation": "

                                                          The S3 location of the FAQ input data.

                                                          ", + "smithy.api#required": {} + } + }, + "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that\n contains the FAQs. For more information, see IAM Roles for Amazon Kendra.

                                                          ", @@ -1835,7 +2213,7 @@ "UserGroupResolutionConfiguration": { "target": "com.amazonaws.kendra#UserGroupResolutionConfiguration", "traits": { - "smithy.api#documentation": "

                                                          Enables fetching access levels of groups and users from an AWS Single Sign-On \n identity source. To configure this, see \n UserGroupResolutionConfiguration.

                                                          " + "smithy.api#documentation": "

                                                          Enables fetching access levels of groups and users from an Amazon Web Services Single Sign On \n identity source. To configure this, see \n UserGroupResolutionConfiguration.

                                                          " } } } @@ -1883,7 +2261,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Creates a block list to exlcude certain queries from suggestions.

                                                          \n

                                                          Any query that contains words or phrases specified in the block \n list is blocked or filtered out from being shown as a suggestion.

                                                          \n

                                                          You need to provide the file location of your block list text file \n in your S3 bucket. In your text file, enter each block word or phrase \n on a separate line.

                                                          \n

                                                          For information on the current quota limits for block lists, see \n Quotas \n for Amazon Kendra.

                                                          " + "smithy.api#documentation": "

                                                          Creates a block list to exlcude certain queries from suggestions.

                                                          \n

                                                          Any query that contains words or phrases specified in the block \n list is blocked or filtered out from being shown as a suggestion.

                                                          \n

                                                          You need to provide the file location of your block list text file \n in your S3 bucket. In your text file, enter each block word or phrase \n on a separate line.

                                                          \n

                                                          For information on the current quota limits for block lists, see \n Quotas \n for Amazon Kendra.

                                                          \n

                                                          \n CreateQuerySuggestionsBlockList is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#CreateQuerySuggestionsBlockListRequest": { @@ -2010,7 +2388,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

                                                          An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions \n to access thesaurus file specified in SourceS3Path.\n

                                                          ", + "smithy.api#documentation": "

                                                          An IAM role that gives Amazon Kendra permissions \n to access thesaurus file specified in SourceS3Path.\n

                                                          ", "smithy.api#required": {} } }, @@ -2047,6 +2425,38 @@ } } }, + "com.amazonaws.kendra#CustomDocumentEnrichmentConfiguration": { + "type": "structure", + "members": { + "InlineConfigurations": { + "target": "com.amazonaws.kendra#InlineCustomDocumentEnrichmentConfigurationList", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information to alter document attributes or metadata fields and \n content when ingesting documents into Amazon Kendra.

                                                          " + } + }, + "PreExtractionHookConfiguration": { + "target": "com.amazonaws.kendra#HookConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for invoking a Lambda function in Lambda \n on the original or raw documents before extracting their metadata and text. You can \n use a Lambda function to apply advanced logic for creating, modifying, or deleting\n document metadata and content. For more information, see Advanced \n data manipulation.

                                                          " + } + }, + "PostExtractionHookConfiguration": { + "target": "com.amazonaws.kendra#HookConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for invoking a Lambda function in Lambda \n on the structured documents with their metadata and text extracted. You can use a \n Lambda function to apply advanced logic for creating, modifying, or deleting document\n metadata and content. For more information, see Advanced \n data manipulation.

                                                          " + } + }, + "RoleArn": { + "target": "com.amazonaws.kendra#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a role with permission to run \n PreExtractionHookConfiguration and \n PostExtractionHookConfiguration for altering document metadata \n and content during the document ingestion process. For more information, \n see IAM roles for\n Amazon Kendra.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides the configuration information for altering document metadata and content\n during the document ingestion process.

                                                          \n

                                                          For more information, see Customizing document metadata\n during the ingestion process.

                                                          " + } + }, "com.amazonaws.kendra#DataSourceConfiguration": { "type": "structure", "members": { @@ -2109,7 +2519,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Configuration information for a Amazon Kendra data source.

                                                          " + "smithy.api#documentation": "

                                                          Configuration information for an Amazon Kendra data source.

                                                          " } }, "com.amazonaws.kendra#DataSourceDateFieldFormat": { @@ -2176,6 +2586,18 @@ "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" } }, + "com.amazonaws.kendra#DataSourceIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#DataSourceId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.kendra#DataSourceInclusionsExclusionsStrings": { "type": "list", "member": { @@ -2713,6 +3135,61 @@ } } }, + "com.amazonaws.kendra#DeleteExperience": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#DeleteExperienceRequest" + }, + "output": { + "target": "com.amazonaws.kendra#DeleteExperienceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#ConflictException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Deletes your Amazon Kendra experience such as a search application. For more information on\n creating a search application experience, see Building a search\n experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#DeleteExperienceRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience you want to delete.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience you want to delete.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#DeleteExperienceResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.kendra#DeleteFaq": { "type": "operation", "input": { @@ -2828,7 +3305,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Deletes a group so that all users and sub groups that belong to the group can \n no longer access documents only available to that group.

                                                          \n

                                                          For example, after deleting the group \"Summer Interns\", all interns who \n belonged to that group no longer see intern-only documents in their search \n results.

                                                          \n

                                                          If you want to delete or replace users or sub groups of a group, you need to \n use the PutPrincipalMapping operation. For example, if a user in \n the group \"Engineering\" leaves the engineering team and another user takes \n their place, you provide an updated list of users or sub groups that belong \n to the \"Engineering\" group when calling PutPrincipalMapping. You \n can update your internal list of users or sub groups and input this list \n when calling PutPrincipalMapping.

                                                          " + "smithy.api#documentation": "

                                                          Deletes a group so that all users and sub groups that belong to the group can \n no longer access documents only available to that group.

                                                          \n

                                                          For example, after deleting the group \"Summer Interns\", all interns who \n belonged to that group no longer see intern-only documents in their search \n results.

                                                          \n

                                                          If you want to delete or replace users or sub groups of a group, you need to \n use the PutPrincipalMapping operation. For example, if a user in \n the group \"Engineering\" leaves the engineering team and another user takes \n their place, you provide an updated list of users or sub groups that belong \n to the \"Engineering\" group when calling PutPrincipalMapping. You \n can update your internal list of users or sub groups and input this list \n when calling PutPrincipalMapping.

                                                          \n

                                                          \n DeletePrincipalMapping is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#DeletePrincipalMappingRequest": { @@ -2888,7 +3365,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Deletes a block list used for query suggestions for an index.

                                                          \n

                                                          A deleted block list might not take effect right away. Amazon Kendra \n needs to refresh the entire suggestions list to add back the \n queries that were previously blocked.

                                                          " + "smithy.api#documentation": "

                                                          Deletes a block list used for query suggestions for an index.

                                                          \n

                                                          A deleted block list might not take effect right away. Amazon Kendra \n needs to refresh the entire suggestions list to add back the \n queries that were previously blocked.

                                                          \n

                                                          \n DeleteQuerySuggestionsBlockList is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#DeleteQuerySuggestionsBlockListRequest": { @@ -3086,16 +3563,22 @@ "traits": { "smithy.api#documentation": "

                                                          The code for a language. This shows a supported language for all \n documents in the data source. English is supported by \n default. For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " } + }, + "CustomDocumentEnrichmentConfiguration": { + "target": "com.amazonaws.kendra#CustomDocumentEnrichmentConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for altering document metadata and content during the\n document ingestion process when you describe a data source.

                                                          \n

                                                          For more information on how to create, modify and delete document metadata, or make\n other content alterations when you ingest documents into Amazon Kendra, see \n Customizing \n document metadata during the ingestion process.

                                                          " + } } } }, - "com.amazonaws.kendra#DescribeFaq": { + "com.amazonaws.kendra#DescribeExperience": { "type": "operation", "input": { - "target": "com.amazonaws.kendra#DescribeFaqRequest" + "target": "com.amazonaws.kendra#DescribeExperienceRequest" }, "output": { - "target": "com.amazonaws.kendra#DescribeFaqResponse" + "target": "com.amazonaws.kendra#DescribeExperienceResponse" }, "errors": [ { @@ -3115,109 +3598,106 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Gets information about an FAQ list.

                                                          " + "smithy.api#documentation": "

                                                          Gets information about your Amazon Kendra experience such as a search application. \n For more information on creating a search application experience, \n see Building \n a search experience with no code.

                                                          " } }, - "com.amazonaws.kendra#DescribeFaqRequest": { + "com.amazonaws.kendra#DescribeExperienceRequest": { "type": "structure", "members": { "Id": { - "target": "com.amazonaws.kendra#FaqId", + "target": "com.amazonaws.kendra#ExperienceId", "traits": { - "smithy.api#documentation": "

                                                          The unique identifier of the FAQ.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience you want to get information on.

                                                          ", "smithy.api#required": {} } }, "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the index that contains the FAQ.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience you want to get \n information on.

                                                          ", "smithy.api#required": {} } } } }, - "com.amazonaws.kendra#DescribeFaqResponse": { + "com.amazonaws.kendra#DescribeExperienceResponse": { "type": "structure", "members": { "Id": { - "target": "com.amazonaws.kendra#FaqId", + "target": "com.amazonaws.kendra#ExperienceId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the FAQ.

                                                          " + "smithy.api#documentation": "

                                                          Shows the identifier of your Amazon Kendra experience.

                                                          " } }, "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the index that contains the FAQ.

                                                          " + "smithy.api#documentation": "

                                                          Shows the identifier of the index for your Amazon Kendra experience.

                                                          " } }, "Name": { - "target": "com.amazonaws.kendra#FaqName", + "target": "com.amazonaws.kendra#ExperienceName", "traits": { - "smithy.api#documentation": "

                                                          The name that you gave the FAQ when it was created.

                                                          " + "smithy.api#documentation": "

                                                          Shows the name of your Amazon Kendra experience.

                                                          " } }, - "Description": { - "target": "com.amazonaws.kendra#Description", + "Endpoints": { + "target": "com.amazonaws.kendra#ExperienceEndpoints", "traits": { - "smithy.api#documentation": "

                                                          The description of the FAQ that you provided when it was created.

                                                          " + "smithy.api#documentation": "

                                                          Shows the endpoint URLs for your Amazon Kendra experiences. The URLs are unique and fully\n hosted by Amazon Web Services.

                                                          " + } + }, + "Configuration": { + "target": "com.amazonaws.kendra#ExperienceConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Shows the configuration information for your Amazon Kendra experience. This includes\n ContentSourceConfiguration, which specifies the data source IDs \n and/or FAQ IDs, and UserIdentityConfiguration, which specifies the \n user or group information to grant access to your Amazon Kendra experience.

                                                          " } }, "CreatedAt": { "target": "com.amazonaws.kendra#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          The date and time that the FAQ was created.

                                                          " + "smithy.api#documentation": "

                                                          Shows the date-time your Amazon Kendra experience was created.

                                                          " } }, "UpdatedAt": { "target": "com.amazonaws.kendra#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          The date and time that the FAQ was last updated.

                                                          " + "smithy.api#documentation": "

                                                          Shows the date-time your Amazon Kendra experience was last updated.

                                                          " } }, - "S3Path": { - "target": "com.amazonaws.kendra#S3Path" + "Description": { + "target": "com.amazonaws.kendra#Description", + "traits": { + "smithy.api#documentation": "

                                                          Shows the description for your Amazon Kendra experience.

                                                          " + } }, "Status": { - "target": "com.amazonaws.kendra#FaqStatus", + "target": "com.amazonaws.kendra#ExperienceStatus", "traits": { - "smithy.api#documentation": "

                                                          The status of the FAQ. It is ready to use when the status is\n ACTIVE.

                                                          " + "smithy.api#documentation": "

                                                          The current processing status of your Amazon Kendra experience. When the status \n is ACTIVE, your Amazon Kendra experience is ready to use. When the \n status is FAILED, the ErrorMessage field contains \n the reason that this failed.

                                                          " } }, "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the role that provides access to the S3 bucket\n containing the input files for the FAQ.

                                                          " + "smithy.api#documentation": "

                                                          Shows the Amazon Resource Name (ARN) of a role with permission to access \n Query operations, QuerySuggestions operations, \n SubmitFeedback operations, and Amazon Web Services SSO that stores \n your user and group information.

                                                          " } }, "ErrorMessage": { "target": "com.amazonaws.kendra#ErrorMessage", "traits": { - "smithy.api#documentation": "

                                                          If the Status field is FAILED, the ErrorMessage\n field contains the reason why the FAQ failed.

                                                          " - } - }, - "FileFormat": { - "target": "com.amazonaws.kendra#FaqFileFormat", - "traits": { - "smithy.api#documentation": "

                                                          The file format used by the input files for the FAQ.

                                                          " - } - }, - "LanguageCode": { - "target": "com.amazonaws.kendra#LanguageCode", - "traits": { - "smithy.api#documentation": "

                                                          The code for a language. This shows a supported language \n for the FAQ document. English is supported by default. \n For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " + "smithy.api#documentation": "

                                                          The reason your Amazon Kendra experience could not properly process.

                                                          " } } } }, - "com.amazonaws.kendra#DescribeIndex": { + "com.amazonaws.kendra#DescribeFaq": { "type": "operation", "input": { - "target": "com.amazonaws.kendra#DescribeIndexRequest" + "target": "com.amazonaws.kendra#DescribeFaqRequest" }, "output": { - "target": "com.amazonaws.kendra#DescribeIndexResponse" + "target": "com.amazonaws.kendra#DescribeFaqResponse" }, "errors": [ { @@ -3237,49 +3717,171 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Describes an existing Amazon Kendra index

                                                          " + "smithy.api#documentation": "

                                                          Gets information about an FAQ list.

                                                          " } }, - "com.amazonaws.kendra#DescribeIndexRequest": { + "com.amazonaws.kendra#DescribeFaqRequest": { "type": "structure", "members": { "Id": { + "target": "com.amazonaws.kendra#FaqId", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the FAQ.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The name of the index to describe.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the index that contains the FAQ.

                                                          ", "smithy.api#required": {} } } } }, - "com.amazonaws.kendra#DescribeIndexResponse": { + "com.amazonaws.kendra#DescribeFaqResponse": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.kendra#IndexName", + "Id": { + "target": "com.amazonaws.kendra#FaqId", "traits": { - "smithy.api#documentation": "

                                                          The name of the index.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the FAQ.

                                                          " } }, - "Id": { + "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The name of the index.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the index that contains the FAQ.

                                                          " } }, - "Edition": { - "target": "com.amazonaws.kendra#IndexEdition", + "Name": { + "target": "com.amazonaws.kendra#FaqName", "traits": { - "smithy.api#documentation": "

                                                          The Amazon Kendra edition used for the index. You decide the edition\n when you create the index.

                                                          " + "smithy.api#documentation": "

                                                          The name that you gave the FAQ when it was created.

                                                          " } }, - "RoleArn": { - "target": "com.amazonaws.kendra#RoleArn", + "Description": { + "target": "com.amazonaws.kendra#Description", "traits": { - "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra\n permission to write to your Amazon Cloudwatch logs.

                                                          " + "smithy.api#documentation": "

                                                          The description of the FAQ that you provided when it was created.

                                                          " } }, - "ServerSideEncryptionConfiguration": { + "CreatedAt": { + "target": "com.amazonaws.kendra#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The date and time that the FAQ was created.

                                                          " + } + }, + "UpdatedAt": { + "target": "com.amazonaws.kendra#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The date and time that the FAQ was last updated.

                                                          " + } + }, + "S3Path": { + "target": "com.amazonaws.kendra#S3Path" + }, + "Status": { + "target": "com.amazonaws.kendra#FaqStatus", + "traits": { + "smithy.api#documentation": "

                                                          The status of the FAQ. It is ready to use when the status is\n ACTIVE.

                                                          " + } + }, + "RoleArn": { + "target": "com.amazonaws.kendra#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the role that provides access to the S3 bucket\n containing the input files for the FAQ.

                                                          " + } + }, + "ErrorMessage": { + "target": "com.amazonaws.kendra#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                                                          If the Status field is FAILED, the ErrorMessage\n field contains the reason why the FAQ failed.

                                                          " + } + }, + "FileFormat": { + "target": "com.amazonaws.kendra#FaqFileFormat", + "traits": { + "smithy.api#documentation": "

                                                          The file format used by the input files for the FAQ.

                                                          " + } + }, + "LanguageCode": { + "target": "com.amazonaws.kendra#LanguageCode", + "traits": { + "smithy.api#documentation": "

                                                          The code for a language. This shows a supported language \n for the FAQ document. English is supported by default. \n For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#DescribeIndex": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#DescribeIndexRequest" + }, + "output": { + "target": "com.amazonaws.kendra#DescribeIndexResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Describes an existing Amazon Kendra index

                                                          " + } + }, + "com.amazonaws.kendra#DescribeIndexRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The name of the index to describe.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#DescribeIndexResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.kendra#IndexName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the index.

                                                          " + } + }, + "Id": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The name of the index.

                                                          " + } + }, + "Edition": { + "target": "com.amazonaws.kendra#IndexEdition", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Kendra edition used for the index. You decide the edition\n when you create the index.

                                                          " + } + }, + "RoleArn": { + "target": "com.amazonaws.kendra#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra\n permission to write to your Amazon Cloudwatch logs.

                                                          " + } + }, + "ServerSideEncryptionConfiguration": { "target": "com.amazonaws.kendra#ServerSideEncryptionConfiguration", "traits": { "smithy.api#documentation": "

                                                          The identifier of the KMScustomer master key (CMK) used to\n encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.

                                                          " @@ -3348,7 +3950,7 @@ "UserGroupResolutionConfiguration": { "target": "com.amazonaws.kendra#UserGroupResolutionConfiguration", "traits": { - "smithy.api#documentation": "

                                                          Shows whether you have enabled the configuration for fetching access \n levels of groups and users from an AWS Single Sign-On identity source.

                                                          " + "smithy.api#documentation": "

                                                          Shows whether you have enabled the configuration for fetching access \n levels of groups and users from an Amazon Web Services Single Sign On identity source.

                                                          " } } } @@ -3379,7 +3981,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Describes the processing of PUT and DELETE actions \n for mapping users to their groups. This includes information on the status of \n actions currently processing or yet to be processed, when actions were last updated, \n when actions were received by Amazon Kendra, the latest action that should process \n and apply after other actions, and useful error messages if an action could \n not be processed.

                                                          " + "smithy.api#documentation": "

                                                          Describes the processing of PUT and DELETE actions \n for mapping users to their groups. This includes information on the status of \n actions currently processing or yet to be processed, when actions were last updated, \n when actions were received by Amazon Kendra, the latest action that should process \n and apply after other actions, and useful error messages if an action could \n not be processed.

                                                          \n

                                                          \n DescribePrincipalMapping is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#DescribePrincipalMappingRequest": { @@ -3462,7 +4064,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Describes a block list used for query suggestions for an index.

                                                          \n

                                                          This is used to check the current settings that are applied to a \n block list.

                                                          " + "smithy.api#documentation": "

                                                          Describes a block list used for query suggestions for an index.

                                                          \n

                                                          This is used to check the current settings that are applied to a \n block list.

                                                          \n

                                                          \n DescribeQuerySuggestionsBlockList is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#DescribeQuerySuggestionsBlockListRequest": { @@ -3587,7 +4189,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Describes the settings of query suggestions for an index.

                                                          \n

                                                          This is used to check the current settings applied \n to query suggestions.

                                                          " + "smithy.api#documentation": "

                                                          Describes the settings of query suggestions for an index.

                                                          \n

                                                          This is used to check the current settings applied \n to query suggestions.

                                                          \n

                                                          \n DescribeQuerySuggestionsConfig is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#DescribeQuerySuggestionsConfigRequest": { @@ -3763,7 +4365,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

                                                          An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions \n to access thesaurus file specified in SourceS3Path.\n

                                                          " + "smithy.api#documentation": "

                                                          An IAM role that gives Amazon Kendra permissions \n to access thesaurus file specified in SourceS3Path.\n

                                                          " } }, "SourceS3Path": { @@ -3799,6 +4401,150 @@ "smithy.api#pattern": "^\\P{C}*$" } }, + "com.amazonaws.kendra#DisassociateEntitiesFromExperience": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#DisassociateEntitiesFromExperienceRequest" + }, + "output": { + "target": "com.amazonaws.kendra#DisassociateEntitiesFromExperienceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Prevents users or groups in your Amazon Web Services SSO identity source\n from accessing your Amazon Kendra experience. You can create an Amazon Kendra experience \n such as a search application. For more information on creating a search \n application experience, see Building \n a search experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#DisassociateEntitiesFromExperienceRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "EntityList": { + "target": "com.amazonaws.kendra#DisassociateEntityList", + "traits": { + "smithy.api#documentation": "

                                                          Lists users or groups in your Amazon Web Services SSO identity source.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#DisassociateEntitiesFromExperienceResponse": { + "type": "structure", + "members": { + "FailedEntityList": { + "target": "com.amazonaws.kendra#FailedEntityList", + "traits": { + "smithy.api#documentation": "

                                                          Lists the users or groups in your Amazon Web Services SSO identity source that \n failed to properly remove access to your Amazon Kendra experience.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#DisassociateEntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#EntityConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 40 + } + } + }, + "com.amazonaws.kendra#DisassociatePersonasFromEntities": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#DisassociatePersonasFromEntitiesRequest" + }, + "output": { + "target": "com.amazonaws.kendra#DisassociatePersonasFromEntitiesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Removes the specific permissions of users or groups in your Amazon Web Services SSO \n identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra \n experience such as a search application. For more information on creating a \n search application experience, see Building a \n search experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#DisassociatePersonasFromEntitiesRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "EntityIds": { + "target": "com.amazonaws.kendra#EntityIdsList", + "traits": { + "smithy.api#documentation": "

                                                          The identifiers of users or groups in your Amazon Web Services SSO identity \n source. For example, user IDs could be user emails.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.kendra#DisassociatePersonasFromEntitiesResponse": { + "type": "structure", + "members": { + "FailedEntityList": { + "target": "com.amazonaws.kendra#FailedEntityList", + "traits": { + "smithy.api#documentation": "

                                                          Lists the users or groups in your Amazon Web Services SSO identity source that \n failed to properly remove access to your Amazon Kendra experience.

                                                          " + } + } + } + }, "com.amazonaws.kendra#Document": { "type": "structure", "members": { @@ -3875,6 +4621,34 @@ "smithy.api#documentation": "

                                                          A custom attribute value assigned to a document.

                                                          " } }, + "com.amazonaws.kendra#DocumentAttributeCondition": { + "type": "structure", + "members": { + "ConditionDocumentAttributeKey": { + "target": "com.amazonaws.kendra#DocumentAttributeKey", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the document attribute used for the condition.

                                                          \n

                                                          For example, 'Source_URI' could be an identifier for the attribute or metadata \n field that contains source URIs associated with the documents.

                                                          \n

                                                          Amazon Kendra currently does not support _document_body as an attribute \n key used for the condition.

                                                          ", + "smithy.api#required": {} + } + }, + "Operator": { + "target": "com.amazonaws.kendra#ConditionOperator", + "traits": { + "smithy.api#documentation": "

                                                          The condition operator.

                                                          \n

                                                          For example, you can use 'Contains' to partially match a string.

                                                          ", + "smithy.api#required": {} + } + }, + "ConditionOnValue": { + "target": "com.amazonaws.kendra#DocumentAttributeValue", + "traits": { + "smithy.api#documentation": "

                                                          The value used by the operator.

                                                          \n

                                                          For example, you can specify the value 'financial' for strings in the 'Source_URI'\n field that partially match or contain this value.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The condition used for the target document attribute or metadata field when \n ingesting documents into Amazon Kendra. You use this with DocumentAttributeTarget \n to apply the condition.

                                                          \n

                                                          For example, you can create the 'Department' target field and have it prefill \n department names associated with the documents based on information in the \n 'Source_URI' field. Set the condition that if the 'Source_URI' field contains \n 'financial' in its URI value, then prefill the target field 'Department' with \n the target value 'Finance' for the document.

                                                          \n

                                                          Amazon Kendra cannot create a target field if it has not already been created as an \n index field. After you create your index field, you can create a document metadata \n field using DocumentAttributeTarget. Amazon Kendra then will map your newly \n created metadata field to your index field.

                                                          " + } + }, "com.amazonaws.kendra#DocumentAttributeKey": { "type": "string", "traits": { @@ -3918,19 +4692,45 @@ } } }, - "com.amazonaws.kendra#DocumentAttributeValue": { + "com.amazonaws.kendra#DocumentAttributeTarget": { "type": "structure", "members": { - "StringValue": { - "target": "com.amazonaws.kendra#DocumentAttributeStringValue", + "TargetDocumentAttributeKey": { + "target": "com.amazonaws.kendra#DocumentAttributeKey", "traits": { - "smithy.api#documentation": "

                                                          A string, such as \"department\".

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the target document attribute or metadata field.

                                                          \n

                                                          For example, 'Department' could be an identifier for the target attribute or \n metadata field that includes the department names associated with the documents.

                                                          " } }, - "StringListValue": { - "target": "com.amazonaws.kendra#DocumentAttributeStringListValue", + "TargetDocumentAttributeValueDeletion": { + "target": "com.amazonaws.kendra#Boolean", "traits": { - "smithy.api#documentation": "

                                                          A list of strings.

                                                          " + "smithy.api#documentation": "

                                                          \n TRUE to delete the existing target value for your specified target \n attribute key. You cannot create a target value and set this to TRUE. \n To create a target value (TargetDocumentAttributeValue), set this to \n FALSE.

                                                          " + } + }, + "TargetDocumentAttributeValue": { + "target": "com.amazonaws.kendra#DocumentAttributeValue", + "traits": { + "smithy.api#documentation": "

                                                          The target value you want to create for the target attribute.

                                                          \n

                                                          For example, 'Finance' could be the target value for the target attribute key\n 'Department'.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The target document attribute or metadata field you want to alter when ingesting\n documents into Amazon Kendra.

                                                          \n

                                                          For example, you can delete customer identification numbers associated with the\n documents, stored in the document metadata field called 'Customer_ID'. You set the\n target key as 'Customer_ID' and the deletion flag to TRUE. This\n removes all customer ID values in the field 'Customer_ID'. This would scrub \n personally identifiable information from each document's metadata.

                                                          \n

                                                          Amazon Kendra cannot create a target field if it has not already been created as an \n index field. After you create your index field, you can create a document metadata \n field using DocumentAttributeTarget. Amazon Kendra then will map your newly \n created metadata field to your index field.

                                                          \n

                                                          You can also use this with DocumentAttributeCondition.

                                                          " + } + }, + "com.amazonaws.kendra#DocumentAttributeValue": { + "type": "structure", + "members": { + "StringValue": { + "target": "com.amazonaws.kendra#DocumentAttributeStringValue", + "traits": { + "smithy.api#documentation": "

                                                          A string, such as \"department\".

                                                          " + } + }, + "StringListValue": { + "target": "com.amazonaws.kendra#DocumentAttributeStringListValue", + "traits": { + "smithy.api#documentation": "

                                                          A list of strings.

                                                          " } }, "LongValue": { @@ -4220,6 +5020,158 @@ "smithy.api#pattern": "^[0-9]+[s]$" } }, + "com.amazonaws.kendra#Endpoint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^\\P{C}*$" + } + }, + "com.amazonaws.kendra#EndpointType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "HOME", + "name": "HOME" + } + ] + } + }, + "com.amazonaws.kendra#EntityConfiguration": { + "type": "structure", + "members": { + "EntityId": { + "target": "com.amazonaws.kendra#EntityId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of a user or group in your Amazon Web Services SSO identity \n source. For example, a user ID could be an email.

                                                          ", + "smithy.api#required": {} + } + }, + "EntityType": { + "target": "com.amazonaws.kendra#EntityType", + "traits": { + "smithy.api#documentation": "

                                                          Specifies whether you are configuring a User or a\n Group.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides the configuration information of users or groups in \n your Amazon Web Services SSO identity source to grant access your Amazon Kendra \n experience.

                                                          " + } + }, + "com.amazonaws.kendra#EntityDisplayData": { + "type": "structure", + "members": { + "UserName": { + "target": "com.amazonaws.kendra#NameType", + "traits": { + "smithy.api#documentation": "

                                                          The name of the user.

                                                          " + } + }, + "GroupName": { + "target": "com.amazonaws.kendra#NameType", + "traits": { + "smithy.api#documentation": "

                                                          The name of the group.

                                                          " + } + }, + "IdentifiedUserName": { + "target": "com.amazonaws.kendra#NameType", + "traits": { + "smithy.api#documentation": "

                                                          The user name of the user.

                                                          " + } + }, + "FirstName": { + "target": "com.amazonaws.kendra#NameType", + "traits": { + "smithy.api#documentation": "

                                                          The first name of the user.

                                                          " + } + }, + "LastName": { + "target": "com.amazonaws.kendra#NameType", + "traits": { + "smithy.api#documentation": "

                                                          The last name of the user.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about the user entity.

                                                          " + } + }, + "com.amazonaws.kendra#EntityId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 47 + }, + "smithy.api#pattern": "^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + } + }, + "com.amazonaws.kendra#EntityIdsList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#EntityId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.kendra#EntityPersonaConfiguration": { + "type": "structure", + "members": { + "EntityId": { + "target": "com.amazonaws.kendra#EntityId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of a user or group in your Amazon Web Services SSO identity \n source. For example, a user ID could be an email.

                                                          ", + "smithy.api#required": {} + } + }, + "Persona": { + "target": "com.amazonaws.kendra#Persona", + "traits": { + "smithy.api#documentation": "

                                                          The persona that defines the specific permissions of the user or group \n in your Amazon Web Services SSO identity source. The available personas or \n access roles are Owner and Viewer. For more \n information on these personas, see Providing \n access to your search page.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides the configuration information of users or groups in your \n Amazon Web Services SSO identity source for access to your Amazon Kendra experience. \n Specific permissions are defined for each user or group once they are \n granted access to your Amazon Kendra experience.

                                                          " + } + }, + "com.amazonaws.kendra#EntityPersonaConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#EntityPersonaConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.kendra#EntityType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "USER", + "name": "USER" + }, + { + "value": "GROUP", + "name": "GROUP" + } + ] + } + }, "com.amazonaws.kendra#ErrorCode": { "type": "string", "traits": { @@ -4281,123 +5233,111 @@ } } }, - "com.amazonaws.kendra#Facet": { + "com.amazonaws.kendra#ExperienceConfiguration": { "type": "structure", "members": { - "DocumentAttributeKey": { - "target": "com.amazonaws.kendra#DocumentAttributeKey", + "ContentSourceConfiguration": { + "target": "com.amazonaws.kendra#ContentSourceConfiguration", "traits": { - "smithy.api#documentation": "

                                                          The unique key for the document attribute.

                                                          " + "smithy.api#documentation": "

                                                          The identifiers of your data sources and FAQs. Or, you can specify \n that you want to use documents indexed via the BatchPutDocument \n operation. This is the content you want to use for your Amazon Kendra experience.

                                                          " + } + }, + "UserIdentityConfiguration": { + "target": "com.amazonaws.kendra#UserIdentityConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services SSO field name that contains the identifiers of your users, \n such as their emails.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          Information about a document attribute

                                                          " + "smithy.api#documentation": "

                                                          Specifies the configuration information for your Amazon Kendra experience. This includes \n the data source IDs and/or FAQ IDs, and user or group information to grant access \n to your Amazon Kendra experience.

                                                          " } }, - "com.amazonaws.kendra#FacetList": { + "com.amazonaws.kendra#ExperienceEndpoint": { + "type": "structure", + "members": { + "EndpointType": { + "target": "com.amazonaws.kendra#EndpointType", + "traits": { + "smithy.api#documentation": "

                                                          The type of endpoint for your Amazon Kendra experience. The type currently available \n is HOME, which is a unique and fully hosted URL to the home page \n of your Amazon Kendra experience.

                                                          " + } + }, + "Endpoint": { + "target": "com.amazonaws.kendra#Endpoint", + "traits": { + "smithy.api#documentation": "

                                                          The endpoint of your Amazon Kendra experience.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides the configuration information of the endpoint for your Amazon Kendra\n experience.

                                                          " + } + }, + "com.amazonaws.kendra#ExperienceEndpoints": { "type": "list", "member": { - "target": "com.amazonaws.kendra#Facet" + "target": "com.amazonaws.kendra#ExperienceEndpoint" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } } }, - "com.amazonaws.kendra#FacetResult": { + "com.amazonaws.kendra#ExperienceEntitiesSummary": { "type": "structure", "members": { - "DocumentAttributeKey": { - "target": "com.amazonaws.kendra#DocumentAttributeKey", + "EntityId": { + "target": "com.amazonaws.kendra#EntityId", "traits": { - "smithy.api#documentation": "

                                                          The key for the facet values. This is the same as the\n DocumentAttributeKey provided in the query.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of a user or group in your Amazon Web Services SSO identity source. \n For example, a user ID could be an email.

                                                          " } }, - "DocumentAttributeValueType": { - "target": "com.amazonaws.kendra#DocumentAttributeValueType", + "EntityType": { + "target": "com.amazonaws.kendra#EntityType", "traits": { - "smithy.api#documentation": "

                                                          The data type of the facet value. This is the same as the type\n defined for the index field when it was created.

                                                          " + "smithy.api#documentation": "

                                                          Shows the type as User or Group.

                                                          " } }, - "DocumentAttributeValueCountPairs": { - "target": "com.amazonaws.kendra#DocumentAttributeValueCountPairList", + "DisplayData": { + "target": "com.amazonaws.kendra#EntityDisplayData", "traits": { - "smithy.api#documentation": "

                                                          An array of key/value pairs, where the key is the value of the\n attribute and the count is the number of documents that share the key\n value.

                                                          " + "smithy.api#documentation": "

                                                          Information about the user entity.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          The facet values for the documents in the response.

                                                          " + "smithy.api#documentation": "

                                                          Summary information for users or groups in your Amazon Web Services SSO identity\n source with granted access to your Amazon Kendra experience. You can create an Amazon Kendra \n experience such as a search application. For more information on creating a \n search application experience, see Building \n a search experience with no code.

                                                          " } }, - "com.amazonaws.kendra#FacetResultList": { + "com.amazonaws.kendra#ExperienceEntitiesSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.kendra#FacetResult" - } - }, - "com.amazonaws.kendra#FailureReason": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^\\P{C}*$" - } - }, - "com.amazonaws.kendra#FaqFileFormat": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CSV", - "name": "CSV" - }, - { - "value": "CSV_WITH_HEADER", - "name": "CSV_WITH_HEADER" - }, - { - "value": "JSON", - "name": "JSON" - } - ] + "target": "com.amazonaws.kendra#ExperienceEntitiesSummary" } }, - "com.amazonaws.kendra#FaqId": { + "com.amazonaws.kendra#ExperienceId": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 100 + "max": 36 }, "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" } }, - "com.amazonaws.kendra#FaqName": { + "com.amazonaws.kendra#ExperienceName": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 100 + "max": 1000 }, "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" } }, - "com.amazonaws.kendra#FaqStatistics": { - "type": "structure", - "members": { - "IndexedQuestionAnswersCount": { - "target": "com.amazonaws.kendra#IndexedQuestionAnswersCount", - "traits": { - "smithy.api#documentation": "

                                                          The total number of FAQ questions and answers contained in the\n index.

                                                          ", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

                                                          Provides statistical information about the FAQ questions and\n answers contained in an index.

                                                          " - } - }, - "com.amazonaws.kendra#FaqStatus": { + "com.amazonaws.kendra#ExperienceStatus": { "type": "string", "traits": { "smithy.api#enum": [ @@ -4405,10 +5345,6 @@ "value": "CREATING", "name": "CREATING" }, - { - "value": "UPDATING", - "name": "UPDATING" - }, { "value": "ACTIVE", "name": "ACTIVE" @@ -4424,64 +5360,295 @@ ] } }, - "com.amazonaws.kendra#FaqSummary": { + "com.amazonaws.kendra#ExperiencesSummary": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.kendra#FaqId", - "traits": { - "smithy.api#documentation": "

                                                          The unique identifier of the FAQ.

                                                          " - } - }, "Name": { - "target": "com.amazonaws.kendra#FaqName", + "target": "com.amazonaws.kendra#ExperienceName", "traits": { - "smithy.api#documentation": "

                                                          The name that you assigned the FAQ when you created or updated the\n FAQ.

                                                          " + "smithy.api#documentation": "

                                                          The name of your Amazon Kendra experience.

                                                          " } }, - "Status": { - "target": "com.amazonaws.kendra#FaqStatus", + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", "traits": { - "smithy.api#documentation": "

                                                          The current status of the FAQ. When the status is\n ACTIVE the FAQ is ready for use.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          " } }, "CreatedAt": { "target": "com.amazonaws.kendra#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          The UNIX datetime that the FAQ was added to the index.

                                                          " - } - }, - "UpdatedAt": { - "target": "com.amazonaws.kendra#Timestamp", - "traits": { - "smithy.api#documentation": "

                                                          The UNIX datetime that the FAQ was last updated.

                                                          " + "smithy.api#documentation": "

                                                          The date-time your Amazon Kendra experience was created.

                                                          " } }, - "FileFormat": { - "target": "com.amazonaws.kendra#FaqFileFormat", + "Status": { + "target": "com.amazonaws.kendra#ExperienceStatus", "traits": { - "smithy.api#documentation": "

                                                          The file type used to create the FAQ.

                                                          " + "smithy.api#documentation": "

                                                          The processing status of your Amazon Kendra experience.

                                                          " } }, - "LanguageCode": { - "target": "com.amazonaws.kendra#LanguageCode", + "Endpoints": { + "target": "com.amazonaws.kendra#ExperienceEndpoints", "traits": { - "smithy.api#documentation": "

                                                          The code for a language. This shows a supported language for the FAQ document \n as part of the summary information for FAQs. English is supported by default. \n For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " + "smithy.api#documentation": "

                                                          The endpoint URLs for your Amazon Kendra experiences. The URLs are unique \n and fully hosted by Amazon Web Services.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          Provides information about a frequently asked questions and answer\n contained in an index.

                                                          " + "smithy.api#documentation": "

                                                          Summary information for your Amazon Kendra experience. You can create an Amazon Kendra \n experience such as a search application. For more information on creating \n a search application experience, see Building \n a search experience with no code.

                                                          " } }, - "com.amazonaws.kendra#FaqSummaryItems": { + "com.amazonaws.kendra#ExperiencesSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.kendra#FaqSummary" + "target": "com.amazonaws.kendra#ExperiencesSummary" } }, - "com.amazonaws.kendra#FeedbackToken": { - "type": "string", + "com.amazonaws.kendra#Facet": { + "type": "structure", + "members": { + "DocumentAttributeKey": { + "target": "com.amazonaws.kendra#DocumentAttributeKey", + "traits": { + "smithy.api#documentation": "

                                                          The unique key for the document attribute.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information about a document attribute

                                                          " + } + }, + "com.amazonaws.kendra#FacetList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#Facet" + } + }, + "com.amazonaws.kendra#FacetResult": { + "type": "structure", + "members": { + "DocumentAttributeKey": { + "target": "com.amazonaws.kendra#DocumentAttributeKey", + "traits": { + "smithy.api#documentation": "

                                                          The key for the facet values. This is the same as the\n DocumentAttributeKey provided in the query.

                                                          " + } + }, + "DocumentAttributeValueType": { + "target": "com.amazonaws.kendra#DocumentAttributeValueType", + "traits": { + "smithy.api#documentation": "

                                                          The data type of the facet value. This is the same as the type\n defined for the index field when it was created.

                                                          " + } + }, + "DocumentAttributeValueCountPairs": { + "target": "com.amazonaws.kendra#DocumentAttributeValueCountPairList", + "traits": { + "smithy.api#documentation": "

                                                          An array of key/value pairs, where the key is the value of the\n attribute and the count is the number of documents that share the key\n value.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The facet values for the documents in the response.

                                                          " + } + }, + "com.amazonaws.kendra#FacetResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#FacetResult" + } + }, + "com.amazonaws.kendra#FailedEntity": { + "type": "structure", + "members": { + "EntityId": { + "target": "com.amazonaws.kendra#EntityId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the user or group in your Amazon Web Services SSO identity \n source. For example, a user ID could be an email.

                                                          " + } + }, + "ErrorMessage": { + "target": "com.amazonaws.kendra#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                                                          The reason the user or group in your Amazon Web Services SSO identity source \n failed to properly configure with your Amazon Kendra experience.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Information on the users or groups in your Amazon Web Services SSO identity \n source that failed to properly configure with your Amazon Kendra experience.

                                                          " + } + }, + "com.amazonaws.kendra#FailedEntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#FailedEntity" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.kendra#FailureReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^\\P{C}*$" + } + }, + "com.amazonaws.kendra#FaqFileFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CSV", + "name": "CSV" + }, + { + "value": "CSV_WITH_HEADER", + "name": "CSV_WITH_HEADER" + }, + { + "value": "JSON", + "name": "JSON" + } + ] + } + }, + "com.amazonaws.kendra#FaqId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" + } + }, + "com.amazonaws.kendra#FaqIdsList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#FaqId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.kendra#FaqName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" + } + }, + "com.amazonaws.kendra#FaqStatistics": { + "type": "structure", + "members": { + "IndexedQuestionAnswersCount": { + "target": "com.amazonaws.kendra#IndexedQuestionAnswersCount", + "traits": { + "smithy.api#documentation": "

                                                          The total number of FAQ questions and answers contained in the\n index.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides statistical information about the FAQ questions and\n answers contained in an index.

                                                          " + } + }, + "com.amazonaws.kendra#FaqStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATING", + "name": "CREATING" + }, + { + "value": "UPDATING", + "name": "UPDATING" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "FAILED", + "name": "FAILED" + } + ] + } + }, + "com.amazonaws.kendra#FaqSummary": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#FaqId", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the FAQ.

                                                          " + } + }, + "Name": { + "target": "com.amazonaws.kendra#FaqName", + "traits": { + "smithy.api#documentation": "

                                                          The name that you assigned the FAQ when you created or updated the\n FAQ.

                                                          " + } + }, + "Status": { + "target": "com.amazonaws.kendra#FaqStatus", + "traits": { + "smithy.api#documentation": "

                                                          The current status of the FAQ. When the status is\n ACTIVE the FAQ is ready for use.

                                                          " + } + }, + "CreatedAt": { + "target": "com.amazonaws.kendra#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The UNIX datetime that the FAQ was added to the index.

                                                          " + } + }, + "UpdatedAt": { + "target": "com.amazonaws.kendra#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The UNIX datetime that the FAQ was last updated.

                                                          " + } + }, + "FileFormat": { + "target": "com.amazonaws.kendra#FaqFileFormat", + "traits": { + "smithy.api#documentation": "

                                                          The file type used to create the FAQ.

                                                          " + } + }, + "LanguageCode": { + "target": "com.amazonaws.kendra#LanguageCode", + "traits": { + "smithy.api#documentation": "

                                                          The code for a language. This shows a supported language for the FAQ document \n as part of the summary information for FAQs. English is supported by default. \n For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides information about a frequently asked questions and answer\n contained in an index.

                                                          " + } + }, + "com.amazonaws.kendra#FaqSummaryItems": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#FaqSummary" + } + }, + "com.amazonaws.kendra#FeedbackToken": { + "type": "string", "traits": { "smithy.api#length": { "min": 1, @@ -4522,7 +5689,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Fetches the queries that are suggested to your users.

                                                          " + "smithy.api#documentation": "

                                                          Fetches the queries that are suggested to your users.

                                                          \n

                                                          \n GetQuerySuggestions is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#GetQuerySuggestionsRequest": { @@ -4567,6 +5734,99 @@ } } }, + "com.amazonaws.kendra#GetSnapshots": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#GetSnapshotsRequest" + }, + "output": { + "target": "com.amazonaws.kendra#GetSnapshotsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#InvalidRequestException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Retrieves search metrics data. The data provides a snapshot of how\n your users interact with your search application and how effective\n the application is.

                                                          " + } + }, + "com.amazonaws.kendra#GetSnapshotsRequest": { + "type": "structure", + "members": { + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index to get search metrics data.

                                                          ", + "smithy.api#required": {} + } + }, + "Interval": { + "target": "com.amazonaws.kendra#Interval", + "traits": { + "smithy.api#documentation": "

                                                          The time interval or time window to get search metrics data. \n The time interval uses the time zone of your index. \n You can view data in the following time windows:

                                                          \n
                                                            \n
                                                          • \n

                                                            \n THIS_WEEK: The current week, starting on \n the Sunday and ending on the day before the current date.

                                                            \n
                                                          • \n
                                                          • \n

                                                            \n ONE_WEEK_AGO: The previous week, starting on \n the Sunday and ending on the following Saturday.

                                                            \n
                                                          • \n
                                                          • \n

                                                            \n TWO_WEEKS_AGO: The week before the previous week, \n starting on the Sunday and ending on the following Saturday.

                                                            \n
                                                          • \n
                                                          • \n

                                                            \n THIS_MONTH: The current month, starting on the \n first day of the month and ending on the day before the current date.

                                                            \n
                                                          • \n
                                                          • \n

                                                            \n ONE_MONTH_AGO: The previous month, starting on the \n first day of the month and ending on the last day of the month.

                                                            \n
                                                          • \n
                                                          • \n

                                                            \n TWO_MONTHS_AGO: The month before the previous month, \n starting on the first day of the month and ending on last day of the month.

                                                            \n
                                                          • \n
                                                          ", + "smithy.api#required": {} + } + }, + "MetricType": { + "target": "com.amazonaws.kendra#MetricType", + "traits": { + "smithy.api#documentation": "

                                                          The metric you want to retrieve. You\n can specify only one metric per call.

                                                          \n

                                                          For more information about the metrics you can view, see \n Gaining \n insights with search analytics.

                                                          ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there\n is more data to retrieve), Amazon Kendra returns a pagination token in \n the response. You can use this pagination token to\n retrieve the next set of search metrics data.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.kendra#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of returned data for the metric.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#GetSnapshotsResponse": { + "type": "structure", + "members": { + "SnapShotTimeFilter": { + "target": "com.amazonaws.kendra#TimeRange", + "traits": { + "smithy.api#documentation": "

                                                          The date-time for the beginning and end of the time window \n for the search metrics data.

                                                          " + } + }, + "SnapshotsDataHeader": { + "target": "com.amazonaws.kendra#SnapshotsDataHeaderFields", + "traits": { + "smithy.api#documentation": "

                                                          The column headers for the search metrics data.

                                                          " + } + }, + "SnapshotsData": { + "target": "com.amazonaws.kendra#SnapshotsDataRecords", + "traits": { + "smithy.api#documentation": "

                                                          The search metrics data. The data returned depends on the \n metric type you requested.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this\n token, which you can use in a later request to retrieve the \n next set of search metrics data.

                                                          " + } + } + } + }, "com.amazonaws.kendra#GoogleDriveConfiguration": { "type": "structure", "members": { @@ -4829,6 +6089,34 @@ ] } }, + "com.amazonaws.kendra#HookConfiguration": { + "type": "structure", + "members": { + "InvocationCondition": { + "target": "com.amazonaws.kendra#DocumentAttributeCondition", + "traits": { + "smithy.api#documentation": "

                                                          The condition used for when a Lambda function should be invoked.

                                                          \n

                                                          For example, you can specify a condition that if there are empty date-time\n values, then Amazon Kendra should invoke a function that inserts the current date-time.

                                                          " + } + }, + "LambdaArn": { + "target": "com.amazonaws.kendra#LambdaArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a role with permission to run a Lambda function\n during ingestion. For more information, see IAM roles for Amazon Kendra.

                                                          ", + "smithy.api#required": {} + } + }, + "S3Bucket": { + "target": "com.amazonaws.kendra#S3BucketName", + "traits": { + "smithy.api#documentation": "

                                                          Stores the original, raw documents or the structured, parsed\n documents before and after altering them. For more information, \n see Data \n contracts for Lambda functions.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides the configuration information for invoking a Lambda function in \n Lambda to alter document metadata and content when ingesting \n documents into Amazon Kendra. You can configure your Lambda function using \n PreExtractionHookConfiguration \n if you want to apply advanced alterations on the original or raw documents. \n If you want to apply advanced alterations on the Amazon Kendra structured documents, \n you must configure your Lambda function using PostExtractionHookConfiguration. \n You can only invoke one Lambda function. However, this function can invoke other \n functions it requires.

                                                          \n

                                                          For more information, see Customizing document metadata\n during the ingestion process.

                                                          " + } + }, "com.amazonaws.kendra#Host": { "type": "string", "traits": { @@ -4839,6 +6127,16 @@ "smithy.api#pattern": "^([^\\s]*)$" } }, + "com.amazonaws.kendra#IdentityAttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" + } + }, "com.amazonaws.kendra#Importance": { "type": "integer", "traits": { @@ -5024,13 +6322,95 @@ } } }, + "com.amazonaws.kendra#InlineCustomDocumentEnrichmentConfiguration": { + "type": "structure", + "members": { + "Condition": { + "target": "com.amazonaws.kendra#DocumentAttributeCondition", + "traits": { + "smithy.api#documentation": "

                                                          Configuration of the condition used for the target document attribute or metadata\n field when ingesting documents into Amazon Kendra.

                                                          " + } + }, + "Target": { + "target": "com.amazonaws.kendra#DocumentAttributeTarget", + "traits": { + "smithy.api#documentation": "

                                                          Configuration of the target document attribute or metadata field when ingesting\n documents into Amazon Kendra. You can also include a value.

                                                          " + } + }, + "DocumentContentDeletion": { + "target": "com.amazonaws.kendra#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          \n TRUE to delete content if the condition used for the target \n attribute is met.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Provides the configuration information for applying basic logic to alter document\n metadata and content when ingesting documents into Amazon Kendra. To apply advanced \n logic, to go beyond what you can do with basic logic, see HookConfiguration.

                                                          \n

                                                          For more information, see Customizing document metadata\n during the ingestion process.

                                                          " + } + }, + "com.amazonaws.kendra#InlineCustomDocumentEnrichmentConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#InlineCustomDocumentEnrichmentConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.kendra#Integer": { "type": "integer", "traits": { "smithy.api#box": {} } }, - "com.amazonaws.kendra#InternalServerException": { + "com.amazonaws.kendra#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.kendra#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

                                                          ", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.kendra#Interval": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "THIS_MONTH", + "name": "THIS_MONTH" + }, + { + "value": "THIS_WEEK", + "name": "THIS_WEEK" + }, + { + "value": "ONE_WEEK_AGO", + "name": "ONE_WEEK_AGO" + }, + { + "value": "TWO_WEEKS_AGO", + "name": "TWO_WEEKS_AGO" + }, + { + "value": "ONE_MONTH_AGO", + "name": "ONE_MONTH_AGO" + }, + { + "value": "TWO_MONTHS_AGO", + "name": "TWO_MONTHS_AGO" + } + ] + } + }, + "com.amazonaws.kendra#InvalidRequestException": { "type": "structure", "members": { "Message": { @@ -5038,9 +6418,9 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          ", - "smithy.api#error": "server", - "smithy.api#httpError": 500 + "smithy.api#documentation": "

                                                          The input to the request is not valid.

                                                          ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 } }, "com.amazonaws.kendra#Issuer": { @@ -5138,45 +6518,306 @@ "value": "SECRET_MANAGER", "name": "SECRET_MANAGER" } - ] - } - }, - "com.amazonaws.kendra#KmsKeyId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 + ] + } + }, + "com.amazonaws.kendra#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.kendra#LambdaArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^/arn:aws[a-zA-Z-]*:lambda:[a-z]+-[a-z]+-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(\\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?/$" + } + }, + "com.amazonaws.kendra#LanguageCode": { + "type": "string", + "traits": { + "smithy.api#documentation": "

                                                          The code for a language. The default language is English. \n For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          ", + "smithy.api#length": { + "min": 2, + "max": 10 + }, + "smithy.api#pattern": "^[a-zA-Z-]*$" + } + }, + "com.amazonaws.kendra#ListDataSourceSyncJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#ListDataSourceSyncJobsRequest" + }, + "output": { + "target": "com.amazonaws.kendra#ListDataSourceSyncJobsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#ConflictException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Gets statistics about synchronizing Amazon Kendra with a data\n source.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.kendra#ListDataSourceSyncJobsRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#DataSourceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the data source.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index that contains the data source.

                                                          ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data to retrieve), \n Amazon Kendra returns a pagination token in the response. You can use this pagination token \n to retrieve the next set of jobs.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.kendra#MaxResultsIntegerForListDataSourceSyncJobsRequest", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of synchronization jobs to return in the response.\n If there are fewer results in the list, this response contains only the\n actual results.

                                                          " + } + }, + "StartTimeFilter": { + "target": "com.amazonaws.kendra#TimeRange", + "traits": { + "smithy.api#documentation": "

                                                          When specified, the synchronization jobs returned in the list are\n limited to jobs between the specified dates.

                                                          " + } + }, + "StatusFilter": { + "target": "com.amazonaws.kendra#DataSourceSyncJobStatus", + "traits": { + "smithy.api#documentation": "

                                                          When specified, only returns synchronization jobs with the\n Status field equal to the specified status.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#ListDataSourceSyncJobsResponse": { + "type": "structure", + "members": { + "History": { + "target": "com.amazonaws.kendra#DataSourceSyncJobHistoryList", + "traits": { + "smithy.api#documentation": "

                                                          A history of synchronization jobs for the data source.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token that you \n can use in the subsequent request to retrieve the next set of jobs.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#ListDataSources": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#ListDataSourcesRequest" + }, + "output": { + "target": "com.amazonaws.kendra#ListDataSourcesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Lists the data sources that you have created.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.kendra#ListDataSourcesRequest": { + "type": "structure", + "members": { + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index that contains the data source.

                                                          ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data to\n retrieve), Amazon Kendra returns a pagination token in the response. You\n can use this pagination token to retrieve the next set of data sources\n (DataSourceSummaryItems).

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.kendra#MaxResultsIntegerForListDataSourcesRequest", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of data sources to return.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#ListDataSourcesResponse": { + "type": "structure", + "members": { + "SummaryItems": { + "target": "com.amazonaws.kendra#DataSourceSummaryList", + "traits": { + "smithy.api#documentation": "

                                                          An array of summary information for one or more data sources.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token that you\n can use in the subsequent request to retrieve the next set of data\n sources.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#ListEntityPersonas": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#ListEntityPersonasRequest" + }, + "output": { + "target": "com.amazonaws.kendra#ListEntityPersonasResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Lists specific permissions of users and groups with access to your \n Amazon Kendra experience.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.kendra#ListEntityPersonasRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data to retrieve),\n Amazon Kendra returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of users or groups.

                                                          " + } }, - "smithy.api#sensitive": {} + "MaxResults": { + "target": "com.amazonaws.kendra#MaxResultsIntegerForListEntityPersonasRequest", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of returned users or groups.

                                                          " + } + } } }, - "com.amazonaws.kendra#LanguageCode": { - "type": "string", - "traits": { - "smithy.api#documentation": "

                                                          The code for a language. The default language is English. \n For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          ", - "smithy.api#length": { - "min": 2, - "max": 10 + "com.amazonaws.kendra#ListEntityPersonasResponse": { + "type": "structure", + "members": { + "SummaryItems": { + "target": "com.amazonaws.kendra#PersonasSummaryList", + "traits": { + "smithy.api#documentation": "

                                                          An array of summary information for one or more users or groups.

                                                          " + } }, - "smithy.api#pattern": "^[a-zA-Z-]*$" + "NextToken": { + "target": "com.amazonaws.kendra#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token, which you can use in \n a later request to retrieve the next set of users or groups.

                                                          " + } + } } }, - "com.amazonaws.kendra#ListDataSourceSyncJobs": { + "com.amazonaws.kendra#ListExperienceEntities": { "type": "operation", "input": { - "target": "com.amazonaws.kendra#ListDataSourceSyncJobsRequest" + "target": "com.amazonaws.kendra#ListExperienceEntitiesRequest" }, "output": { - "target": "com.amazonaws.kendra#ListDataSourceSyncJobsResponse" + "target": "com.amazonaws.kendra#ListExperienceEntitiesResponse" }, "errors": [ { "target": "com.amazonaws.kendra#AccessDeniedException" }, - { - "target": "com.amazonaws.kendra#ConflictException" - }, { "target": "com.amazonaws.kendra#InternalServerException" }, @@ -5191,81 +6832,62 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Gets statistics about synchronizing Amazon Kendra with a data\n source.

                                                          ", + "smithy.api#documentation": "

                                                          Lists users or groups in your Amazon Web Services SSO identity source that are \n granted access to your Amazon Kendra experience. You can create an Amazon Kendra experience \n such as a search application. For more information on creating a search \n application experience, see Building \n a search experience with no code.

                                                          ", "smithy.api#paginated": { "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" + "outputToken": "NextToken" } } }, - "com.amazonaws.kendra#ListDataSourceSyncJobsRequest": { + "com.amazonaws.kendra#ListExperienceEntitiesRequest": { "type": "structure", "members": { "Id": { - "target": "com.amazonaws.kendra#DataSourceId", + "target": "com.amazonaws.kendra#ExperienceId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the data source.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience.

                                                          ", "smithy.api#required": {} } }, "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the index that contains the data source.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.kendra#NextToken", "traits": { - "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data to retrieve), \n Amazon Kendra returns a pagination token in the response. You can use this pagination token \n to retrieve the next set of jobs.

                                                          " - } - }, - "MaxResults": { - "target": "com.amazonaws.kendra#MaxResultsIntegerForListDataSourceSyncJobsRequest", - "traits": { - "smithy.api#documentation": "

                                                          The maximum number of synchronization jobs to return in the response.\n If there are fewer results in the list, this response contains only the\n actual results.

                                                          " - } - }, - "StartTimeFilter": { - "target": "com.amazonaws.kendra#TimeRange", - "traits": { - "smithy.api#documentation": "

                                                          When specified, the synchronization jobs returned in the list are\n limited to jobs between the specified dates.

                                                          " - } - }, - "StatusFilter": { - "target": "com.amazonaws.kendra#DataSourceSyncJobStatus", - "traits": { - "smithy.api#documentation": "

                                                          When specified, only returns synchronization jobs with the\n Status field equal to the specified status.

                                                          " + "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data to retrieve),\n Amazon Kendra returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of users or groups.

                                                          " } } } }, - "com.amazonaws.kendra#ListDataSourceSyncJobsResponse": { + "com.amazonaws.kendra#ListExperienceEntitiesResponse": { "type": "structure", "members": { - "History": { - "target": "com.amazonaws.kendra#DataSourceSyncJobHistoryList", + "SummaryItems": { + "target": "com.amazonaws.kendra#ExperienceEntitiesSummaryList", "traits": { - "smithy.api#documentation": "

                                                          A history of synchronization jobs for the data source.

                                                          " + "smithy.api#documentation": "

                                                          An array of summary information for one or more users or groups.

                                                          " } }, "NextToken": { "target": "com.amazonaws.kendra#NextToken", "traits": { - "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token that you \n can use in the subsequent request to retrieve the next set of jobs.

                                                          " + "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token, which you can use in \n a later request to retrieve the next set of users or groups.

                                                          " } } } }, - "com.amazonaws.kendra#ListDataSources": { + "com.amazonaws.kendra#ListExperiences": { "type": "operation", "input": { - "target": "com.amazonaws.kendra#ListDataSourcesRequest" + "target": "com.amazonaws.kendra#ListExperiencesRequest" }, "output": { - "target": "com.amazonaws.kendra#ListDataSourcesResponse" + "target": "com.amazonaws.kendra#ListExperiencesResponse" }, "errors": [ { @@ -5285,7 +6907,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Lists the data sources that you have created.

                                                          ", + "smithy.api#documentation": "

                                                          Lists one or more Amazon Kendra experiences. You can create an Amazon Kendra experience such \n as a search application. For more information on creating a search application \n experience, see Building a \n search experience with no code.

                                                          ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5293,43 +6915,43 @@ } } }, - "com.amazonaws.kendra#ListDataSourcesRequest": { + "com.amazonaws.kendra#ListExperiencesRequest": { "type": "structure", "members": { "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the index that contains the data source.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience.

                                                          ", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.kendra#NextToken", "traits": { - "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data to\n retrieve), Amazon Kendra returns a pagination token in the response. You\n can use this pagination token to retrieve the next set of data sources\n (DataSourceSummaryItems).

                                                          " + "smithy.api#documentation": "

                                                          If the previous response was incomplete (because there is more data\n to retrieve), Amazon Kendra returns a pagination token in the response. You can use this\n pagination token to retrieve the next set of Amazon Kendra experiences.

                                                          " } }, "MaxResults": { - "target": "com.amazonaws.kendra#MaxResultsIntegerForListDataSourcesRequest", + "target": "com.amazonaws.kendra#MaxResultsIntegerForListExperiencesRequest", "traits": { - "smithy.api#documentation": "

                                                          The maximum number of data sources to return.

                                                          " + "smithy.api#documentation": "

                                                          The maximum number of returned Amazon Kendra experiences.

                                                          " } } } }, - "com.amazonaws.kendra#ListDataSourcesResponse": { + "com.amazonaws.kendra#ListExperiencesResponse": { "type": "structure", "members": { "SummaryItems": { - "target": "com.amazonaws.kendra#DataSourceSummaryList", + "target": "com.amazonaws.kendra#ExperiencesSummaryList", "traits": { - "smithy.api#documentation": "

                                                          An array of summary information for one or more data sources.

                                                          " + "smithy.api#documentation": "

                                                          An array of summary information for one or more Amazon Kendra experiences.

                                                          " } }, "NextToken": { "target": "com.amazonaws.kendra#NextToken", "traits": { - "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token that you\n can use in the subsequent request to retrieve the next set of data\n sources.

                                                          " + "smithy.api#documentation": "

                                                          If the response is truncated, Amazon Kendra returns this token, which you can use \n in a later request to retrieve the next set of Amazon Kendra experiences.

                                                          " } } } @@ -5433,7 +7055,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Provides a list of groups that are mapped to users before a \n given ordering or timestamp identifier.

                                                          " + "smithy.api#documentation": "

                                                          Provides a list of groups that are mapped to users before a \n given ordering or timestamp identifier.

                                                          \n

                                                          \n ListGroupsOlderThanOrderingId is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#ListGroupsOlderThanOrderingIdRequest": { @@ -5587,7 +7209,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Lists the block lists used for query suggestions for an index.

                                                          \n

                                                          For information on the current quota limits for block lists, see \n Quotas \n for Amazon Kendra.

                                                          " + "smithy.api#documentation": "

                                                          Lists the block lists used for query suggestions for an index.

                                                          \n

                                                          For information on the current quota limits for block lists, see \n Quotas \n for Amazon Kendra.

                                                          \n

                                                          \n ListQuerySuggestionsBlockLists is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#ListQuerySuggestionsBlockListsRequest": { @@ -5799,6 +7421,26 @@ } } }, + "com.amazonaws.kendra#MaxResultsIntegerForListEntityPersonasRequest": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.kendra#MaxResultsIntegerForListExperiencesRequest": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.kendra#MaxResultsIntegerForListFaqsRequest": { "type": "integer", "traits": { @@ -5919,6 +7561,37 @@ } } }, + "com.amazonaws.kendra#MetricType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "QUERIES_BY_COUNT", + "name": "QUERIES_BY_COUNT" + }, + { + "value": "QUERIES_BY_ZERO_CLICK_RATE", + "name": "QUERIES_BY_ZERO_CLICK_RATE" + }, + { + "value": "QUERIES_BY_ZERO_RESULT_RATE", + "name": "QUERIES_BY_ZERO_RESULT_RATE" + }, + { + "value": "DOCS_BY_CLICK_COUNT", + "name": "DOCS_BY_CLICK_COUNT" + }, + { + "value": "AGG_QUERY_DOC_METRICS", + "name": "AGG_QUERY_DOC_METRICS" + }, + { + "value": "TREND_QUERY_DOC_METRICS", + "name": "TREND_QUERY_DOC_METRICS" + } + ] + } + }, "com.amazonaws.kendra#MetricValue": { "type": "string", "traits": { @@ -5970,6 +7643,17 @@ ] } }, + "com.amazonaws.kendra#NameType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[\\S\\s]*$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.kendra#NextToken": { "type": "string", "traits": { @@ -6105,6 +7789,59 @@ "smithy.api#pattern": "^d-[0-9a-fA-F]{10}$" } }, + "com.amazonaws.kendra#Persona": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "OWNER", + "name": "OWNER" + }, + { + "value": "VIEWER", + "name": "VIEWER" + } + ] + } + }, + "com.amazonaws.kendra#PersonasSummary": { + "type": "structure", + "members": { + "EntityId": { + "target": "com.amazonaws.kendra#EntityId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of a user or group in your Amazon Web Services SSO identity source. \n For example, a user ID could be an email.

                                                          " + } + }, + "Persona": { + "target": "com.amazonaws.kendra#Persona", + "traits": { + "smithy.api#documentation": "

                                                          The persona that defines the specific permissions of the user or group in \n your Amazon Web Services SSO identity source. The available personas or access \n roles are Owner and Viewer. For more information on \n these personas, see Providing \n access to your search page.

                                                          " + } + }, + "CreatedAt": { + "target": "com.amazonaws.kendra#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The date-time the summary information was created.

                                                          " + } + }, + "UpdatedAt": { + "target": "com.amazonaws.kendra#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The date-time the summary information was last updated.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Summary information for users or groups in your Amazon Web Services SSO identity \n source. This applies to users and groups with specific permissions that define \n their level of access to your Amazon Kendra experience. You can create an Amazon Kendra experience \n such as a search application. For more information on creating a search application \n experience, see Building a \n search experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#PersonasSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#PersonasSummary" + } + }, "com.amazonaws.kendra#Port": { "type": "integer", "traits": { @@ -6238,7 +7975,7 @@ "Credentials": { "target": "com.amazonaws.kendra#SecretArn", "traits": { - "smithy.api#documentation": "

                                                          Your secret ARN, which you can create in AWS Secrets Manager\n

                                                          \n

                                                          The credentials are optional. You use a secret if web proxy credentials \n are required to connect to a website host. Amazon Kendra currently support basic \n authentication to connect to a web proxy server. The secret stores your \n credentials.

                                                          " + "smithy.api#documentation": "

                                                          Your secret ARN, which you can create in Secrets Manager\n

                                                          \n

                                                          The credentials are optional. You use a secret if web proxy credentials \n are required to connect to a website host. Amazon Kendra currently support basic \n authentication to connect to a web proxy server. The secret stores your \n credentials.

                                                          " } } }, @@ -6275,7 +8012,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Maps users to their groups so that you only need to provide \n the user ID when you issue the query.

                                                          \n

                                                          You can also map sub groups to groups. \n For example, the group \"Company Intellectual Property Teams\" includes \n sub groups \"Research\" and \"Engineering\". These sub groups include their\n own list of users or people who work in these teams. Only users who work \n in research and engineering, and therefore belong in the intellectual \n property group, can see top-secret company documents in their search \n results.

                                                          \n

                                                          You map users to their groups when you want to filter search results \n for different users based on their group’s access to documents. For more \n information on filtering search results for different users, see \n Filtering \n on user context.

                                                          \n

                                                          If more than five PUT actions for a group are currently \n processing, a validation exception is thrown.

                                                          " + "smithy.api#documentation": "

                                                          Maps users to their groups so that you only need to provide \n the user ID when you issue the query.

                                                          \n

                                                          You can also map sub groups to groups. \n For example, the group \"Company Intellectual Property Teams\" includes \n sub groups \"Research\" and \"Engineering\". These sub groups include their\n own list of users or people who work in these teams. Only users who work \n in research and engineering, and therefore belong in the intellectual \n property group, can see top-secret company documents in their search \n results.

                                                          \n

                                                          You map users to their groups when you want to filter search results \n for different users based on their group’s access to documents. For more \n information on filtering search results for different users, see \n Filtering \n on user context.

                                                          \n

                                                          If more than five PUT actions for a group are currently \n processing, a validation exception is thrown.

                                                          \n

                                                          \n PutPrincipalMapping is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#PutPrincipalMappingRequest": { @@ -6888,7 +8625,7 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 1, + "min": 0, "max": 1284 }, "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$" @@ -7510,7 +9247,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Provides the configuration information of the seed or starting point URLs to crawl.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use the Amazon Kendra web \n crawler to index your own webpages, or webpages that you have authorization \n to index.\n

                                                          " + "smithy.api#documentation": "

                                                          Provides the configuration information of the seed or starting point URLs to crawl.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use Amazon Kendra Web \n Crawler to index your own webpages, or webpages that you have authorization \n to index.\n

                                                          " } }, "com.amazonaws.kendra#SeedUrlList": { @@ -7608,7 +9345,7 @@ "AuthenticationType": { "target": "com.amazonaws.kendra#ServiceNowAuthenticationType", "traits": { - "smithy.api#documentation": "

                                                          Determines the type of authentication used to connect to the\n ServiceNow instance. If you choose HTTP_BASIC, Amazon Kendra is\n authenticated using the user name and password provided in the AWS\n Secrets Manager secret in the SecretArn field. When you\n choose OAUTH2, Amazon Kendra is authenticated using the OAuth\n token and secret provided in the Secrets Manager secret, and the\n user name and password are used to determine which information Amazon Kendra\n has access to.

                                                          \n

                                                          When you use OAUTH2 authentication, you must generate\n a token and a client secret using the ServiceNow console. For more\n information, see Using a\n ServiceNow data source.

                                                          " + "smithy.api#documentation": "

                                                          Determines the type of authentication used to connect to the\n ServiceNow instance. If you choose HTTP_BASIC, Amazon Kendra is\n authenticated using the user name and password provided in the \n Secrets Manager secret in the SecretArn field. When you\n choose OAUTH2, Amazon Kendra is authenticated using the OAuth\n token and secret provided in the Secrets Manager secret, and the\n user name and password are used to determine which information Amazon Kendra\n has access to.

                                                          \n

                                                          When you use OAUTH2 authentication, you must generate\n a token and a client secret using the ServiceNow console. For more\n information, see Using a\n ServiceNow data source.

                                                          " } } }, @@ -7765,7 +9502,7 @@ "SecretArn": { "target": "com.amazonaws.kendra#SecretArn", "traits": { - "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of credentials stored in \n Secrets Manager. The credentials should be a user/password pair. \n If you use SharePoint Server, you also need to provide the sever \n domain name as part of the credentials. For\n more information, see Using a\n Microsoft SharePoint Data Source. For more information\n about Secrets Manager, see What Is \n Secrets Manager in the Secrets Manager\n user guide.

                                                          ", + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of credentials stored in \n Secrets Manager. The credentials should be a user/password pair. \n If you use SharePoint Server, you also need to provide the sever \n domain name as part of the credentials. For\n more information, see Using a\n Microsoft SharePoint Data Source. For more information\n about Secrets Manager see What Is \n Secrets Manager in the Secrets Manager\n user guide.

                                                          ", "smithy.api#required": {} } }, @@ -7885,7 +9622,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Provides the configuration information of the sitemap URLs to crawl.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use the Amazon Kendra web \n crawler to index your own webpages, or webpages that you have authorization \n to index.\n

                                                          " + "smithy.api#documentation": "

                                                          Provides the configuration information of the sitemap URLs to crawl.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use Amazon Kendra Web \n Crawler to index your own webpages, or webpages that you have authorization \n to index.\n

                                                          " } }, "com.amazonaws.kendra#SiteMapsList": { @@ -7900,6 +9637,24 @@ } } }, + "com.amazonaws.kendra#SnapshotsDataHeaderFields": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#String" + } + }, + "com.amazonaws.kendra#SnapshotsDataRecord": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#String" + } + }, + "com.amazonaws.kendra#SnapshotsDataRecords": { + "type": "list", + "member": { + "target": "com.amazonaws.kendra#SnapshotsDataRecord" + } + }, "com.amazonaws.kendra#SortOrder": { "type": "string", "traits": { @@ -8137,7 +9892,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Enables you to provide feedback to Amazon Kendra to improve the\n performance of your index.

                                                          " + "smithy.api#documentation": "

                                                          Enables you to provide feedback to Amazon Kendra to improve the\n performance of your index.

                                                          \n

                                                          \n SubmitFeedback is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#SubmitFeedbackRequest": { @@ -8712,7 +10467,10 @@ } }, "Configuration": { - "target": "com.amazonaws.kendra#DataSourceConfiguration" + "target": "com.amazonaws.kendra#DataSourceConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for an Amazon Kendra data source.

                                                          " + } }, "Description": { "target": "com.amazonaws.kendra#Description", @@ -8737,6 +10495,84 @@ "traits": { "smithy.api#documentation": "

                                                          The code for a language. This allows you to support a language for all \n documents when updating the data source. English is supported \n by default. For more information on supported languages, including their codes, \n see Adding \n documents in languages other than English.

                                                          " } + }, + "CustomDocumentEnrichmentConfiguration": { + "target": "com.amazonaws.kendra#CustomDocumentEnrichmentConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for altering document metadata and content during the\n document ingestion process when you update a data source.

                                                          \n

                                                          For more information on how to create, modify and delete document metadata, or make\n other content alterations when you ingest documents into Amazon Kendra, see \n Customizing \n document metadata during the ingestion process.

                                                          " + } + } + } + }, + "com.amazonaws.kendra#UpdateExperience": { + "type": "operation", + "input": { + "target": "com.amazonaws.kendra#UpdateExperienceRequest" + }, + "errors": [ + { + "target": "com.amazonaws.kendra#AccessDeniedException" + }, + { + "target": "com.amazonaws.kendra#ConflictException" + }, + { + "target": "com.amazonaws.kendra#InternalServerException" + }, + { + "target": "com.amazonaws.kendra#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kendra#ThrottlingException" + }, + { + "target": "com.amazonaws.kendra#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Updates your Amazon Kendra experience such as a search application. For more information on\n creating a search application experience, see Building a \n search experience with no code.

                                                          " + } + }, + "com.amazonaws.kendra#UpdateExperienceRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kendra#ExperienceId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of your Amazon Kendra experience you want to update.

                                                          ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.kendra#ExperienceName", + "traits": { + "smithy.api#documentation": "

                                                          The name of your Amazon Kendra experience you want to update.

                                                          " + } + }, + "IndexId": { + "target": "com.amazonaws.kendra#IndexId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the index for your Amazon Kendra experience you want to update.

                                                          ", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.kendra#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a role with permission to access Query\n operations, QuerySuggestions operations, SubmitFeedback\n operations, and Amazon Web Services SSO that stores your user and group information. \n For more information, see IAM roles for Amazon Kendra.

                                                          " + } + }, + "Configuration": { + "target": "com.amazonaws.kendra#ExperienceConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Provides the user configuration information. This includes the Amazon Web Services SSO\n field name that contains the identifiers of your users, such as their emails.

                                                          " + } + }, + "Description": { + "target": "com.amazonaws.kendra#Description", + "traits": { + "smithy.api#documentation": "

                                                          The description of your Amazon Kendra experience you want to update.

                                                          " + } } } }, @@ -8827,7 +10663,7 @@ "UserGroupResolutionConfiguration": { "target": "com.amazonaws.kendra#UserGroupResolutionConfiguration", "traits": { - "smithy.api#documentation": "

                                                          Enables fetching access levels of groups and users from an AWS Single Sign-On \n identity source. To configure this, see \n UserGroupResolutionConfiguration.

                                                          " + "smithy.api#documentation": "

                                                          Enables fetching access levels of groups and users from an Amazon Web Services Single Sign On \n identity source. To configure this, see \n UserGroupResolutionConfiguration.

                                                          " } } } @@ -8858,7 +10694,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Updates a block list used for query suggestions for an index.

                                                          \n

                                                          Updates to a block list might not take effect right away. Amazon Kendra \n needs to refresh the entire suggestions list to apply any updates to the \n block list. Other changes not related to the block list apply immediately.

                                                          \n

                                                          If a block list is updating, then you need to wait for the first update to \n finish before submitting another update.

                                                          \n

                                                          Amazon Kendra supports partial updates, so you only need to provide the fields \n you want to update.

                                                          " + "smithy.api#documentation": "

                                                          Updates a block list used for query suggestions for an index.

                                                          \n

                                                          Updates to a block list might not take effect right away. Amazon Kendra \n needs to refresh the entire suggestions list to apply any updates to the \n block list. Other changes not related to the block list apply immediately.

                                                          \n

                                                          If a block list is updating, then you need to wait for the first update to \n finish before submitting another update.

                                                          \n

                                                          Amazon Kendra supports partial updates, so you only need to provide the fields \n you want to update.

                                                          \n

                                                          \n UpdateQuerySuggestionsBlockList is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#UpdateQuerySuggestionsBlockListRequest": { @@ -8930,7 +10766,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Updates the settings of query suggestions for an index.

                                                          \n

                                                          Amazon Kendra supports partial updates, so you only need to provide \n the fields you want to update.

                                                          \n

                                                          If an update is currently processing (i.e. 'happening'), you \n need to wait for the update to finish before making another update.

                                                          \n

                                                          Updates to query suggestions settings might not take effect right away. \n The time for your updated settings to take effect depends on the updates \n made and the number of search queries in your index.

                                                          \n

                                                          You can still enable/disable query suggestions at any time.

                                                          " + "smithy.api#documentation": "

                                                          Updates the settings of query suggestions for an index.

                                                          \n

                                                          Amazon Kendra supports partial updates, so you only need to provide \n the fields you want to update.

                                                          \n

                                                          If an update is currently processing (i.e. 'happening'), you \n need to wait for the update to finish before making another update.

                                                          \n

                                                          Updates to query suggestions settings might not take effect right away. \n The time for your updated settings to take effect depends on the updates \n made and the number of search queries in your index.

                                                          \n

                                                          You can still enable/disable query suggestions at any time.

                                                          \n

                                                          \n UpdateQuerySuggestionsConfig is currently not supported in the \n Amazon Web Services GovCloud (US-West) region.

                                                          " } }, "com.amazonaws.kendra#UpdateQuerySuggestionsConfigRequest": { @@ -9071,7 +10907,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Provides the configuration information of the URLs to crawl.

                                                          \n

                                                          You can only crawl websites that use the secure communication protocol, \n Hypertext Transfer Protocol Secure (HTTPS). If you receive an error when \n crawling a website, it could be that the website is blocked from crawling.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use the Amazon Kendra web \n crawler to index your own webpages, or webpages that you have authorization to \n index.\n

                                                          " + "smithy.api#documentation": "

                                                          Provides the configuration information of the URLs to crawl.

                                                          \n

                                                          You can only crawl websites that use the secure communication protocol, \n Hypertext Transfer Protocol Secure (HTTPS). If you receive an error when \n crawling a website, it could be that the website is blocked from crawling.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use Amazon Kendra Web \n Crawler to index your own webpages, or webpages that you have authorization to \n index.\n

                                                          " } }, "com.amazonaws.kendra#UserAccount": { @@ -9137,13 +10973,13 @@ "UserGroupResolutionMode": { "target": "com.amazonaws.kendra#UserGroupResolutionMode", "traits": { - "smithy.api#documentation": "

                                                          The identity store provider (mode) you want to use to fetch access levels of groups and\n users. AWS Single Sign-On is currently the only available mode. Your users and groups\n must\n exist in an AWS SSO identity source in order to use this mode.

                                                          ", + "smithy.api#documentation": "

                                                          The identity store provider (mode) you want to use to fetch access levels of groups and\n users. Amazon Web Services Single Sign On is currently the only available mode. Your users and groups\n must\n exist in an Amazon Web Services SSO identity source in order to use this mode.

                                                          ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                                                          Provides the configuration information to fetch access levels \n of groups and users from an AWS Single Sign-On identity \n source. This is useful for setting up user context filtering, where \n Amazon Kendra filters search results for different users based on their \n group's access to documents. You can also map your users to their \n groups for user context filtering using the \n PutPrincipalMapping \n operation.

                                                          \n

                                                          To set up an AWS SSO identity source in the console to use with \n Amazon Kendra, see Getting started \n with an AWS SSO identity source. You must also grant the required \n permissions to use AWS SSO with Amazon Kendra. For more information, see \n IAM roles for \n AWS Single Sign-On.

                                                          " + "smithy.api#documentation": "

                                                          Provides the configuration information to fetch access levels \n of groups and users from an Amazon Web Services Single Sign On identity \n source. This is useful for setting up user context filtering, where \n Amazon Kendra filters search results for different users based on their \n group's access to documents. You can also map your users to their \n groups for user context filtering using the \n PutPrincipalMapping \n operation.

                                                          \n

                                                          To set up an Amazon Web Services SSO identity source in the console to use with \n Amazon Kendra, see Getting started \n with an Amazon Web Services SSO identity source. You must also grant the required \n permissions to use Amazon Web Services SSO with Amazon Kendra. For more information, see \n IAM roles for \n Amazon Web Services SSO.

                                                          " } }, "com.amazonaws.kendra#UserGroupResolutionMode": { @@ -9171,6 +11007,20 @@ "smithy.api#pattern": "^\\P{C}*$" } }, + "com.amazonaws.kendra#UserIdentityConfiguration": { + "type": "structure", + "members": { + "IdentityAttributeName": { + "target": "com.amazonaws.kendra#IdentityAttributeName", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Web Services SSO field name that contains the identifiers of your users, \n such as their emails. This is used for user context filtering \n and for granting access to your Amazon Kendra experience. You must set up Amazon Web Services SSO \n with Amazon Kendra. You must include your users and groups in your Access Control List when \n you ingest documents into your index. For more information, see \n Getting \n started with an Amazon Web Services SSO identity source.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Configuration information for the identifiers of your users.

                                                          " + } + }, "com.amazonaws.kendra#UserNameAttributeField": { "type": "string", "traits": { @@ -9270,7 +11120,7 @@ "Urls": { "target": "com.amazonaws.kendra#Urls", "traits": { - "smithy.api#documentation": "

                                                          Specifies the seed or starting point URLs of the \n websites or the sitemap URLs of the websites you want to crawl.

                                                          \n

                                                          You can include website subdomains. You can list up to 100 seed \n URLs and up to three sitemap URLs.

                                                          \n

                                                          You can only crawl websites that use the secure communication protocol, \n Hypertext Transfer Protocol Secure (HTTPS). If you receive an error when \n crawling a website, it could be that the website is blocked from crawling.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use the Amazon Kendra \n web crawler to index your own webpages, or webpages that you have \n authorization to index.\n

                                                          ", + "smithy.api#documentation": "

                                                          Specifies the seed or starting point URLs of the \n websites or the sitemap URLs of the websites you want to crawl.

                                                          \n

                                                          You can include website subdomains. You can list up to 100 seed \n URLs and up to three sitemap URLs.

                                                          \n

                                                          You can only crawl websites that use the secure communication protocol, \n Hypertext Transfer Protocol Secure (HTTPS). If you receive an error when \n crawling a website, it could be that the website is blocked from crawling.

                                                          \n

                                                          \n When selecting websites to index, you must adhere to \n the Amazon Acceptable Use Policy \n and all other Amazon terms. Remember that you must only use Amazon Kendra \n Web Crawler to index your own webpages, or webpages that you have \n authorization to index.\n

                                                          ", "smithy.api#required": {} } }, @@ -9313,18 +11163,18 @@ "ProxyConfiguration": { "target": "com.amazonaws.kendra#ProxyConfiguration", "traits": { - "smithy.api#documentation": "

                                                          Provides configuration information required to connect to your internal \n websites via a web proxy.

                                                          \n

                                                          You must provide the website host name and port number. For example, the \n host name of https://a.example.com/page1.html is \"a.example.com\" and the \n port is 443, the standard port for HTTPS.

                                                          \n

                                                          Web proxy credentials are optional and you can use them to connect to a \n web proxy server that requires basic authentication. To store web proxy \n credentials, you use a secret in AWS Secrets Manager.

                                                          " + "smithy.api#documentation": "

                                                          Provides configuration information required to connect to your internal \n websites via a web proxy.

                                                          \n

                                                          You must provide the website host name and port number. For example, the \n host name of https://a.example.com/page1.html is \"a.example.com\" and the \n port is 443, the standard port for HTTPS.

                                                          \n

                                                          Web proxy credentials are optional and you can use them to connect to a \n web proxy server that requires basic authentication. To store web proxy \n credentials, you use a secret in Secrets Manager.

                                                          " } }, "AuthenticationConfiguration": { "target": "com.amazonaws.kendra#AuthenticationConfiguration", "traits": { - "smithy.api#documentation": "

                                                          Provides configuration information required to connect to websites using \n authentication.

                                                          \n

                                                          You can connect to websites using basic authentication of user name and password.

                                                          \n

                                                          You must provide the website host name and port number. For example, the host name \n of https://a.example.com/page1.html is \"a.example.com\" and the port is 443, the \n standard port for HTTPS. You use a secret in AWS Secrets Manager to store \n your authentication credentials.

                                                          " + "smithy.api#documentation": "

                                                          Provides configuration information required to connect to websites using \n authentication.

                                                          \n

                                                          You can connect to websites using basic authentication of user name and password.

                                                          \n

                                                          You must provide the website host name and port number. For example, the host name \n of https://a.example.com/page1.html is \"a.example.com\" and the port is 443, the \n standard port for HTTPS. You use a secret in Secrets Manager to store \n your authentication credentials.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          Provides the configuration information required for Amazon Kendra \n web crawler.

                                                          " + "smithy.api#documentation": "

                                                          Provides the configuration information required for Amazon Kendra \n Web Crawler.

                                                          " } }, "com.amazonaws.kendra#WebCrawlerMode": { @@ -9352,7 +11202,7 @@ "OrganizationId": { "target": "com.amazonaws.kendra#OrganizationId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the directory corresponding to your \n Amazon WorkDocs site repository.

                                                          \n

                                                          You can find the organization ID in the \n AWS Directory Service by going to \n Active Directory, then \n Directories. Your Amazon WorkDocs site directory has an \n ID, which is the organization ID. You can also set up a new Amazon WorkDocs \n directory in the AWS Directory Service console and enable a Amazon WorkDocs site \n for the directory in the Amazon WorkDocs console.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the directory corresponding to your \n Amazon WorkDocs site repository.

                                                          \n

                                                          You can find the organization ID in the \n Directory Service by going to \n Active Directory, then \n Directories. Your Amazon WorkDocs site directory has an \n ID, which is the organization ID. You can also set up a new Amazon WorkDocs \n directory in the Directory Service console and enable a Amazon WorkDocs site \n for the directory in the Amazon WorkDocs console.

                                                          ", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/lex-models-v2.json b/codegen/sdk-codegen/aws-models/lex-models-v2.json index 8eaa7793337d..15e196c30ac8 100644 --- a/codegen/sdk-codegen/aws-models/lex-models-v2.json +++ b/codegen/sdk-codegen/aws-models/lex-models-v2.json @@ -192,6 +192,75 @@ } } }, + "com.amazonaws.lexmodelsv2#AssociatedTranscript": { + "type": "structure", + "members": { + "transcript": { + "target": "com.amazonaws.lexmodelsv2#Transcript", + "traits": { + "smithy.api#documentation": "

                                                          The content of the transcript that meets the search filter criteria.\n For the JSON format of the transcript, see Output transcript\n format.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object containing information that associates the recommended\n intent/slot type with a conversation.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#AssociatedTranscriptFilter": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.lexmodelsv2#AssociatedTranscriptFilterName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the field to use for filtering. The allowed names are\n IntentId and SlotTypeId.

                                                          ", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.lexmodelsv2#FilterValues", + "traits": { + "smithy.api#documentation": "

                                                          The values to use to filter the transcript.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Filters to search for the associated transcript.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#AssociatedTranscriptFilterName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IntentId", + "name": "IntentId" + }, + { + "value": "SlotTypeId", + "name": "SlotTypeId" + } + ] + } + }, + "com.amazonaws.lexmodelsv2#AssociatedTranscriptFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelsv2#AssociatedTranscriptFilter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.lexmodelsv2#AssociatedTranscriptList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelsv2#AssociatedTranscript" + } + }, "com.amazonaws.lexmodelsv2#AttachmentTitle": { "type": "string", "traits": { @@ -785,6 +854,10 @@ { "value": "Importing", "name": "Importing" + }, + { + "value": "Processing", + "name": "Processing" } ] } @@ -839,6 +912,127 @@ "target": "com.amazonaws.lexmodelsv2#BotLocaleSummary" } }, + "com.amazonaws.lexmodelsv2#BotRecommendationResultStatistics": { + "type": "structure", + "members": { + "intents": { + "target": "com.amazonaws.lexmodelsv2#IntentStatistics", + "traits": { + "smithy.api#documentation": "

                                                          Statistical information about about the intents associated with the\n bot recommendation results.

                                                          " + } + }, + "slotTypes": { + "target": "com.amazonaws.lexmodelsv2#SlotTypeStatistics", + "traits": { + "smithy.api#documentation": "

                                                          Statistical information about the slot types associated with the bot\n recommendation results.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A statistical summary of the bot recommendation results.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#BotRecommendationResults": { + "type": "structure", + "members": { + "botLocaleExportUrl": { + "target": "com.amazonaws.lexmodelsv2#PresignedS3Url", + "traits": { + "smithy.api#documentation": "

                                                          The presigned URL link of the recommended bot definition.

                                                          " + } + }, + "associatedTranscriptsUrl": { + "target": "com.amazonaws.lexmodelsv2#PresignedS3Url", + "traits": { + "smithy.api#documentation": "

                                                          The presigned url link of the associated transcript.

                                                          " + } + }, + "statistics": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationResultStatistics", + "traits": { + "smithy.api#documentation": "

                                                          The statistical summary of the bot recommendation results.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object representing the URL of the bot definition, the URL of\n the associated transcript and a statistical summary of the bot\n recommendation results.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#BotRecommendationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Processing", + "name": "Processing" + }, + { + "value": "Deleting", + "name": "Deleting" + }, + { + "value": "Deleted", + "name": "Deleted" + }, + { + "value": "Downloading", + "name": "Downloading" + }, + { + "value": "Updating", + "name": "Updating" + }, + { + "value": "Available", + "name": "Available" + }, + { + "value": "Failed", + "name": "Failed" + } + ] + } + }, + "com.amazonaws.lexmodelsv2#BotRecommendationSummary": { + "type": "structure", + "members": { + "botRecommendationStatus": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationStatus", + "traits": { + "smithy.api#documentation": "

                                                          The status of the bot recommendation.

                                                          \n

                                                          If the status is Failed, then the reasons for the failure are listed\n in the failureReasons field.

                                                          ", + "smithy.api#required": {} + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot recommendation to be\n updated.

                                                          ", + "smithy.api#required": {} + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot recommendation was\n created.

                                                          " + } + }, + "lastUpdatedDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot recommendation was\n last updated.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A summary of the bot recommendation.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#BotRecommendationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationSummary" + } + }, "com.amazonaws.lexmodelsv2#BotSortAttribute": { "type": "string", "traits": { @@ -1547,6 +1741,12 @@ "smithy.api#documentation": "

                                                          Configures conversation logging that saves audio, text, and metadata\n for the conversations with your users.

                                                          " } }, + "com.amazonaws.lexmodelsv2#Count": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.lexmodelsv2#CreateBot": { "type": "operation", "input": { @@ -3068,6 +3268,28 @@ "smithy.api#documentation": "

                                                          By default, data stored by Amazon Lex is encrypted. The\n DataPrivacy structure provides settings that determine\n how Amazon Lex handles special cases of securing the data for your bot.\n

                                                          " } }, + "com.amazonaws.lexmodelsv2#DateRangeFilter": { + "type": "structure", + "members": { + "startDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp indicating the start date for the date range\n filter.

                                                          ", + "smithy.api#required": {} + } + }, + "endDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp indicating the end date for the date range\n filter.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object used for specifying the data range that the customer\n wants Amazon Lex to read through in the input transcripts.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#DeleteBot": { "type": "operation", "input": { @@ -4539,88 +4761,227 @@ } } }, - "com.amazonaws.lexmodelsv2#DescribeBotRequest": { + "com.amazonaws.lexmodelsv2#DescribeBotRecommendation": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#DescribeBotRecommendationRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#DescribeBotRecommendationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Provides metadata information about a bot recommendation. This\n information will enable you to get a description on the request inputs,\n to download associated transcripts after processing is complete, and to\n download intents and slot-types generated by the bot\n recommendation.

                                                          ", + "smithy.api#http": { + "method": "GET", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}", + "code": 200 + } + } + }, + "com.amazonaws.lexmodelsv2#DescribeBotRecommendationRequest": { "type": "structure", "members": { "botId": { "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

                                                          The unique identifier of the bot to describe.

                                                          ", + "smithy.api#documentation": "

                                                          The unique identifier of the bot associated with the bot\n recommendation.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot associated with the bot\n recommendation.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n to describe. The string must match one of the supported locales. For\n more information, see Supported languages.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the bot recommendation to describe.

                                                          ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.lexmodelsv2#DescribeBotResponse": { + "com.amazonaws.lexmodelsv2#DescribeBotRecommendationResponse": { "type": "structure", "members": { "botId": { "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

                                                          The unique identifier of the bot.

                                                          " - } - }, - "botName": { - "target": "com.amazonaws.lexmodelsv2#Name", - "traits": { - "smithy.api#documentation": "

                                                          The name of the bot.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the bot associated with the bot\n recommendation.

                                                          " } }, - "description": { - "target": "com.amazonaws.lexmodelsv2#Description", + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", "traits": { - "smithy.api#documentation": "

                                                          The description of the bot.

                                                          " + "smithy.api#documentation": "

                                                          The version of the bot associated with the bot\n recommendation.

                                                          " } }, - "roleArn": { - "target": "com.amazonaws.lexmodelsv2#RoleArn", + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", "traits": { - "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of an IAM role that has permission to\n access the bot.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n to describe.

                                                          " } }, - "dataPrivacy": { - "target": "com.amazonaws.lexmodelsv2#DataPrivacy", + "botRecommendationStatus": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationStatus", "traits": { - "smithy.api#documentation": "

                                                          Settings for managing data privacy of the bot and its conversations\n with users.

                                                          " + "smithy.api#documentation": "

                                                          The status of the bot recommendation. If the status is Failed, then\n the reasons for the failure are listed in the failureReasons field.\n

                                                          " } }, - "idleSessionTTLInSeconds": { - "target": "com.amazonaws.lexmodelsv2#SessionTTL", + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

                                                          The maximum time in seconds that Amazon Lex retains the data gathered in\n a conversation.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the bot recommendation being described.

                                                          " } }, - "botStatus": { - "target": "com.amazonaws.lexmodelsv2#BotStatus", + "failureReasons": { + "target": "com.amazonaws.lexmodelsv2#FailureReasons", "traits": { - "smithy.api#documentation": "

                                                          The current status of the bot. When the status is\n Available the bot is ready to be used in conversations\n with users.

                                                          " + "smithy.api#documentation": "

                                                          If botRecommendationStatus is Failed, Amazon Lex explains why.

                                                          " } }, "creationDateTime": { "target": "com.amazonaws.lexmodelsv2#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot was created.

                                                          " + "smithy.api#documentation": "

                                                          The date and time that the bot recommendation was created.

                                                          " } }, "lastUpdatedDateTime": { "target": "com.amazonaws.lexmodelsv2#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot was last\n updated.

                                                          " + "smithy.api#documentation": "

                                                          The date and time that the bot recommendation was last\n updated.

                                                          " + } + }, + "transcriptSourceSetting": { + "target": "com.amazonaws.lexmodelsv2#TranscriptSourceSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the Amazon S3 bucket containing the transcript,\n as well as the associated metadata.

                                                          " + } + }, + "encryptionSetting": { + "target": "com.amazonaws.lexmodelsv2#EncryptionSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the passwords that were used to encrypt the\n data related to the bot recommendation results, as well as the KMS key\n ARN used to encrypt the associated metadata.

                                                          " + } + }, + "botRecommendationResults": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationResults", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the URL of the bot definition, the URL of\n the associated transcript and a statistical summary of the bot\n recommendation results.

                                                          " } } } }, - "com.amazonaws.lexmodelsv2#DescribeBotVersion": { - "type": "operation", - "input": { - "target": "com.amazonaws.lexmodelsv2#DescribeBotVersionRequest" - }, - "output": { - "target": "com.amazonaws.lexmodelsv2#DescribeBotVersionResponse" - }, - "errors": [ - { + "com.amazonaws.lexmodelsv2#DescribeBotRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot to describe.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.lexmodelsv2#DescribeBotResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot.

                                                          " + } + }, + "botName": { + "target": "com.amazonaws.lexmodelsv2#Name", + "traits": { + "smithy.api#documentation": "

                                                          The name of the bot.

                                                          " + } + }, + "description": { + "target": "com.amazonaws.lexmodelsv2#Description", + "traits": { + "smithy.api#documentation": "

                                                          The description of the bot.

                                                          " + } + }, + "roleArn": { + "target": "com.amazonaws.lexmodelsv2#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of an IAM role that has permission to\n access the bot.

                                                          " + } + }, + "dataPrivacy": { + "target": "com.amazonaws.lexmodelsv2#DataPrivacy", + "traits": { + "smithy.api#documentation": "

                                                          Settings for managing data privacy of the bot and its conversations\n with users.

                                                          " + } + }, + "idleSessionTTLInSeconds": { + "target": "com.amazonaws.lexmodelsv2#SessionTTL", + "traits": { + "smithy.api#documentation": "

                                                          The maximum time in seconds that Amazon Lex retains the data gathered in\n a conversation.

                                                          " + } + }, + "botStatus": { + "target": "com.amazonaws.lexmodelsv2#BotStatus", + "traits": { + "smithy.api#documentation": "

                                                          The current status of the bot. When the status is\n Available the bot is ready to be used in conversations\n with users.

                                                          " + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot was created.

                                                          " + } + }, + "lastUpdatedDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot was last\n updated.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#DescribeBotVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#DescribeBotVersionRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#DescribeBotVersionResponse" + }, + "errors": [ + { "target": "com.amazonaws.lexmodelsv2#InternalServerException" }, { @@ -5652,6 +6013,32 @@ ] } }, + "com.amazonaws.lexmodelsv2#EncryptionSetting": { + "type": "structure", + "members": { + "kmsKeyArn": { + "target": "com.amazonaws.lexmodelsv2#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

                                                          The KMS key ARN used to encrypt the metadata associated with the bot\n recommendation.

                                                          " + } + }, + "botLocaleExportPassword": { + "target": "com.amazonaws.lexmodelsv2#FilePassword", + "traits": { + "smithy.api#documentation": "

                                                          The password used to encrypt the recommended bot recommendation\n file.

                                                          " + } + }, + "associatedTranscriptsPassword": { + "target": "com.amazonaws.lexmodelsv2#FilePassword", + "traits": { + "smithy.api#documentation": "

                                                          The password used to encrypt the associated transcript file.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object representing the passwords that were used to encrypt the\n data related to the bot recommendation, as well as the KMS key ARN used\n to encrypt the associated metadata.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#ExceptionMessage": { "type": "string" }, @@ -5857,6 +6244,16 @@ "target": "com.amazonaws.lexmodelsv2#FailureReason" } }, + "com.amazonaws.lexmodelsv2#FilePassword": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.lexmodelsv2#FilterValue": { "type": "string", "traits": { @@ -6487,6 +6884,20 @@ "smithy.api#documentation": "

                                                          Specifies attributes for sorting a list of intents.

                                                          " } }, + "com.amazonaws.lexmodelsv2#IntentStatistics": { + "type": "structure", + "members": { + "discoveredIntentCount": { + "target": "com.amazonaws.lexmodelsv2#Count", + "traits": { + "smithy.api#documentation": "

                                                          The number of recommended intents associated with the bot\n recommendation.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object that contains the statistical summary of recommended\n intents associated with the bot recommendation.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#IntentSummary": { "type": "structure", "members": { @@ -6735,6 +7146,9 @@ { "target": "com.amazonaws.lexmodelsv2#DescribeBotLocale" }, + { + "target": "com.amazonaws.lexmodelsv2#DescribeBotRecommendation" + }, { "target": "com.amazonaws.lexmodelsv2#DescribeBotVersion" }, @@ -6765,6 +7179,9 @@ { "target": "com.amazonaws.lexmodelsv2#ListBotLocales" }, + { + "target": "com.amazonaws.lexmodelsv2#ListBotRecommendations" + }, { "target": "com.amazonaws.lexmodelsv2#ListBots" }, @@ -6786,6 +7203,9 @@ { "target": "com.amazonaws.lexmodelsv2#ListIntents" }, + { + "target": "com.amazonaws.lexmodelsv2#ListRecommendedIntents" + }, { "target": "com.amazonaws.lexmodelsv2#ListSlots" }, @@ -6795,6 +7215,12 @@ { "target": "com.amazonaws.lexmodelsv2#ListTagsForResource" }, + { + "target": "com.amazonaws.lexmodelsv2#SearchAssociatedTranscripts" + }, + { + "target": "com.amazonaws.lexmodelsv2#StartBotRecommendation" + }, { "target": "com.amazonaws.lexmodelsv2#StartImport" }, @@ -6813,6 +7239,9 @@ { "target": "com.amazonaws.lexmodelsv2#UpdateBotLocale" }, + { + "target": "com.amazonaws.lexmodelsv2#UpdateBotRecommendation" + }, { "target": "com.amazonaws.lexmodelsv2#UpdateExport" }, @@ -6830,6 +7259,20 @@ } ] }, + "com.amazonaws.lexmodelsv2#LexTranscriptFilter": { + "type": "structure", + "members": { + "dateRangeFilter": { + "target": "com.amazonaws.lexmodelsv2#DateRangeFilter", + "traits": { + "smithy.api#documentation": "

                                                          The object that contains a date range filter that will be applied to\n the transcript. Specify this object if you want Amazon Lex to only read the\n files that are within the date range.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object that contains transcript filter details that are\n associated with a bot recommendation.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#ListAggregatedUtterances": { "type": "operation", "input": { @@ -7188,6 +7631,118 @@ } } }, + "com.amazonaws.lexmodelsv2#ListBotRecommendations": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#ListBotRecommendationsRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#ListBotRecommendationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Get a list of bot recommendations that meet the specified\n criteria.

                                                          ", + "smithy.api#http": { + "method": "POST", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.lexmodelsv2#ListBotRecommendationsRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot that contains the bot\n recommendation list.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot that contains the bot recommendation\n list.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n list.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.lexmodelsv2#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of bot recommendations to return in each page of\n results. If there are fewer results than the max page size, only the\n actual number of results are returned.

                                                          " + } + }, + "nextToken": { + "target": "com.amazonaws.lexmodelsv2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response from the ListBotRecommendation operation contains\n more results than specified in the maxResults parameter, a token is\n returned in the response. Use that token in the nextToken parameter to\n return the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#ListBotRecommendationsResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot that contains the bot\n recommendation list.

                                                          " + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot that contains the bot recommendation\n list.

                                                          " + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n list.

                                                          " + } + }, + "botRecommendationSummaries": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationSummaryList", + "traits": { + "smithy.api#documentation": "

                                                          Summary information for the bot recommendations that meet the filter\n specified in this request. The length of the list is specified in the\n maxResults parameter of the request. If there are more bot\n recommendations available, the nextToken field contains a token to get\n the next page of results.

                                                          " + } + }, + "nextToken": { + "target": "com.amazonaws.lexmodelsv2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          A token that indicates whether there are more results to return in a\n response to the ListBotRecommendations operation. If the nextToken\n field is present, you send the contents as the nextToken parameter of a\n ListBotRecommendations operation request to get the next page of\n results.

                                                          " + } + } + } + }, "com.amazonaws.lexmodelsv2#ListBotVersions": { "type": "operation", "input": { @@ -7870,18 +8425,21 @@ } } }, - "com.amazonaws.lexmodelsv2#ListSlotTypes": { + "com.amazonaws.lexmodelsv2#ListRecommendedIntents": { "type": "operation", "input": { - "target": "com.amazonaws.lexmodelsv2#ListSlotTypesRequest" + "target": "com.amazonaws.lexmodelsv2#ListRecommendedIntentsRequest" }, "output": { - "target": "com.amazonaws.lexmodelsv2#ListSlotTypesResponse" + "target": "com.amazonaws.lexmodelsv2#ListRecommendedIntentsResponse" }, "errors": [ { "target": "com.amazonaws.lexmodelsv2#InternalServerException" }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, { "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" }, @@ -7893,10 +8451,10 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Gets a list of slot types that match the specified criteria.

                                                          ", + "smithy.api#documentation": "

                                                          Gets a list of recommended intents provided by the bot\n recommendation that you can use in your bot.

                                                          ", "smithy.api#http": { "method": "POST", - "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}/intents", "code": 200 }, "smithy.api#paginated": { @@ -7906,21 +8464,21 @@ } } }, - "com.amazonaws.lexmodelsv2#ListSlotTypesRequest": { + "com.amazonaws.lexmodelsv2#ListRecommendedIntentsRequest": { "type": "structure", "members": { "botId": { "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

                                                          The unique identifier of the bot that contains the slot\n types.

                                                          ", + "smithy.api#documentation": "

                                                          The unique identifier of the bot associated with the recommended\n intents.

                                                          ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "botVersion": { - "target": "com.amazonaws.lexmodelsv2#BotVersion", + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", "traits": { - "smithy.api#documentation": "

                                                          The version of the bot that contains the slot type.

                                                          ", + "smithy.api#documentation": "

                                                          The version of the bot that contains the recommended intents.

                                                          ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7928,21 +8486,147 @@ "localeId": { "target": "com.amazonaws.lexmodelsv2#LocaleId", "traits": { - "smithy.api#documentation": "

                                                          The identifier of the language and locale of the slot types to list.\n The string must match one of the supported locales. For more\n information, see Supported languages.

                                                          ", + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the recommended\n intents.

                                                          ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "sortBy": { - "target": "com.amazonaws.lexmodelsv2#SlotTypeSortBy", + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

                                                          Determines the sort order for the response from the\n ListSlotTypes operation. You can choose to sort by the\n slot type name or last updated date in either ascending or descending\n order.

                                                          " + "smithy.api#documentation": "

                                                          The identifier of the bot recommendation that contains the\n recommended intents.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "filters": { - "target": "com.amazonaws.lexmodelsv2#SlotTypeFilters", + "nextToken": { + "target": "com.amazonaws.lexmodelsv2#NextToken", "traits": { - "smithy.api#documentation": "

                                                          Provides the specification of a filter used to limit the slot types\n in the response to only those that match the filter specification. You\n can only specify one filter and only one string to filter on.

                                                          " + "smithy.api#documentation": "

                                                          If the response from the ListRecommendedIntents operation contains\n more results than specified in the maxResults parameter, a token is\n returned in the response. Use that token in the nextToken parameter to\n return the next page of results.

                                                          " + } + }, + "maxResults": { + "target": "com.amazonaws.lexmodelsv2#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of bot recommendations to return in each page of\n results. If there are fewer results than the max page size, only the\n actual number of results are returned.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#ListRecommendedIntentsResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot associated with the recommended\n intent.

                                                          " + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot that contains the intent.

                                                          " + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the intents to list.\n The string must match one of the supported locales. For more\n information, see Supported languages.

                                                          " + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the bot recommendation that contains the\n recommended intent.

                                                          " + } + }, + "summaryList": { + "target": "com.amazonaws.lexmodelsv2#RecommendedIntentSummaryList", + "traits": { + "smithy.api#documentation": "

                                                          Summary information for the intents that meet the filter criteria\n specified in the request. The length of the list is specified in the\n maxResults parameter of the request. If there are more intents\n available, the nextToken field contains a token to get the next page of\n results.

                                                          " + } + }, + "nextToken": { + "target": "com.amazonaws.lexmodelsv2#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          A token that indicates whether there are more results to return in a\n response to the ListRecommendedIntents operation. If the nextToken\n field is present, you send the contents as the nextToken parameter of a\n ListRecommendedIntents operation request to get the next page of\n results.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#ListSlotTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#ListSlotTypesRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#ListSlotTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Gets a list of slot types that match the specified criteria.

                                                          ", + "smithy.api#http": { + "method": "POST", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.lexmodelsv2#ListSlotTypesRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot that contains the slot\n types.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot that contains the slot type.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the slot types to list.\n The string must match one of the supported locales. For more\n information, see Supported languages.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sortBy": { + "target": "com.amazonaws.lexmodelsv2#SlotTypeSortBy", + "traits": { + "smithy.api#documentation": "

                                                          Determines the sort order for the response from the\n ListSlotTypes operation. You can choose to sort by the\n slot type name or last updated date in either ascending or descending\n order.

                                                          " + } + }, + "filters": { + "target": "com.amazonaws.lexmodelsv2#SlotTypeFilters", + "traits": { + "smithy.api#documentation": "

                                                          Provides the specification of a filter used to limit the slot types\n in the response to only those that match the filter specification. You\n can only specify one filter and only one string to filter on.

                                                          " } }, "maxResults": { @@ -8223,6 +8907,10 @@ { "value": "FailOnConflict", "name": "FailOnConflict" + }, + { + "value": "Append", + "name": "Append" } ] } @@ -8334,6 +9022,16 @@ "smithy.api#pattern": "^([0-9a-zA-Z][_-]?)+$" } }, + "com.amazonaws.lexmodelsv2#NextIndex": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 10000000 + } + } + }, "com.amazonaws.lexmodelsv2#NextToken": { "type": "string" }, @@ -8377,6 +9075,27 @@ ] } }, + "com.amazonaws.lexmodelsv2#ObjectPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[\\/]?+[a-zA-Z0-9!_.*'()-]+(\\/[a-zA-Z0-9!_.*'()-]+)*$" + } + }, + "com.amazonaws.lexmodelsv2#ObjectPrefixes": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelsv2#ObjectPrefix" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } + } + }, "com.amazonaws.lexmodelsv2#Operation": { "type": "string", "traits": { @@ -8434,6 +9153,20 @@ } } }, + "com.amazonaws.lexmodelsv2#PathFormat": { + "type": "structure", + "members": { + "objectPrefixes": { + "target": "com.amazonaws.lexmodelsv2#ObjectPrefixes", + "traits": { + "smithy.api#documentation": "

                                                          A list of Amazon S3 prefixes that points to sub-folders in the Amazon S3\n bucket. Specify this list if you only want Lex to read the files under\n this set of sub-folders.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object that contains a path format that will be applied when\n Amazon Lex reads the transcript file in the bucket you provide. Specify this\n object if you only want Lex to read a subset of files in your Amazon S3\n bucket.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#PlainTextMessage": { "type": "structure", "members": { @@ -8598,6 +9331,38 @@ } } }, + "com.amazonaws.lexmodelsv2#RecommendedIntentSummary": { + "type": "structure", + "members": { + "intentId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of a recommended intent associated with the\n bot recommendation.

                                                          " + } + }, + "intentName": { + "target": "com.amazonaws.lexmodelsv2#Name", + "traits": { + "smithy.api#documentation": "

                                                          The name of a recommended intent associated with the bot\n recommendation.

                                                          " + } + }, + "sampleUtterancesCount": { + "target": "com.amazonaws.lexmodelsv2#SampleUtterancesCount", + "traits": { + "smithy.api#documentation": "

                                                          The count of sample utterances of a recommended intent that is\n associated with a bot recommendation.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          An object that contains a summary of a recommended intent.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#RecommendedIntentSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelsv2#RecommendedIntentSummary" + } + }, "com.amazonaws.lexmodelsv2#RegexPattern": { "type": "string", "traits": { @@ -8730,6 +9495,56 @@ "smithy.api#documentation": "

                                                          Specifies an Amazon S3 bucket for logging audio conversations

                                                          " } }, + "com.amazonaws.lexmodelsv2#S3BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$" + } + }, + "com.amazonaws.lexmodelsv2#S3BucketTranscriptSource": { + "type": "structure", + "members": { + "s3BucketName": { + "target": "com.amazonaws.lexmodelsv2#S3BucketName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the bucket containing the transcript and the associated\n metadata.

                                                          ", + "smithy.api#required": {} + } + }, + "pathFormat": { + "target": "com.amazonaws.lexmodelsv2#PathFormat", + "traits": { + "smithy.api#documentation": "

                                                          The object that contains a path format that will be applied when\n Amazon Lex reads the transcript file in the bucket you provide. Specify this\n object if you only want Lex to read a subset of files in your Amazon S3\n bucket.

                                                          " + } + }, + "transcriptFormat": { + "target": "com.amazonaws.lexmodelsv2#TranscriptFormat", + "traits": { + "smithy.api#documentation": "

                                                          The format of the transcript content. Currently, Genie only supports\n the Amazon Lex transcript format.

                                                          ", + "smithy.api#required": {} + } + }, + "transcriptFilter": { + "target": "com.amazonaws.lexmodelsv2#TranscriptFilter", + "traits": { + "smithy.api#documentation": "

                                                          The object that contains the filter which will be applied when Amazon Lex\n reads through the Amazon S3 bucket. Specify this object if you want Amazon Lex to\n read only a subset of the Amazon S3 bucket based on the filter you\n provide.

                                                          " + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.lexmodelsv2#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

                                                          The ARN of the KMS key that customer use to encrypt their Amazon S3\n bucket. Only use this field if your bucket is encrypted using a\n customer managed KMS key.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object representing the Amazon S3 bucket containing the transcript,\n as well as the associated metadata.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#SSMLMessage": { "type": "structure", "members": { @@ -8769,6 +9584,12 @@ "smithy.api#documentation": "

                                                          A sample utterance that invokes an intent or respond to a slot\n elicitation prompt.

                                                          " } }, + "com.amazonaws.lexmodelsv2#SampleUtterancesCount": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.lexmodelsv2#SampleUtterancesList": { "type": "list", "member": { @@ -8790,6 +9611,164 @@ "smithy.api#documentation": "

                                                          Defines one of the values for a slot type.

                                                          " } }, + "com.amazonaws.lexmodelsv2#SearchAssociatedTranscripts": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#SearchAssociatedTranscriptsRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#SearchAssociatedTranscriptsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Search for associated transcripts that meet the specified\n criteria.

                                                          ", + "smithy.api#http": { + "method": "POST", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}/associatedtranscripts", + "code": 200 + } + } + }, + "com.amazonaws.lexmodelsv2#SearchAssociatedTranscriptsRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot associated with the transcripts\n that you are searching.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot containing the transcripts that you are\n searching.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the transcripts to\n search. The string must match one of the supported locales. For more\n information, see Supported languages\n

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot recommendation associated with the\n transcripts to search.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "searchOrder": { + "target": "com.amazonaws.lexmodelsv2#SearchOrder", + "traits": { + "smithy.api#documentation": "

                                                          How SearchResults are ordered. Valid values are Ascending or\n Descending. The default is Descending.

                                                          " + } + }, + "filters": { + "target": "com.amazonaws.lexmodelsv2#AssociatedTranscriptFilters", + "traits": { + "smithy.api#documentation": "

                                                          A list of filter objects.

                                                          ", + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.lexmodelsv2#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of bot recommendations to return in each page of\n results. If there are fewer results than the max page size, only the\n actual number of results are returned.

                                                          " + } + }, + "nextIndex": { + "target": "com.amazonaws.lexmodelsv2#NextIndex", + "traits": { + "smithy.api#documentation": "

                                                          If the response from the SearchAssociatedTranscriptsRequest\n operation contains more results than specified in the maxResults\n parameter, an index is returned in the response. Use that index in the\n nextIndex parameter to return the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#SearchAssociatedTranscriptsResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot associated with the transcripts\n that you are searching.

                                                          " + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot containing the transcripts that you are\n searching.

                                                          " + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the transcripts to\n search. The string must match one of the supported locales. For more\n information, see Supported languages\n

                                                          " + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot recommendation associated with the\n transcripts to search.

                                                          " + } + }, + "nextIndex": { + "target": "com.amazonaws.lexmodelsv2#NextIndex", + "traits": { + "smithy.api#documentation": "

                                                          A index that indicates whether there are more results to return in a\n response to the SearchAssociatedTranscripts operation. If the nextIndex\n field is present, you send the contents as the nextIndex parameter of a\n SearchAssociatedTranscriptsRequest operation to get the next page of\n results.

                                                          " + } + }, + "associatedTranscripts": { + "target": "com.amazonaws.lexmodelsv2#AssociatedTranscriptList", + "traits": { + "smithy.api#documentation": "

                                                          The object that contains the associated transcript that meet the\n criteria you specified.

                                                          " + } + }, + "totalResults": { + "target": "com.amazonaws.lexmodelsv2#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The total number of transcripts returned by the search.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#SearchOrder": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Ascending", + "name": "Ascending" + }, + { + "value": "Descending", + "name": "Descending" + } + ] + } + }, "com.amazonaws.lexmodelsv2#SentimentAnalysisSettings": { "type": "structure", "members": { @@ -9203,13 +10182,27 @@ "order": { "target": "com.amazonaws.lexmodelsv2#SortOrder", "traits": { - "smithy.api#documentation": "

                                                          The order to sort the list. You can say ascending or\n descending.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          The order to sort the list. You can say ascending or\n descending.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Specifies attributes for sorting a list of slot types.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#SlotTypeStatistics": { + "type": "structure", + "members": { + "discoveredSlotTypeCount": { + "target": "com.amazonaws.lexmodelsv2#Count", + "traits": { + "smithy.api#documentation": "

                                                          The number of recommended slot types associated with the bot\n recommendation.

                                                          " } } }, "traits": { - "smithy.api#documentation": "

                                                          Specifies attributes for sorting a list of slot types.

                                                          " + "smithy.api#documentation": "

                                                          The object that contains the statistical summary of the recommended\n slot type associated with the bot recommendation.

                                                          " } }, "com.amazonaws.lexmodelsv2#SlotTypeSummary": { @@ -9390,6 +10383,141 @@ ] } }, + "com.amazonaws.lexmodelsv2#StartBotRecommendation": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#StartBotRecommendationRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#StartBotRecommendationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#ConflictException" + }, + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#PreconditionFailedException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Use this to provide your transcript data, and to start the bot\n recommendation process.

                                                          ", + "smithy.api#http": { + "method": "PUT", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations", + "code": 202 + } + } + }, + "com.amazonaws.lexmodelsv2#StartBotRecommendationRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot containing the bot\n recommendation.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot containing the bot recommendation.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n to start. The string must match one of the supported locales. For more\n information, see Supported languages\n

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "transcriptSourceSetting": { + "target": "com.amazonaws.lexmodelsv2#TranscriptSourceSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the Amazon S3 bucket containing the transcript,\n as well as the associated metadata.

                                                          ", + "smithy.api#required": {} + } + }, + "encryptionSetting": { + "target": "com.amazonaws.lexmodelsv2#EncryptionSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the passwords that will be used to encrypt\n the data related to the bot recommendation results, as well as the KMS\n key ARN used to encrypt the associated metadata.

                                                          " + } + } + } + }, + "com.amazonaws.lexmodelsv2#StartBotRecommendationResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot containing the bot\n recommendation.

                                                          " + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot containing the bot recommendation.

                                                          " + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n to start. The string must match one of the supported locales. For more\n information, see Supported languages\n

                                                          " + } + }, + "botRecommendationStatus": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationStatus", + "traits": { + "smithy.api#documentation": "

                                                          The status of the bot recommendation.

                                                          \n

                                                          If the status is Failed, then the reasons for the failure are listed\n in the failureReasons field.

                                                          " + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the bot recommendation that you have\n created.

                                                          " + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot recommendation was\n created.

                                                          " + } + }, + "transcriptSourceSetting": { + "target": "com.amazonaws.lexmodelsv2#TranscriptSourceSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the Amazon S3 bucket containing the transcript,\n as well as the associated metadata.

                                                          " + } + }, + "encryptionSetting": { + "target": "com.amazonaws.lexmodelsv2#EncryptionSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the passwords that were used to encrypt the\n data related to the bot recommendation results, as well as the KMS key\n ARN used to encrypt the associated metadata.

                                                          " + } + } + } + }, "com.amazonaws.lexmodelsv2#StartImport": { "type": "operation", "input": { @@ -9759,6 +10887,55 @@ "com.amazonaws.lexmodelsv2#Timestamp": { "type": "timestamp" }, + "com.amazonaws.lexmodelsv2#Transcript": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 6000000 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.lexmodelsv2#TranscriptFilter": { + "type": "structure", + "members": { + "lexTranscriptFilter": { + "target": "com.amazonaws.lexmodelsv2#LexTranscriptFilter", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the filter that Amazon Lex will use to select the\n appropriate transcript when the transcript format is the Amazon Lex\n format.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The object representing the filter that Amazon Lex will use to select the\n appropriate transcript.

                                                          " + } + }, + "com.amazonaws.lexmodelsv2#TranscriptFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Lex", + "name": "Lex" + } + ] + } + }, + "com.amazonaws.lexmodelsv2#TranscriptSourceSetting": { + "type": "structure", + "members": { + "s3BucketTranscriptSource": { + "target": "com.amazonaws.lexmodelsv2#S3BucketTranscriptSource", + "traits": { + "smithy.api#documentation": "

                                                          Indicates the setting of the Amazon S3 bucket where the transcript is\n stored.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Indicates the setting of the location where the transcript is\n stored.

                                                          " + } + }, "com.amazonaws.lexmodelsv2#UntagResource": { "type": "operation", "input": { @@ -10168,6 +11345,149 @@ } } }, + "com.amazonaws.lexmodelsv2#UpdateBotRecommendation": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#UpdateBotRecommendationRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#UpdateBotRecommendationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#ConflictException" + }, + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#PreconditionFailedException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Updates an existing bot recommendation request.

                                                          ", + "smithy.api#http": { + "method": "PUT", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/botrecommendations/{botRecommendationId}", + "code": 202 + } + } + }, + "com.amazonaws.lexmodelsv2#UpdateBotRecommendationRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot containing the bot recommendation\n to be updated.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot containing the bot recommendation to be\n updated.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n to update. The string must match one of the supported locales. For more\n information, see Supported languages\n

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot recommendation to be\n updated.

                                                          ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "encryptionSetting": { + "target": "com.amazonaws.lexmodelsv2#EncryptionSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the passwords that will be used to encrypt\n the data related to the bot recommendation results, as well as the KMS\n key ARN used to encrypt the associated metadata.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.lexmodelsv2#UpdateBotRecommendationResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot containing the bot recommendation\n that has been updated.

                                                          " + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", + "traits": { + "smithy.api#documentation": "

                                                          The version of the bot containing the bot recommendation that has\n been updated.

                                                          " + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

                                                          The identifier of the language and locale of the bot recommendation\n to update. The string must match one of the supported locales. For more\n information, see Supported languages\n

                                                          " + } + }, + "botRecommendationStatus": { + "target": "com.amazonaws.lexmodelsv2#BotRecommendationStatus", + "traits": { + "smithy.api#documentation": "

                                                          The status of the bot recommendation.

                                                          \n

                                                          If the status is Failed, then the reasons for the failure are listed\n in the failureReasons field.

                                                          " + } + }, + "botRecommendationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

                                                          The unique identifier of the bot recommendation to be\n updated.

                                                          " + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot recommendation was\n created.

                                                          " + } + }, + "lastUpdatedDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp of the date and time that the bot recommendation was\n last updated.

                                                          " + } + }, + "transcriptSourceSetting": { + "target": "com.amazonaws.lexmodelsv2#TranscriptSourceSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the Amazon S3 bucket containing the transcript,\n as well as the associated metadata.

                                                          " + } + }, + "encryptionSetting": { + "target": "com.amazonaws.lexmodelsv2#EncryptionSetting", + "traits": { + "smithy.api#documentation": "

                                                          The object representing the passwords that were used to encrypt the\n data related to the bot recommendation results, as well as the KMS key\n ARN used to encrypt the associated metadata.

                                                          " + } + } + } + }, "com.amazonaws.lexmodelsv2#UpdateBotRequest": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/sagemaker-runtime.json b/codegen/sdk-codegen/aws-models/sagemaker-runtime.json index 8824c3ef6f30..a26be8a3b74d 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-runtime.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-runtime.json @@ -31,15 +31,6 @@ "shapes": { "com.amazonaws.sagemakerruntime#AmazonSageMakerRuntime": { "type": "service", - "version": "2017-05-13", - "operations": [ - { - "target": "com.amazonaws.sagemakerruntime#InvokeEndpoint" - }, - { - "target": "com.amazonaws.sagemakerruntime#InvokeEndpointAsync" - } - ], "traits": { "aws.api#service": { "sdkId": "SageMaker Runtime", @@ -54,7 +45,16 @@ "aws.protocols#restJson1": {}, "smithy.api#documentation": "

                                                          The Amazon SageMaker runtime API.

                                                          ", "smithy.api#title": "Amazon SageMaker Runtime" - } + }, + "version": "2017-05-13", + "operations": [ + { + "target": "com.amazonaws.sagemakerruntime#InvokeEndpoint" + }, + { + "target": "com.amazonaws.sagemakerruntime#InvokeEndpointAsync" + } + ] }, "com.amazonaws.sagemakerruntime#BodyBlob": { "type": "blob", @@ -117,6 +117,19 @@ "smithy.api#pattern": "^(https|s3)://([^/]+)/?(.*)$" } }, + "com.amazonaws.sagemakerruntime#InternalDependencyException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.sagemakerruntime#Message" + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Your request caused an exception with an internal dependency. Contact customer support.

                                                          ", + "smithy.api#error": "server", + "smithy.api#httpError": 530 + } + }, "com.amazonaws.sagemakerruntime#InternalFailure": { "type": "structure", "members": { @@ -139,12 +152,18 @@ "target": "com.amazonaws.sagemakerruntime#InvokeEndpointOutput" }, "errors": [ + { + "target": "com.amazonaws.sagemakerruntime#InternalDependencyException" + }, { "target": "com.amazonaws.sagemakerruntime#InternalFailure" }, { "target": "com.amazonaws.sagemakerruntime#ModelError" }, + { + "target": "com.amazonaws.sagemakerruntime#ModelNotReadyException" + }, { "target": "com.amazonaws.sagemakerruntime#ServiceUnavailable" }, @@ -153,7 +172,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          After you deploy a model into production using Amazon SageMaker hosting services, your\n client applications use this API to get inferences from the model hosted at the\n specified endpoint.

                                                          \n

                                                          For an overview of Amazon SageMaker, see How It Works.

                                                          \n

                                                          Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add\n additional headers. You should not rely on the behavior of headers outside those\n enumerated in the request syntax.

                                                          \n

                                                          Calls to InvokeEndpoint are authenticated by using AWS Signature Version\n 4. For information, see Authenticating\n Requests (AWS Signature Version 4) in the Amazon S3 API\n Reference.

                                                          \n

                                                          A customer's model containers must respond to requests within 60 seconds. The model\n itself can have a maximum processing time of 60 seconds before responding to\n invocations. If your model is going to take 50-60 seconds of processing time, the SDK\n socket timeout should be set to be 70 seconds.

                                                          \n \n

                                                          Endpoints are scoped to an individual account, and are not public. The URL does\n not contain the account ID, but Amazon SageMaker determines the account ID from the\n authentication token that is supplied by the caller.

                                                          \n
                                                          ", + "smithy.api#documentation": "

                                                          After you deploy a model into production using Amazon SageMaker hosting services, your\n client applications use this API to get inferences from the model hosted at the\n specified endpoint.

                                                          \n

                                                          For an overview of Amazon SageMaker, see How It Works.

                                                          \n

                                                          Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add\n additional headers. You should not rely on the behavior of headers outside those\n enumerated in the request syntax.

                                                          \n

                                                          Calls to InvokeEndpoint are authenticated by using Amazon Web Services Signature Version\n 4. For information, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API\n Reference.

                                                          \n

                                                          A customer's model containers must respond to requests within 60 seconds. The model\n itself can have a maximum processing time of 60 seconds before responding to\n invocations. If your model is going to take 50-60 seconds of processing time, the SDK\n socket timeout should be set to be 70 seconds.

                                                          \n \n

                                                          Endpoints are scoped to an individual account, and are not public. The URL does\n not contain the account ID, but Amazon SageMaker determines the account ID from the\n authentication token that is supplied by the caller.

                                                          \n
                                                          ", "smithy.api#http": { "method": "POST", "uri": "/endpoints/{EndpointName}/invocations", @@ -181,7 +200,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          After you deploy a model into production using Amazon SageMaker hosting services, \n your client applications use this API to get inferences from the model hosted at \n the specified endpoint in an asynchronous manner.

                                                          \n \n

                                                          Inference requests sent to this API are enqueued for asynchronous processing. \n The processing of the inference request may or may not complete before the \n you receive a response from this API. The response from this API will \n not contain the result of the inference request but contain information \n about where you can locate it.

                                                          \n \n

                                                          Amazon SageMaker strips all POST headers except those supported by the API. \n Amazon SageMaker might add additional headers. You should not rely on the behavior \n of headers outside those enumerated in the request syntax.

                                                          \n \n

                                                          Calls to InvokeEndpointAsync are authenticated by using AWS Signature\n Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API\n Reference.

                                                          ", + "smithy.api#documentation": "

                                                          After you deploy a model into production using Amazon SageMaker hosting services, \n your client applications use this API to get inferences from the model hosted at \n the specified endpoint in an asynchronous manner.

                                                          \n \n

                                                          Inference requests sent to this API are enqueued for asynchronous processing. \n The processing of the inference request may or may not complete before the \n you receive a response from this API. The response from this API will \n not contain the result of the inference request but contain information \n about where you can locate it.

                                                          \n \n

                                                          Amazon SageMaker strips all POST headers except those supported by the API. \n Amazon SageMaker might add additional headers. You should not rely on the behavior \n of headers outside those enumerated in the request syntax.

                                                          \n \n

                                                          Calls to InvokeEndpointAsync are authenticated by using Amazon Web Services Signature\n Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API\n Reference.

                                                          ", "smithy.api#http": { "method": "POST", "uri": "/endpoints/{EndpointName}/async-invocations", @@ -217,7 +236,7 @@ "CustomAttributes": { "target": "com.amazonaws.sagemakerruntime#CustomAttributesHeader", "traits": { - "smithy.api#documentation": "

                                                          Provides additional information about a request for an inference submitted to \n a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is \n forwarded verbatim. You could use this value, for example, to provide an ID that you \n can use to track a request or to provide other metadata that a service endpoint was \n programmed to process. The value must consist of no more than 1024 \n visible US-ASCII characters as specified in \n Section 3.3.6. \n Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                          \n \n

                                                          The code in your model is responsible for setting or updating any custom attributes \n in the response. If your code does not set this value in the response, an empty \n value is returned. For example, if a custom attribute represents the trace ID, \n your model can prepend the custom attribute with Trace ID: in your post-processing function.

                                                          \n \n

                                                          This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                                                          ", + "smithy.api#documentation": "

                                                          Provides additional information about a request for an inference submitted to \n a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is \n forwarded verbatim. You could use this value, for example, to provide an ID that you \n can use to track a request or to provide other metadata that a service endpoint was \n programmed to process. The value must consist of no more than 1024 \n visible US-ASCII characters as specified in \n Section 3.3.6. \n Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                          \n \n

                                                          The code in your model is responsible for setting or updating any custom attributes \n in the response. If your code does not set this value in the response, an empty \n value is returned. For example, if a custom attribute represents the trace ID, \n your model can prepend the custom attribute with Trace ID: in your post-processing function.

                                                          \n \n

                                                          This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.

                                                          ", "smithy.api#httpHeader": "X-Amzn-SageMaker-Custom-Attributes" } }, @@ -299,7 +318,7 @@ "CustomAttributes": { "target": "com.amazonaws.sagemakerruntime#CustomAttributesHeader", "traits": { - "smithy.api#documentation": "

                                                          Provides additional information about a request for an inference submitted to a model\n hosted at an Amazon SageMaker endpoint. The information is an opaque value that is\n forwarded verbatim. You could use this value, for example, to provide an ID that you can\n use to track a request or to provide other metadata that a service endpoint was\n programmed to process. The value must consist of no more than 1024 visible US-ASCII\n characters as specified in Section 3.3.6. Field Value\n Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                          \n

                                                          The code in your model is responsible for setting or updating any custom attributes in\n the response. If your code does not set this value in the response, an empty value is\n returned. For example, if a custom attribute represents the trace ID, your model can\n prepend the custom attribute with Trace ID: in your post-processing\n function.

                                                          \n\n

                                                          This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python\n SDK.

                                                          ", + "smithy.api#documentation": "

                                                          Provides additional information about a request for an inference submitted to a model\n hosted at an Amazon SageMaker endpoint. The information is an opaque value that is\n forwarded verbatim. You could use this value, for example, to provide an ID that you can\n use to track a request or to provide other metadata that a service endpoint was\n programmed to process. The value must consist of no more than 1024 visible US-ASCII\n characters as specified in Section 3.3.6. Field Value\n Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                          \n

                                                          The code in your model is responsible for setting or updating any custom attributes in\n the response. If your code does not set this value in the response, an empty value is\n returned. For example, if a custom attribute represents the trace ID, your model can\n prepend the custom attribute with Trace ID: in your post-processing\n function.

                                                          \n\n

                                                          This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python\n SDK.

                                                          ", "smithy.api#httpHeader": "X-Amzn-SageMaker-Custom-Attributes" } }, @@ -361,7 +380,7 @@ "CustomAttributes": { "target": "com.amazonaws.sagemakerruntime#CustomAttributesHeader", "traits": { - "smithy.api#documentation": "

                                                          Provides additional information in the response about the inference returned by a\n model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is\n forwarded verbatim. You could use this value, for example, to return an ID received in\n the CustomAttributes header of a request or other metadata that a service\n endpoint was programmed to produce. The value must consist of no more than 1024 visible\n US-ASCII characters as specified in Section 3.3.6. Field Value\n Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer\n wants the custom attribute returned, the model must set the custom attribute to be\n included on the way back.

                                                          \n

                                                          The code in your model is responsible for setting or updating any custom attributes in\n the response. If your code does not set this value in the response, an empty value is\n returned. For example, if a custom attribute represents the trace ID, your model can\n prepend the custom attribute with Trace ID: in your post-processing\n function.

                                                          \n

                                                          This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python\n SDK.

                                                          ", + "smithy.api#documentation": "

                                                          Provides additional information in the response about the inference returned by a\n model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is\n forwarded verbatim. You could use this value, for example, to return an ID received in\n the CustomAttributes header of a request or other metadata that a service\n endpoint was programmed to produce. The value must consist of no more than 1024 visible\n US-ASCII characters as specified in Section 3.3.6. Field Value\n Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer\n wants the custom attribute returned, the model must set the custom attribute to be\n included on the way back.

                                                          \n

                                                          The code in your model is responsible for setting or updating any custom attributes in\n the response. If your code does not set this value in the response, an empty value is\n returned. For example, if a custom attribute represents the trace ID, your model can\n prepend the custom attribute with Trace ID: in your post-processing\n function.

                                                          \n

                                                          This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python\n SDK.

                                                          ", "smithy.api#httpHeader": "X-Amzn-SageMaker-Custom-Attributes" } } @@ -410,6 +429,23 @@ "smithy.api#httpError": 424 } }, + "com.amazonaws.sagemakerruntime#ModelNotReadyException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.sagemakerruntime#Message" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ModelNotReadyException", + "httpResponseCode": 429 + }, + "smithy.api#documentation": "

                                                          Either a serverless endpoint variant's resources are still being provisioned, or a multi-model endpoint is still downloading or loading the target model. Wait and try your request again.

                                                          ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, "com.amazonaws.sagemakerruntime#RequestTTLSecondsHeader": { "type": "integer", "traits": { diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index f806aa3bbd4f..7398a18ff916 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -285,6 +285,70 @@ } } }, + "com.amazonaws.sagemaker#AdditionalInferenceSpecificationDefinition": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.sagemaker#EntityName", + "traits": { + "smithy.api#documentation": "

                                                          A unique name to identify the additional inference specification. The name must \n be unique within the list of your additional inference specifications for a \n particular model package.

                                                          ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.sagemaker#EntityDescription", + "traits": { + "smithy.api#documentation": "

                                                          A description of the additional Inference specification

                                                          " + } + }, + "Containers": { + "target": "com.amazonaws.sagemaker#ModelPackageContainerDefinitionList", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon ECR registry path of the Docker image that contains the inference code.

                                                          ", + "smithy.api#required": {} + } + }, + "SupportedTransformInstanceTypes": { + "target": "com.amazonaws.sagemaker#TransformInstanceTypes", + "traits": { + "smithy.api#documentation": "

                                                          A list of the instance types on which a transformation job can be run \n or on which an endpoint can be deployed.

                                                          " + } + }, + "SupportedRealtimeInferenceInstanceTypes": { + "target": "com.amazonaws.sagemaker#RealtimeInferenceInstanceTypes", + "traits": { + "smithy.api#documentation": "

                                                          A list of the instance types that are used to generate inferences in real-time.

                                                          " + } + }, + "SupportedContentTypes": { + "target": "com.amazonaws.sagemaker#ContentTypes", + "traits": { + "smithy.api#documentation": "

                                                          The supported MIME types for the input data.

                                                          " + } + }, + "SupportedResponseMIMETypes": { + "target": "com.amazonaws.sagemaker#ResponseMIMETypes", + "traits": { + "smithy.api#documentation": "

                                                          The supported MIME types for the output data.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A structure of additional Inference Specification. Additional Inference Specification \n specifies details about inference jobs that can be run with models based on\n this model package

                                                          " + } + }, + "com.amazonaws.sagemaker#AdditionalInferenceSpecifications": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#AdditionalInferenceSpecificationDefinition" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 15 + } + } + }, "com.amazonaws.sagemaker#AgentVersion": { "type": "structure", "members": { @@ -2575,6 +2639,12 @@ "traits": { "smithy.api#documentation": "

                                                          The bias report for a model

                                                          " } + }, + "PreTrainingReport": { + "target": "com.amazonaws.sagemaker#MetricsSource" + }, + "PostTrainingReport": { + "target": "com.amazonaws.sagemaker#MetricsSource" } }, "traits": { @@ -2979,6 +3049,28 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" } }, + "com.amazonaws.sagemaker#CategoricalParameter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.sagemaker#String64", + "traits": { + "smithy.api#documentation": "

                                                          The Name of the environment variable.

                                                          ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CategoricalParameterRangeValues", + "traits": { + "smithy.api#documentation": "

                                                          The list of values you can pass.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Environment parameters you want to benchmark your load test against.

                                                          " + } + }, "com.amazonaws.sagemaker#CategoricalParameterRange": { "type": "structure", "members": { @@ -3016,6 +3108,18 @@ "smithy.api#documentation": "

                                                          Defines the possible values for a categorical hyperparameter.

                                                          " } }, + "com.amazonaws.sagemaker#CategoricalParameterRangeValues": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#String128" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3 + } + } + }, "com.amazonaws.sagemaker#CategoricalParameterRanges": { "type": "list", "member": { @@ -3028,6 +3132,18 @@ } } }, + "com.amazonaws.sagemaker#CategoricalParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CategoricalParameter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, "com.amazonaws.sagemaker#Cents": { "type": "integer", "traits": { @@ -3198,6 +3314,62 @@ "target": "com.amazonaws.sagemaker#Cidr" } }, + "com.amazonaws.sagemaker#ClarifyCheckStepMetadata": { + "type": "structure", + "members": { + "CheckType": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The type of the Clarify Check step

                                                          " + } + }, + "BaselineUsedForDriftCheckConstraints": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of baseline constraints file to be used for the drift check.

                                                          " + } + }, + "CalculatedBaselineConstraints": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of the newly calculated baseline constraints file.

                                                          " + } + }, + "ModelPackageGroupName": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The model package group name.

                                                          " + } + }, + "ViolationReport": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of the violation report if violations are detected.

                                                          " + } + }, + "CheckJobArn": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the check processing job that was run by this step's execution.

                                                          " + } + }, + "SkipCheck": { + "target": "com.amazonaws.sagemaker#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          This flag indicates if the drift check against the previous baseline will be skipped or not. \n If it is set to False, the previous baseline of the configured check type must be available.

                                                          " + } + }, + "RegisterNewBaseline": { + "target": "com.amazonaws.sagemaker#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          This flag indicates if a newly calculated baseline can be accessed through step properties \n BaselineUsedForDriftCheckConstraints and BaselineUsedForDriftCheckStatistics. \n If it is set to False, the previous baseline of the configured check type must also be available. \n These can be accessed through the BaselineUsedForDriftCheckConstraints property.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The container for the metadata for the ClarifyCheck step. For more information, \n see the topic on ClarifyCheck step in the Amazon SageMaker Developer Guide.\n

                                                          " + } + }, "com.amazonaws.sagemaker#ClientId": { "type": "string", "traits": { @@ -3763,6 +3935,12 @@ "smithy.api#documentation": "

                                                          The name or Amazon Resource Name (ARN) of the model package to use to create the\n model.

                                                          " } }, + "InferenceSpecificationName": { + "target": "com.amazonaws.sagemaker#InferenceSpecificationName", + "traits": { + "smithy.api#documentation": "

                                                          The inference specification name in the model package version.

                                                          " + } + }, "MultiModelConfig": { "target": "com.amazonaws.sagemaker#MultiModelConfig", "traits": { @@ -4589,11 +4767,16 @@ "smithy.api#required": {} } }, + "ModelPackageVersionArn": { + "target": "com.amazonaws.sagemaker#ModelPackageArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a versioned model package. Provide either a \n ModelPackageVersionArn or an InputConfig object in the \n request syntax. The presence of both objects in the CreateCompilationJob \n request will return an exception.

                                                          " + } + }, "InputConfig": { "target": "com.amazonaws.sagemaker#InputConfig", "traits": { - "smithy.api#documentation": "

                                                          Provides information about the location of input model artifacts, the name and shape\n of the expected data inputs, and the framework in which the model was trained.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          Provides information about the location of input model artifacts, the name and shape\n of the expected data inputs, and the framework in which the model was trained.

                                                          " } }, "OutputConfig": { @@ -5677,6 +5860,89 @@ } } }, + "com.amazonaws.sagemaker#CreateInferenceRecommendationsJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#CreateInferenceRecommendationsJobRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#CreateInferenceRecommendationsJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceInUse" + }, + { + "target": "com.amazonaws.sagemaker#ResourceLimitExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Starts a recommendation job. You can create either an instance \n recommendation or load test job.

                                                          " + } + }, + "com.amazonaws.sagemaker#CreateInferenceRecommendationsJobRequest": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.sagemaker#RecommendationJobName", + "traits": { + "smithy.api#documentation": "

                                                          A name for the recommendation job. The name must be unique within \n the Amazon Web Services Region and within your Amazon Web Services account.

                                                          ", + "smithy.api#required": {} + } + }, + "JobType": { + "target": "com.amazonaws.sagemaker#RecommendationJobType", + "traits": { + "smithy.api#documentation": "

                                                          Defines the type of recommendation job. Specify Default to initiate an instance \n recommendation and Advanced to initiate a load test. If left unspecified, \n Amazon SageMaker Inference Recommender will run an instance recommendation (DEFAULT) job.

                                                          ", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker \n to perform tasks on your behalf.

                                                          ", + "smithy.api#required": {} + } + }, + "InputConfig": { + "target": "com.amazonaws.sagemaker#RecommendationJobInputConfig", + "traits": { + "smithy.api#documentation": "

                                                          Provides information about the versioned model package Amazon Resource Name (ARN), \n the traffic pattern, and endpoint configurations.

                                                          ", + "smithy.api#required": {} + } + }, + "JobDescription": { + "target": "com.amazonaws.sagemaker#RecommendationJobDescription", + "traits": { + "smithy.api#documentation": "

                                                          Description of the recommendation job.

                                                          " + } + }, + "StoppingConditions": { + "target": "com.amazonaws.sagemaker#RecommendationJobStoppingConditions", + "traits": { + "smithy.api#documentation": "

                                                          A set of conditions for stopping a recommendation job. If any of \n the conditions are met, the job is automatically stopped.

                                                          " + } + }, + "Tags": { + "target": "com.amazonaws.sagemaker#TagList", + "traits": { + "smithy.api#documentation": "

                                                          The metadata that you apply to Amazon Web Services resources to help you \n categorize and organize them. Each tag consists of a key and a value, both of \n which you define. For more information, see \n Tagging Amazon Web Services Resources \n in the Amazon Web Services General Reference.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#CreateInferenceRecommendationsJobResponse": { + "type": "structure", + "members": { + "JobArn": { + "target": "com.amazonaws.sagemaker#RecommendationJobArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the recommendation job.

                                                          ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.sagemaker#CreateLabelingJob": { "type": "operation", "input": { @@ -6211,6 +6477,36 @@ "traits": { "smithy.api#documentation": "

                                                          The metadata properties associated with the model package versions.

                                                          " } + }, + "DriftCheckBaselines": { + "target": "com.amazonaws.sagemaker#DriftCheckBaselines", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check baselines that can be used when the model monitor is set using the model package.\n For more information, see the topic on Drift Detection against Previous Baselines in SageMaker Pipelines in the Amazon SageMaker Developer Guide.\n

                                                          " + } + }, + "Domain": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning domain of your model package and its components. Common \n machine learning domains include computer vision and natural language processing.

                                                          " + } + }, + "Task": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning task your model package accomplishes. Common machine \n learning tasks include object detection and image classification.

                                                          " + } + }, + "SamplePayloadUrl": { + "target": "com.amazonaws.sagemaker#S3Uri", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Simple Storage Service (Amazon S3) path where the sample payload are stored. This path must point \n to a single gzip compressed tar archive (.tar.gz suffix).

                                                          " + } + }, + "AdditionalInferenceSpecifications": { + "target": "com.amazonaws.sagemaker#AdditionalInferenceSpecifications", + "traits": { + "smithy.api#documentation": "

                                                          An array of additional Inference Specification objects. Each additional \n Inference Specification specifies artifacts based on this model package that can \n be used on inference endpoints. Generally used with SageMaker Neo to store the \n compiled artifacts.

                                                          " + } } } }, @@ -9531,7 +9827,7 @@ "type": "structure", "members": { "ActionName": { - "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "target": "com.amazonaws.sagemaker#ExperimentEntityNameOrArn", "traits": { "smithy.api#documentation": "

                                                          The name of the action.

                                                          " } @@ -9592,6 +9888,12 @@ }, "MetadataProperties": { "target": "com.amazonaws.sagemaker#MetadataProperties" + }, + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          " + } } } }, @@ -9914,7 +10216,7 @@ "type": "structure", "members": { "ArtifactName": { - "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "target": "com.amazonaws.sagemaker#ExperimentEntityNameOrArn", "traits": { "smithy.api#documentation": "

                                                          The name of the artifact.

                                                          " } @@ -9963,6 +10265,12 @@ }, "MetadataProperties": { "target": "com.amazonaws.sagemaker#MetadataProperties" + }, + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          " + } } } }, @@ -10276,6 +10584,12 @@ "smithy.api#documentation": "

                                                          The inference image to use when compiling a model. \n Specify an image only if the target device is a cloud instance.

                                                          " } }, + "ModelPackageVersionArn": { + "target": "com.amazonaws.sagemaker#ModelPackageArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the versioned model package that was \n provided to SageMaker Neo when you initiated a compilation job.

                                                          " + } + }, "CreationTime": { "target": "com.amazonaws.sagemaker#CreationTime", "traits": { @@ -10360,7 +10674,7 @@ "type": "structure", "members": { "ContextName": { - "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "target": "com.amazonaws.sagemaker#ExperimentEntityNameOrArn", "traits": { "smithy.api#documentation": "

                                                          The name of the context to describe.

                                                          ", "smithy.api#required": {} @@ -10424,6 +10738,12 @@ }, "LastModifiedBy": { "target": "com.amazonaws.sagemaker#UserContext" + }, + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          " + } } } }, @@ -12101,6 +12421,126 @@ } } }, + "com.amazonaws.sagemaker#DescribeInferenceRecommendationsJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#DescribeInferenceRecommendationsJobRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#DescribeInferenceRecommendationsJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Provides the results of the Inference Recommender job. \n One or more recommendation jobs are returned.

                                                          " + } + }, + "com.amazonaws.sagemaker#DescribeInferenceRecommendationsJobRequest": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.sagemaker#RecommendationJobName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the job. The name must be unique within an \n Amazon Web Services Region in the Amazon Web Services account.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sagemaker#DescribeInferenceRecommendationsJobResponse": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.sagemaker#RecommendationJobName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the job. The name must be unique within an \n Amazon Web Services Region in the Amazon Web Services account.

                                                          ", + "smithy.api#required": {} + } + }, + "JobDescription": { + "target": "com.amazonaws.sagemaker#RecommendationJobDescription", + "traits": { + "smithy.api#documentation": "

                                                          The job description that you provided when you initiated the job.

                                                          " + } + }, + "JobType": { + "target": "com.amazonaws.sagemaker#RecommendationJobType", + "traits": { + "smithy.api#documentation": "

                                                          The job type that you provided when you initiated the job.

                                                          ", + "smithy.api#required": {} + } + }, + "JobArn": { + "target": "com.amazonaws.sagemaker#RecommendationJobArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the job.

                                                          ", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the Amazon Web Services \n Identity and Access Management (IAM) role you provided when you initiated the job.

                                                          ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.sagemaker#RecommendationJobStatus", + "traits": { + "smithy.api#documentation": "

                                                          The status of the job.

                                                          ", + "smithy.api#required": {} + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#CreationTime", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp that shows when the job was created.

                                                          ", + "smithy.api#required": {} + } + }, + "CompletionTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp that shows when the job completed.

                                                          " + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp that shows when the job was last modified.

                                                          ", + "smithy.api#required": {} + } + }, + "FailureReason": { + "target": "com.amazonaws.sagemaker#FailureReason", + "traits": { + "smithy.api#documentation": "

                                                          If the job fails, provides information why the job failed.

                                                          " + } + }, + "InputConfig": { + "target": "com.amazonaws.sagemaker#RecommendationJobInputConfig", + "traits": { + "smithy.api#documentation": "

                                                          Returns information about the versioned model package Amazon Resource Name (ARN), \n the traffic pattern, and endpoint configurations you provided when you initiated the job.

                                                          ", + "smithy.api#required": {} + } + }, + "StoppingConditions": { + "target": "com.amazonaws.sagemaker#RecommendationJobStoppingConditions", + "traits": { + "smithy.api#documentation": "

                                                          The stopping conditions that you provided when you initiated the job.

                                                          " + } + }, + "InferenceRecommendations": { + "target": "com.amazonaws.sagemaker#InferenceRecommendations", + "traits": { + "smithy.api#documentation": "

                                                          The recommendations made by Inference Recommender.

                                                          " + } + } + } + }, "com.amazonaws.sagemaker#DescribeLabelingJob": { "type": "operation", "input": { @@ -12254,6 +12694,82 @@ } } }, + "com.amazonaws.sagemaker#DescribeLineageGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#DescribeLineageGroupRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#DescribeLineageGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Provides a list of properties for the requested lineage group. \n For more information, see \n Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

                                                          " + } + }, + "com.amazonaws.sagemaker#DescribeLineageGroupRequest": { + "type": "structure", + "members": { + "LineageGroupName": { + "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the lineage group.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sagemaker#DescribeLineageGroupResponse": { + "type": "structure", + "members": { + "LineageGroupName": { + "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the lineage group.

                                                          " + } + }, + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          " + } + }, + "DisplayName": { + "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "traits": { + "smithy.api#documentation": "

                                                          The display name of the lineage group.

                                                          " + } + }, + "Description": { + "target": "com.amazonaws.sagemaker#ExperimentDescription", + "traits": { + "smithy.api#documentation": "

                                                          The description of the lineage group.

                                                          " + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The creation time of lineage group.

                                                          " + } + }, + "CreatedBy": { + "target": "com.amazonaws.sagemaker#UserContext" + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The last modified time of the lineage group.

                                                          " + } + }, + "LastModifiedBy": { + "target": "com.amazonaws.sagemaker#UserContext" + } + } + }, "com.amazonaws.sagemaker#DescribeModel": { "type": "operation", "input": { @@ -12758,6 +13274,36 @@ "traits": { "smithy.api#documentation": "

                                                          The metadata properties associated with the model package versions.

                                                          " } + }, + "DriftCheckBaselines": { + "target": "com.amazonaws.sagemaker#DriftCheckBaselines", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check baselines that can be used when the model monitor is set using the model package. \n For more information, see the topic on Drift Detection against Previous Baselines in SageMaker Pipelines in the Amazon SageMaker Developer Guide.\n

                                                          " + } + }, + "Domain": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning domain of the model package you specified. Common machine \n learning domains include computer vision and natural language processing.

                                                          " + } + }, + "Task": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning task you specified that your model package accomplishes. \n Common machine learning tasks include object detection and image classification.

                                                          " + } + }, + "SamplePayloadUrl": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Simple Storage Service (Amazon S3) path where the sample payload are stored. This path points to a single \n gzip compressed tar archive (.tar.gz suffix).

                                                          " + } + }, + "AdditionalInferenceSpecifications": { + "target": "com.amazonaws.sagemaker#AdditionalInferenceSpecifications", + "traits": { + "smithy.api#documentation": "

                                                          An array of additional Inference Specification objects. Each additional \n Inference Specification specifies artifacts based on this model package that can \n be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.

                                                          " + } } } }, @@ -14455,7 +15001,7 @@ "type": "structure", "members": { "TrialComponentName": { - "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "target": "com.amazonaws.sagemaker#ExperimentEntityNameOrArn", "traits": { "smithy.api#documentation": "

                                                          The name of the trial component to describe.

                                                          ", "smithy.api#required": {} @@ -14558,6 +15104,12 @@ "traits": { "smithy.api#documentation": "

                                                          The metrics for the component.

                                                          " } + }, + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          " + } } } }, @@ -15149,6 +15701,25 @@ ] } }, + "com.amazonaws.sagemaker#Direction": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Both", + "name": "BOTH" + }, + { + "value": "Ascendants", + "name": "ASCENDANTS" + }, + { + "value": "Descendants", + "name": "DESCENDANTS" + } + ] + } + }, "com.amazonaws.sagemaker#DirectoryPath": { "type": "string", "traits": { @@ -15428,6 +15999,129 @@ "smithy.api#box": {} } }, + "com.amazonaws.sagemaker#DriftCheckBaselines": { + "type": "structure", + "members": { + "Bias": { + "target": "com.amazonaws.sagemaker#DriftCheckBias", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check bias baselines that can be used when the model monitor is set using the model \n package.

                                                          " + } + }, + "Explainability": { + "target": "com.amazonaws.sagemaker#DriftCheckExplainability", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check explainability baselines that can be used when the model monitor is set using \n the model package.

                                                          " + } + }, + "ModelQuality": { + "target": "com.amazonaws.sagemaker#DriftCheckModelQuality", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check model quality baselines that can be used when the model monitor is set using \n the model package.

                                                          " + } + }, + "ModelDataQuality": { + "target": "com.amazonaws.sagemaker#DriftCheckModelDataQuality", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check model data quality baselines that can be used when the model monitor is set \n using the model package.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check baselines that can be used when the model monitor is set using the model \n package.

                                                          " + } + }, + "com.amazonaws.sagemaker#DriftCheckBias": { + "type": "structure", + "members": { + "ConfigFile": { + "target": "com.amazonaws.sagemaker#FileSource", + "traits": { + "smithy.api#documentation": "

                                                          The bias config file for a model.

                                                          " + } + }, + "PreTrainingConstraints": { + "target": "com.amazonaws.sagemaker#MetricsSource" + }, + "PostTrainingConstraints": { + "target": "com.amazonaws.sagemaker#MetricsSource" + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check bias baselines that can be used when the model monitor is set using the \n model package.

                                                          " + } + }, + "com.amazonaws.sagemaker#DriftCheckExplainability": { + "type": "structure", + "members": { + "Constraints": { + "target": "com.amazonaws.sagemaker#MetricsSource" + }, + "ConfigFile": { + "target": "com.amazonaws.sagemaker#FileSource", + "traits": { + "smithy.api#documentation": "

                                                          The explainability config file for the model.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check explainability baselines that can be used when the model monitor is set \n using the model package.

                                                          " + } + }, + "com.amazonaws.sagemaker#DriftCheckModelDataQuality": { + "type": "structure", + "members": { + "Statistics": { + "target": "com.amazonaws.sagemaker#MetricsSource" + }, + "Constraints": { + "target": "com.amazonaws.sagemaker#MetricsSource" + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check data quality baselines that can be used when the model monitor is set using \n the model package.

                                                          " + } + }, + "com.amazonaws.sagemaker#DriftCheckModelQuality": { + "type": "structure", + "members": { + "Statistics": { + "target": "com.amazonaws.sagemaker#MetricsSource" + }, + "Constraints": { + "target": "com.amazonaws.sagemaker#MetricsSource" + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check model quality baselines that can be used when the model monitor is set using \n the model package.

                                                          " + } + }, + "com.amazonaws.sagemaker#Edge": { + "type": "structure", + "members": { + "SourceArn": { + "target": "com.amazonaws.sagemaker#AssociationEntityArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the source lineage entity of the directed edge.

                                                          " + } + }, + "DestinationArn": { + "target": "com.amazonaws.sagemaker#AssociationEntityArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the destination lineage entity of the directed edge.

                                                          " + } + }, + "AssociationType": { + "target": "com.amazonaws.sagemaker#AssociationEdgeType", + "traits": { + "smithy.api#documentation": "

                                                          The type of the Association(Edge) between the source and destination. For example ContributedTo, \n Produced, or DerivedFrom.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A directed edge connecting two lineage entities.

                                                          " + } + }, "com.amazonaws.sagemaker#EdgeModel": { "type": "structure", "members": { @@ -15769,6 +16463,12 @@ "smithy.api#pattern": "^[a-zA-Z0-9\\ \\_\\.]+$" } }, + "com.amazonaws.sagemaker#Edges": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#Edge" + } + }, "com.amazonaws.sagemaker#EfsUid": { "type": "string", "traits": { @@ -16045,6 +16745,45 @@ "smithy.api#documentation": "

                                                          Input object for the endpoint

                                                          " } }, + "com.amazonaws.sagemaker#EndpointInputConfiguration": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.sagemaker#ProductionVariantInstanceType", + "traits": { + "smithy.api#documentation": "

                                                          The instance types to use for the load test.

                                                          ", + "smithy.api#required": {} + } + }, + "InferenceSpecificationName": { + "target": "com.amazonaws.sagemaker#InferenceSpecificationName", + "traits": { + "smithy.api#documentation": "

                                                          The inference specification name in the model package version.

                                                          " + } + }, + "EnvironmentParameterRanges": { + "target": "com.amazonaws.sagemaker#EnvironmentParameterRanges", + "traits": { + "smithy.api#documentation": "

                                                          The parameter you want to benchmark against.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The endpoint configuration for the load test.

                                                          " + } + }, + "com.amazonaws.sagemaker#EndpointInputConfigurations": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#EndpointInputConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.sagemaker#EndpointName": { "type": "string", "traits": { @@ -16065,6 +16804,42 @@ "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, + "com.amazonaws.sagemaker#EndpointOutputConfiguration": { + "type": "structure", + "members": { + "EndpointName": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The name of the endpoint made during a recommendation job.

                                                          ", + "smithy.api#required": {} + } + }, + "VariantName": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The name of the production variant (deployed model) made during a recommendation job.

                                                          ", + "smithy.api#required": {} + } + }, + "InstanceType": { + "target": "com.amazonaws.sagemaker#ProductionVariantInstanceType", + "traits": { + "smithy.api#documentation": "

                                                          The instance type recommended by Amazon SageMaker Inference Recommender.

                                                          ", + "smithy.api#required": {} + } + }, + "InitialInstanceCount": { + "target": "com.amazonaws.sagemaker#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The number of instances recommended to launch initially.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The endpoint configuration made by Inference Recommender during a recommendation job.

                                                          " + } + }, "com.amazonaws.sagemaker#EndpointSortKey": { "type": "string", "traits": { @@ -16217,6 +16992,61 @@ } } }, + "com.amazonaws.sagemaker#EnvironmentParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The environment key suggested by the Amazon SageMaker Inference Recommender.

                                                          ", + "smithy.api#required": {} + } + }, + "ValueType": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The value type suggested by the Amazon SageMaker Inference Recommender.

                                                          ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The value suggested by the Amazon SageMaker Inference Recommender.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A list of environment parameters suggested by the Amazon SageMaker Inference Recommender.

                                                          " + } + }, + "com.amazonaws.sagemaker#EnvironmentParameterRanges": { + "type": "structure", + "members": { + "CategoricalParameterRanges": { + "target": "com.amazonaws.sagemaker#CategoricalParameters", + "traits": { + "smithy.api#documentation": "

                                                          Specified a list of parameters for each category.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Specifies the range of environment parameters

                                                          " + } + }, + "com.amazonaws.sagemaker#EnvironmentParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#EnvironmentParameter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.sagemaker#EnvironmentValue": { "type": "string", "traits": { @@ -16390,6 +17220,16 @@ "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}$" } }, + "com.amazonaws.sagemaker#ExperimentEntityNameOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:(experiment|experiment-trial|experiment-trial-component|artifact|action|context)\\/)?([a-zA-Z0-9](-*[a-zA-Z0-9]){0,119})$" + } + }, "com.amazonaws.sagemaker#ExperimentSource": { "type": "structure", "members": { @@ -16804,6 +17644,33 @@ ] } }, + "com.amazonaws.sagemaker#FileSource": { + "type": "structure", + "members": { + "ContentType": { + "target": "com.amazonaws.sagemaker#ContentType", + "traits": { + "smithy.api#documentation": "

                                                          The type of content stored in the file source.

                                                          " + } + }, + "ContentDigest": { + "target": "com.amazonaws.sagemaker#ContentDigest", + "traits": { + "smithy.api#documentation": "

                                                          The digest of the file source.

                                                          " + } + }, + "S3Uri": { + "target": "com.amazonaws.sagemaker#S3Uri", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI for the file source.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Contains details regarding the file source.

                                                          " + } + }, "com.amazonaws.sagemaker#FileSystemAccessMode": { "type": "string", "traits": { @@ -17346,6 +18213,52 @@ } } }, + "com.amazonaws.sagemaker#GetLineageGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#GetLineageGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#GetLineageGroupPolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          The resource policy for the lineage group.

                                                          " + } + }, + "com.amazonaws.sagemaker#GetLineageGroupPolicyRequest": { + "type": "structure", + "members": { + "LineageGroupName": { + "target": "com.amazonaws.sagemaker#LineageGroupNameOrArn", + "traits": { + "smithy.api#documentation": "

                                                          The name or Amazon Resource Name (ARN) of the lineage group.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sagemaker#GetLineageGroupPolicyResponse": { + "type": "structure", + "members": { + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group.

                                                          " + } + }, + "ResourcePolicy": { + "target": "com.amazonaws.sagemaker#ResourcePolicyString", + "traits": { + "smithy.api#documentation": "

                                                          The resource policy that gives access to the lineage group in another account.

                                                          " + } + } + } + }, "com.amazonaws.sagemaker#GetModelPackageGroupPolicy": { "type": "operation", "input": { @@ -17697,14 +18610,14 @@ "TaskTimeLimitInSeconds": { "target": "com.amazonaws.sagemaker#TaskTimeLimitInSeconds", "traits": { - "smithy.api#documentation": "

                                                          The amount of time that a worker has to complete a task.

                                                          \n

                                                          If you create a custom labeling job, the maximum value for this parameter is 8 hours\n (28,800 seconds).

                                                          \n

                                                          If you create a labeling job using a built-in task type the maximum\n for this parameter depends on the task type you use:

                                                          \n
                                                            \n
                                                          • \n

                                                            For image and \n text labeling jobs,\n the maximum is 8 hours (28,800 seconds).

                                                            \n
                                                          • \n
                                                          • \n

                                                            For 3D point cloud and video frame labeling jobs, the maximum is 30 days (2952,000 seconds) for non-AL mode. For most users, the maximum is also 30 days. If you want to change these limits,\n contact Amazon Web Services Support.

                                                            \n
                                                          • \n
                                                          ", + "smithy.api#documentation": "

                                                          The amount of time that a worker has to complete a task.

                                                          \n

                                                          If you create a custom labeling job, the maximum value for this parameter is 8 hours\n (28,800 seconds).

                                                          \n

                                                          If you create a labeling job using a built-in task type the maximum\n for this parameter depends on the task type you use:

                                                          \n
                                                            \n
                                                          • \n

                                                            For image and \n text labeling jobs,\n the maximum is 8 hours (28,800 seconds).

                                                            \n
                                                          • \n
                                                          • \n

                                                            For 3D point cloud and video frame labeling jobs, the maximum is 30 days (2952,000 seconds) for non-AL mode. For most users, the maximum is also 30 days.

                                                            \n
                                                          • \n
                                                          ", "smithy.api#required": {} } }, "TaskAvailabilityLifetimeInSeconds": { "target": "com.amazonaws.sagemaker#TaskAvailabilityLifetimeInSeconds", "traits": { - "smithy.api#documentation": "

                                                          The length of time that a task remains available for labeling by human workers. The\n default and maximum values for this parameter depend on the type of workforce you\n use.

                                                          \n
                                                            \n
                                                          • \n

                                                            If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours (43,200 seconds).\n The default is 6 hours (21,600 seconds).

                                                            \n
                                                          • \n
                                                          • \n

                                                            If you choose a private or vendor workforce, the default value is 30 days (2592,000 seconds) for non-AL mode. For most users, the maximum is also 30 days. If you want to\n change this limit, contact Amazon Web Services Support.

                                                            \n
                                                          • \n
                                                          " + "smithy.api#documentation": "

                                                          The length of time that a task remains available for labeling by human workers. The\n default and maximum values for this parameter depend on the type of workforce you\n use.

                                                          \n
                                                            \n
                                                          • \n

                                                            If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours (43,200 seconds).\n The default is 6 hours (21,600 seconds).

                                                            \n
                                                          • \n
                                                          • \n

                                                            If you choose a private or vendor workforce, the default value is 30 days (2592,000 seconds) for non-AL mode. For most users, the maximum is also 30 days.

                                                            \n
                                                          • \n
                                                          " } }, "MaxConcurrentTaskCount": { @@ -18915,6 +19828,129 @@ } } }, + "com.amazonaws.sagemaker#InferenceRecommendation": { + "type": "structure", + "members": { + "Metrics": { + "target": "com.amazonaws.sagemaker#RecommendationMetrics", + "traits": { + "smithy.api#documentation": "

                                                          The metrics used to decide what recommendation to make.

                                                          ", + "smithy.api#required": {} + } + }, + "EndpointConfiguration": { + "target": "com.amazonaws.sagemaker#EndpointOutputConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Defines the endpoint configuration parameters.

                                                          ", + "smithy.api#required": {} + } + }, + "ModelConfiguration": { + "target": "com.amazonaws.sagemaker#ModelConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          Defines the model configuration.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A list of recommendations made by Amazon SageMaker Inference Recommender.

                                                          " + } + }, + "com.amazonaws.sagemaker#InferenceRecommendations": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#InferenceRecommendation" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.sagemaker#InferenceRecommendationsJob": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.sagemaker#RecommendationJobName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the job.

                                                          ", + "smithy.api#required": {} + } + }, + "JobDescription": { + "target": "com.amazonaws.sagemaker#RecommendationJobDescription", + "traits": { + "smithy.api#documentation": "

                                                          The job description.

                                                          ", + "smithy.api#required": {} + } + }, + "JobType": { + "target": "com.amazonaws.sagemaker#RecommendationJobType", + "traits": { + "smithy.api#documentation": "

                                                          The recommendation job type.

                                                          ", + "smithy.api#required": {} + } + }, + "JobArn": { + "target": "com.amazonaws.sagemaker#RecommendationJobArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the recommendation job.

                                                          ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.sagemaker#RecommendationJobStatus", + "traits": { + "smithy.api#documentation": "

                                                          The status of the job.

                                                          ", + "smithy.api#required": {} + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#CreationTime", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp that shows when the job was created.

                                                          ", + "smithy.api#required": {} + } + }, + "CompletionTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp that shows when the job completed.

                                                          " + } + }, + "RoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker \n to perform tasks on your behalf.

                                                          ", + "smithy.api#required": {} + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp that shows when the job was last modified.

                                                          ", + "smithy.api#required": {} + } + }, + "FailureReason": { + "target": "com.amazonaws.sagemaker#FailureReason", + "traits": { + "smithy.api#documentation": "

                                                          If the job fails, provides information why the job failed.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A structure that contains a list of recommendation jobs.

                                                          " + } + }, + "com.amazonaws.sagemaker#InferenceRecommendationsJobs": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#InferenceRecommendationsJob" + } + }, "com.amazonaws.sagemaker#InferenceSpecification": { "type": "structure", "members": { @@ -18956,6 +19992,25 @@ "smithy.api#documentation": "

                                                          Defines how to perform inference generation after a training job is run.

                                                          " } }, + "com.amazonaws.sagemaker#InferenceSpecificationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" + } + }, + "com.amazonaws.sagemaker#InitialNumberOfUsers": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#InitialTaskCount": { "type": "integer", "traits": { @@ -19387,6 +20442,15 @@ "smithy.api#pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:rolealias/?[a-zA-Z_0-9+=,.@\\-_/]+$" } }, + "com.amazonaws.sagemaker#JobDurationInSeconds": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#JobReferenceCode": { "type": "string", "traits": { @@ -20118,6 +21182,93 @@ } } }, + "com.amazonaws.sagemaker#LineageGroupArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:lineage-group/" + } + }, + "com.amazonaws.sagemaker#LineageGroupNameOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:lineage-group\\/)?([a-zA-Z0-9](-*[a-zA-Z0-9]){0,119})$" + } + }, + "com.amazonaws.sagemaker#LineageGroupSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#LineageGroupSummary" + } + }, + "com.amazonaws.sagemaker#LineageGroupSummary": { + "type": "structure", + "members": { + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group resource.

                                                          " + } + }, + "LineageGroupName": { + "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "traits": { + "smithy.api#documentation": "

                                                          The name or Amazon Resource Name (ARN) of the lineage group.

                                                          " + } + }, + "DisplayName": { + "target": "com.amazonaws.sagemaker#ExperimentEntityName", + "traits": { + "smithy.api#documentation": "

                                                          The display name of the lineage group summary.

                                                          " + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The creation time of the lineage group summary.

                                                          " + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          The last modified time of the lineage group summary.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Lists a summary of the properties of a lineage group. A lineage group provides a group of shareable lineage entity \n resources.

                                                          " + } + }, + "com.amazonaws.sagemaker#LineageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TrialComponent", + "name": "TRIAL_COMPONENT" + }, + { + "value": "Artifact", + "name": "ARTIFACT" + }, + { + "value": "Context", + "name": "CONTEXT" + }, + { + "value": "Action", + "name": "ACTION" + } + ] + } + }, "com.amazonaws.sagemaker#ListActions": { "type": "operation", "input": { @@ -22398,6 +23549,125 @@ } } }, + "com.amazonaws.sagemaker#ListInferenceRecommendationsJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#ListInferenceRecommendationsJobsRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#ListInferenceRecommendationsJobsResponse" + }, + "traits": { + "smithy.api#documentation": "

                                                          Lists recommendation jobs that satisfy various filters.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.sagemaker#ListInferenceRecommendationsJobsRequest": { + "type": "structure", + "members": { + "CreationTimeAfter": { + "target": "com.amazonaws.sagemaker#CreationTime", + "traits": { + "smithy.api#documentation": "

                                                          A filter that returns only jobs created after the specified time (timestamp).

                                                          " + } + }, + "CreationTimeBefore": { + "target": "com.amazonaws.sagemaker#CreationTime", + "traits": { + "smithy.api#documentation": "

                                                          A filter that returns only jobs created before the specified time (timestamp).

                                                          " + } + }, + "LastModifiedTimeAfter": { + "target": "com.amazonaws.sagemaker#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

                                                          A filter that returns only jobs that were last modified after the specified time (timestamp).

                                                          " + } + }, + "LastModifiedTimeBefore": { + "target": "com.amazonaws.sagemaker#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

                                                          A filter that returns only jobs that were last modified before the specified time (timestamp).

                                                          " + } + }, + "NameContains": { + "target": "com.amazonaws.sagemaker#NameContains", + "traits": { + "smithy.api#documentation": "

                                                          A string in the job name. This filter returns only recommendations whose name contains the specified string.

                                                          " + } + }, + "StatusEquals": { + "target": "com.amazonaws.sagemaker#RecommendationJobStatus", + "traits": { + "smithy.api#documentation": "

                                                          A filter that retrieves only inference recommendations jobs with a specific status.

                                                          " + } + }, + "SortBy": { + "target": "com.amazonaws.sagemaker#ListInferenceRecommendationsJobsSortBy", + "traits": { + "smithy.api#documentation": "

                                                          The parameter by which to sort the results.

                                                          " + } + }, + "SortOrder": { + "target": "com.amazonaws.sagemaker#SortOrder", + "traits": { + "smithy.api#documentation": "

                                                          The sort order for the results.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response to a previous ListInferenceRecommendationsJobsRequest request \n was truncated, the response includes a NextToken. To retrieve the next set \n of recommendations, use the token in the next request.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.sagemaker#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of recommendations to return in the response.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#ListInferenceRecommendationsJobsResponse": { + "type": "structure", + "members": { + "InferenceRecommendationsJobs": { + "target": "com.amazonaws.sagemaker#InferenceRecommendationsJobs", + "traits": { + "smithy.api#documentation": "

                                                          The recommendations created from the Amazon SageMaker Inference Recommender job.

                                                          ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          A token for getting the next set of recommendations, if there are any.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#ListInferenceRecommendationsJobsSortBy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Name", + "name": "NAME" + }, + { + "value": "CreationTime", + "name": "CREATION_TIME" + }, + { + "value": "Status", + "name": "STATUS" + } + ] + } + }, "com.amazonaws.sagemaker#ListLabelingJobs": { "type": "operation", "input": { @@ -22608,6 +23878,81 @@ "target": "com.amazonaws.sagemaker#StringParameterValue" } }, + "com.amazonaws.sagemaker#ListLineageGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#ListLineageGroupsRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#ListLineageGroupsResponse" + }, + "traits": { + "smithy.api#documentation": "

                                                          A list of lineage groups shared with your Amazon Web Services account. \n For more information, see \n Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.sagemaker#ListLineageGroupsRequest": { + "type": "structure", + "members": { + "CreatedAfter": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp to filter against lineage groups created after a certain point in time.

                                                          " + } + }, + "CreatedBefore": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          A timestamp to filter against lineage groups created before a certain point in time.

                                                          " + } + }, + "SortBy": { + "target": "com.amazonaws.sagemaker#SortLineageGroupsBy", + "traits": { + "smithy.api#documentation": "

                                                          The parameter by which to sort the results. The default is\n CreationTime.

                                                          " + } + }, + "SortOrder": { + "target": "com.amazonaws.sagemaker#SortOrder", + "traits": { + "smithy.api#documentation": "

                                                          The sort order for the results. The default is Ascending.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response is truncated, SageMaker returns this token. To retrieve the next set of\n algorithms, use it in the subsequent request.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.sagemaker#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of endpoints to return in the response. This value defaults to\n 10.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#ListLineageGroupsResponse": { + "type": "structure", + "members": { + "LineageGroupSummaries": { + "target": "com.amazonaws.sagemaker#LineageGroupSummaries", + "traits": { + "smithy.api#documentation": "

                                                          A list of lineage groups and their properties.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response is truncated, SageMaker returns this token. To retrieve the next set of\n algorithms, use it in the subsequent request.

                                                          " + } + } + } + }, "com.amazonaws.sagemaker#ListMaxResults": { "type": "integer", "traits": { @@ -22792,6 +24137,64 @@ } } }, + "com.amazonaws.sagemaker#ListModelMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#ListModelMetadataRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#ListModelMetadataResponse" + }, + "traits": { + "smithy.api#documentation": "

                                                          Lists the domain, framework, task, and model name of standard \n machine learning models found in common model zoos.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.sagemaker#ListModelMetadataRequest": { + "type": "structure", + "members": { + "SearchExpression": { + "target": "com.amazonaws.sagemaker#ModelMetadataSearchExpression", + "traits": { + "smithy.api#documentation": "

                                                          One or more filters that searches for the specified resource or resources \n in a search. All resource objects that satisfy the expression's condition are \n included in the search results. Specify the Framework, FrameworkVersion, Domain \n or Task to filter supported. Filter names and values are case-sensitive.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          If the response to a previous ListModelMetadataResponse request was truncated, \n the response includes a NextToken. To retrieve the next set of model metadata, \n use the token in the next request.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.sagemaker#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of models to return in the response.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#ListModelMetadataResponse": { + "type": "structure", + "members": { + "ModelMetadataSummaries": { + "target": "com.amazonaws.sagemaker#ModelMetadataSummaries", + "traits": { + "smithy.api#documentation": "

                                                          A structure that holds model metadata.

                                                          ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#NextToken", + "traits": { + "smithy.api#documentation": "

                                                          A token for getting the next set of recommendations, if there are any.

                                                          " + } + } + } + }, "com.amazonaws.sagemaker#ListModelPackageGroups": { "type": "operation", "input": { @@ -25100,6 +26503,15 @@ } } }, + "com.amazonaws.sagemaker#MaxNumberOfTests": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#MaxNumberOfTrainingJobs": { "type": "integer", "traits": { @@ -25108,6 +26520,15 @@ } } }, + "com.amazonaws.sagemaker#MaxParallelOfTests": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#MaxParallelTrainingJobs": { "type": "integer", "traits": { @@ -25587,6 +27008,26 @@ "smithy.api#documentation": "

                                                          Configures the timeout and maximum number of retries for processing a transform job\n invocation.

                                                          " } }, + "com.amazonaws.sagemaker#ModelConfiguration": { + "type": "structure", + "members": { + "InferenceSpecificationName": { + "target": "com.amazonaws.sagemaker#InferenceSpecificationName", + "traits": { + "smithy.api#documentation": "

                                                          The inference specification name in the model package version.

                                                          " + } + }, + "EnvironmentParameters": { + "target": "com.amazonaws.sagemaker#EnvironmentParameters", + "traits": { + "smithy.api#documentation": "

                                                          Defines the environment parameters that includes key, value types, and values.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Defines the model configuration. Includes the specification name and environment parameters.

                                                          " + } + }, "com.amazonaws.sagemaker#ModelDataQuality": { "type": "structure", "members": { @@ -25714,6 +27155,173 @@ "smithy.api#documentation": "

                                                          Inputs for the model explainability job.

                                                          " } }, + "com.amazonaws.sagemaker#ModelInput": { + "type": "structure", + "members": { + "DataInputConfig": { + "target": "com.amazonaws.sagemaker#DataInputConfig", + "traits": { + "smithy.api#documentation": "

                                                          The input configuration object for the model.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Input object for the model.

                                                          " + } + }, + "com.amazonaws.sagemaker#ModelLatencyThreshold": { + "type": "structure", + "members": { + "Percentile": { + "target": "com.amazonaws.sagemaker#String64", + "traits": { + "smithy.api#documentation": "

                                                          The model latency percentile threshold.

                                                          " + } + }, + "ValueInMilliseconds": { + "target": "com.amazonaws.sagemaker#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The model latency percentile value in milliseconds.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The model latency threshold.

                                                          " + } + }, + "com.amazonaws.sagemaker#ModelLatencyThresholds": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#ModelLatencyThreshold" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.sagemaker#ModelMetadataFilter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.sagemaker#ModelMetadataFilterType", + "traits": { + "smithy.api#documentation": "

                                                          The name of the of the model to filter by.

                                                          ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The value to filter the model metadata.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Part of the search expression. You can specify the name and value \n (domain, task, framework, framework version, task, and model).

                                                          " + } + }, + "com.amazonaws.sagemaker#ModelMetadataFilterType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Domain", + "name": "DOMAIN" + }, + { + "value": "Framework", + "name": "FRAMEWORK" + }, + { + "value": "Task", + "name": "TASK" + }, + { + "value": "FrameworkVersion", + "name": "FRAMEWORKVERSION" + } + ] + } + }, + "com.amazonaws.sagemaker#ModelMetadataFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#ModelMetadataFilter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4 + } + } + }, + "com.amazonaws.sagemaker#ModelMetadataSearchExpression": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.sagemaker#ModelMetadataFilters", + "traits": { + "smithy.api#documentation": "

                                                          A list of filter objects.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          One or more filters that searches for the specified resource or resources in \n a search. All resource objects that satisfy the expression's condition are \n included in the search results

                                                          " + } + }, + "com.amazonaws.sagemaker#ModelMetadataSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#ModelMetadataSummary" + } + }, + "com.amazonaws.sagemaker#ModelMetadataSummary": { + "type": "structure", + "members": { + "Domain": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning domain of the model.

                                                          ", + "smithy.api#required": {} + } + }, + "Framework": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning framework of the model.

                                                          ", + "smithy.api#required": {} + } + }, + "Task": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning task of the model.

                                                          ", + "smithy.api#required": {} + } + }, + "Model": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The name of the model.

                                                          ", + "smithy.api#required": {} + } + }, + "FrameworkVersion": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The framework version of the model.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A summary of the model metadata.

                                                          " + } + }, "com.amazonaws.sagemaker#ModelMetrics": { "type": "structure", "members": { @@ -25862,6 +27470,30 @@ "smithy.api#documentation": "

                                                          A description provided when the model approval is set.

                                                          " } }, + "Domain": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning domain of your model package and its components. Common \n machine learning domains include computer vision and natural language processing.

                                                          " + } + }, + "Task": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning task your model package accomplishes. Common machine \n learning tasks include object detection and image classification.

                                                          " + } + }, + "SamplePayloadUrl": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Simple Storage Service path where the sample payload are stored. This path must point to \n a single gzip compressed tar archive (.tar.gz suffix).

                                                          " + } + }, + "AdditionalInferenceSpecifications": { + "target": "com.amazonaws.sagemaker#AdditionalInferenceSpecifications", + "traits": { + "smithy.api#documentation": "

                                                          An array of additional Inference Specification objects.

                                                          " + } + }, "Tags": { "target": "com.amazonaws.sagemaker#TagList", "traits": { @@ -25873,6 +27505,12 @@ "traits": { "smithy.api#documentation": "

                                                          The metadata properties for the model package.

                                                          " } + }, + "DriftCheckBaselines": { + "target": "com.amazonaws.sagemaker#DriftCheckBaselines", + "traits": { + "smithy.api#documentation": "

                                                          Represents the drift check baselines that can be used when the model monitor is set using the model package.

                                                          " + } } }, "traits": { @@ -25940,6 +27578,30 @@ "traits": { "smithy.api#documentation": "

                                                          The environment variables to set in the Docker container. Each key and value in the\n Environment string to string map can have length of up to 1024. We\n support up to 16 entries in the map.

                                                          " } + }, + "ModelInput": { + "target": "com.amazonaws.sagemaker#ModelInput", + "traits": { + "smithy.api#documentation": "

                                                          A structure with Model Input details.

                                                          " + } + }, + "Framework": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The machine learning framework of the model package container image.

                                                          " + } + }, + "FrameworkVersion": { + "target": "com.amazonaws.sagemaker#FrameworkVersion", + "traits": { + "smithy.api#documentation": "

                                                          The framework version of the Model Package Container Image.

                                                          " + } + }, + "NearestModelName": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                          The name of a pre-trained machine learning benchmarked by \n Amazon SageMaker Inference Recommender model that matches your model. \n You can find a list of benchmarked models by calling ListModelMetadata.

                                                          " + } } }, "traits": { @@ -28732,6 +30394,18 @@ "traits": { "smithy.api#documentation": "

                                                          The endpoint variant status which describes the current deployment stage status or operational status.

                                                          " } + }, + "CurrentServerlessConfig": { + "target": "com.amazonaws.sagemaker#ProductionVariantServerlessConfig", + "traits": { + "smithy.api#documentation": "

                                                          The serverless configuration for the endpoint.

                                                          \n \n

                                                          Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                          \n
                                                          " + } + }, + "DesiredServerlessConfig": { + "target": "com.amazonaws.sagemaker#ProductionVariantServerlessConfig", + "traits": { + "smithy.api#documentation": "

                                                          The serverless configuration requested for this deployment, as specified in the endpoint configuration for the endpoint.

                                                          \n \n

                                                          Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                          \n
                                                          " + } } }, "traits": { @@ -28749,6 +30423,43 @@ } } }, + "com.amazonaws.sagemaker#Phase": { + "type": "structure", + "members": { + "InitialNumberOfUsers": { + "target": "com.amazonaws.sagemaker#InitialNumberOfUsers", + "traits": { + "smithy.api#documentation": "

                                                          Specifies how many concurrent users to start with.

                                                          " + } + }, + "SpawnRate": { + "target": "com.amazonaws.sagemaker#SpawnRate", + "traits": { + "smithy.api#documentation": "

                                                          Specified how many new users to spawn in a minute.

                                                          " + } + }, + "DurationInSeconds": { + "target": "com.amazonaws.sagemaker#TrafficDurationInSeconds", + "traits": { + "smithy.api#documentation": "

                                                          Specifies how long traffic phase should be.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Defines the traffic pattern.

                                                          " + } + }, + "com.amazonaws.sagemaker#Phases": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#Phase" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#Pipeline": { "type": "structure", "members": { @@ -29109,6 +30820,18 @@ "traits": { "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution and a list of\n output parameters.

                                                          " } + }, + "QualityCheck": { + "target": "com.amazonaws.sagemaker#QualityCheckStepMetadata", + "traits": { + "smithy.api#documentation": "

                                                          The configurations and outcomes of the check step execution. This includes:

                                                          \n
                                                            \n
                                                          • \n

                                                            The type of the check conducted,

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon S3 URIs of newly calculated baseline constraints and statistics.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The model package group name provided.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon S3 URI of the violation report if violations detected.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon Resource Name (ARN) of check processing job initiated by the step execution.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The boolean flags indicating if the drift check is skipped.

                                                            \n
                                                          • \n
                                                          • \n

                                                            If step property BaselineUsedForDriftCheck is set the same as \n CalculatedBaseline.

                                                            \n
                                                          • \n
                                                          " + } + }, + "ClarifyCheck": { + "target": "com.amazonaws.sagemaker#ClarifyCheckStepMetadata", + "traits": { + "smithy.api#documentation": "

                                                          Container for the metadata for a Clarify check step. The configurations \n and outcomes of the check step execution. This includes:

                                                          \n
                                                            \n
                                                          • \n

                                                            The type of the check conducted,

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon S3 URIs of newly calculated baseline constraints and statistics.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The model package group name provided.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon S3 URI of the violation report if violations detected.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The Amazon Resource Name (ARN) of check processing job initiated by the step execution.

                                                            \n
                                                          • \n
                                                          • \n

                                                            The boolean flags indicating if the drift check is skipped.

                                                            \n
                                                          • \n
                                                          • \n

                                                            If step property BaselineUsedForDriftCheck is set the same as \n CalculatedBaseline.

                                                            \n
                                                          • \n
                                                          " + } } }, "traits": { @@ -30215,15 +31938,13 @@ "InitialInstanceCount": { "target": "com.amazonaws.sagemaker#InitialTaskCount", "traits": { - "smithy.api#documentation": "

                                                          Number of instances to launch initially.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          Number of instances to launch initially.

                                                          " } }, "InstanceType": { "target": "com.amazonaws.sagemaker#ProductionVariantInstanceType", "traits": { - "smithy.api#documentation": "

                                                          The ML compute instance type.

                                                          ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                          The ML compute instance type.

                                                          " } }, "InitialVariantWeight": { @@ -30243,6 +31964,12 @@ "traits": { "smithy.api#documentation": "

                                                          Specifies configuration for a core dump from the model container when the process\n crashes.

                                                          " } + }, + "ServerlessConfig": { + "target": "com.amazonaws.sagemaker#ProductionVariantServerlessConfig", + "traits": { + "smithy.api#documentation": "

                                                          The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.

                                                          \n \n

                                                          Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                          \n
                                                          " + } } }, "traits": { @@ -30584,6 +32311,28 @@ } } }, + "com.amazonaws.sagemaker#ProductionVariantServerlessConfig": { + "type": "structure", + "members": { + "MemorySizeInMB": { + "target": "com.amazonaws.sagemaker#ServerlessMemorySizeInMB", + "traits": { + "smithy.api#documentation": "

                                                          The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.

                                                          ", + "smithy.api#required": {} + } + }, + "MaxConcurrency": { + "target": "com.amazonaws.sagemaker#ServerlessMaxConcurrency", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of concurrent invocations your serverless endpoint can process.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n

                                                          Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                          \n
                                                          \n

                                                          Specifies the serverless configuration for an endpoint variant.

                                                          " + } + }, "com.amazonaws.sagemaker#ProductionVariantStatus": { "type": "structure", "members": { @@ -30668,6 +32417,18 @@ "traits": { "smithy.api#documentation": "

                                                          The endpoint variant status which describes the current deployment stage status or operational status.

                                                          " } + }, + "CurrentServerlessConfig": { + "target": "com.amazonaws.sagemaker#ProductionVariantServerlessConfig", + "traits": { + "smithy.api#documentation": "

                                                          The serverless configuration for the endpoint.

                                                          \n \n

                                                          Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                          \n
                                                          " + } + }, + "DesiredServerlessConfig": { + "target": "com.amazonaws.sagemaker#ProductionVariantServerlessConfig", + "traits": { + "smithy.api#documentation": "

                                                          The serverless configuration requested for the endpoint update.

                                                          \n \n

                                                          Serverless Inference is in preview release for Amazon SageMaker and is subject to change. We do not recommend using this feature in production environments.

                                                          \n
                                                          " + } } }, "traits": { @@ -31281,6 +33042,286 @@ } } }, + "com.amazonaws.sagemaker#QualityCheckStepMetadata": { + "type": "structure", + "members": { + "CheckType": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The type of the Quality check step.

                                                          " + } + }, + "BaselineUsedForDriftCheckStatistics": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of the baseline statistics file used for the drift check.

                                                          " + } + }, + "BaselineUsedForDriftCheckConstraints": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of the baseline constraints file used for the drift check.

                                                          " + } + }, + "CalculatedBaselineStatistics": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of the newly calculated baseline statistics file.

                                                          " + } + }, + "CalculatedBaselineConstraints": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of the newly calculated baseline constraints file.

                                                          " + } + }, + "ModelPackageGroupName": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The model package group name.

                                                          " + } + }, + "ViolationReport": { + "target": "com.amazonaws.sagemaker#String1024", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon S3 URI of violation report if violations are detected.

                                                          " + } + }, + "CheckJobArn": { + "target": "com.amazonaws.sagemaker#String256", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the Quality check processing job that was run by this step execution.

                                                          " + } + }, + "SkipCheck": { + "target": "com.amazonaws.sagemaker#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          This flag indicates if the drift check against the previous baseline will be skipped or not. \n If it is set to False, the previous baseline of the configured check type must be available.

                                                          " + } + }, + "RegisterNewBaseline": { + "target": "com.amazonaws.sagemaker#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          This flag indicates if a newly calculated baseline can be accessed through step properties \n BaselineUsedForDriftCheckConstraints and BaselineUsedForDriftCheckStatistics. \n If it is set to False, the previous baseline of the configured check type must also be available. \n These can be accessed through the BaselineUsedForDriftCheckConstraints and \n BaselineUsedForDriftCheckStatistics properties.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Container for the metadata for a Quality check step. For more information, see \n the topic on QualityCheck step in the Amazon SageMaker Developer Guide.\n

                                                          " + } + }, + "com.amazonaws.sagemaker#QueryFilters": { + "type": "structure", + "members": { + "Types": { + "target": "com.amazonaws.sagemaker#QueryTypes", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn by type. For example: DataSet, \n Model, Endpoint, or ModelDeployment.

                                                          " + } + }, + "LineageTypes": { + "target": "com.amazonaws.sagemaker#QueryLineageTypes", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn(s) by the type of the lineage entity.

                                                          " + } + }, + "CreatedBefore": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn(s) by created date.

                                                          " + } + }, + "CreatedAfter": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn(s) after the create date.

                                                          " + } + }, + "ModifiedBefore": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn(s) before the last modified date.

                                                          " + } + }, + "ModifiedAfter": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn(s) after the last modified date.

                                                          " + } + }, + "Properties": { + "target": "com.amazonaws.sagemaker#QueryProperties", + "traits": { + "smithy.api#documentation": "

                                                          Filter the lineage entities connected to the StartArn(s) by a set if property key value pairs. \n If multiple pairs are provided, an entity will be included in the results if it matches any of the provided pairs.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A set of filters to narrow the set of lineage entities connected to the StartArn(s) returned by the \n QueryLineage API action.

                                                          " + } + }, + "com.amazonaws.sagemaker#QueryLineage": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#QueryLineageRequest" + }, + "output": { + "target": "com.amazonaws.sagemaker#QueryLineageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Use this action to inspect your lineage and discover relationships between entities. \n For more information, see \n Querying Lineage Entities in the Amazon SageMaker Developer Guide.

                                                          ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.sagemaker#QueryLineageMaxDepth": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "max": 10 + } + } + }, + "com.amazonaws.sagemaker#QueryLineageMaxResults": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "max": 50 + } + } + }, + "com.amazonaws.sagemaker#QueryLineageRequest": { + "type": "structure", + "members": { + "StartArns": { + "target": "com.amazonaws.sagemaker#QueryLineageStartArns", + "traits": { + "smithy.api#documentation": "

                                                          A list of resource Amazon Resource Name (ARN) that represent the starting point for your lineage query.

                                                          ", + "smithy.api#required": {} + } + }, + "Direction": { + "target": "com.amazonaws.sagemaker#Direction", + "traits": { + "smithy.api#documentation": "

                                                          Associations between lineage entities are directed. This parameter determines the direction from the \n StartArn(s) the query will look.

                                                          " + } + }, + "IncludeEdges": { + "target": "com.amazonaws.sagemaker#Boolean", + "traits": { + "smithy.api#documentation": "

                                                          Setting this value to True will retrieve not only the entities of interest but also the \n Associations and \n lineage entities on the path. Set to False to only return lineage entities that match your query.

                                                          " + } + }, + "Filters": { + "target": "com.amazonaws.sagemaker#QueryFilters", + "traits": { + "smithy.api#documentation": "

                                                          A set of filtering parameters that allow you to specify which entities should be returned.

                                                          \n
                                                            \n
                                                          • \n

                                                            Properties - Key-value pairs to match on the lineage entities' properties.

                                                            \n
                                                          • \n
                                                          • \n

                                                            LineageTypes - A set of lineage entity types to match on. For example: TrialComponent, \n Artifact, or Context.

                                                            \n
                                                          • \n
                                                          • \n

                                                            CreatedBefore - Filter entities created before this date.

                                                            \n
                                                          • \n
                                                          • \n

                                                            ModifiedBefore - Filter entities modified before this date.

                                                            \n
                                                          • \n
                                                          • \n

                                                            ModifiedAfter - Filter entities modified after this date.

                                                            \n
                                                          • \n
                                                          " + } + }, + "MaxDepth": { + "target": "com.amazonaws.sagemaker#QueryLineageMaxDepth", + "traits": { + "smithy.api#documentation": "

                                                          The maximum depth in lineage relationships from the StartArns that will be traversed. Depth is a measure of the number \n of Associations from the StartArn entity to the matched results.

                                                          " + } + }, + "MaxResults": { + "target": "com.amazonaws.sagemaker#QueryLineageMaxResults", + "traits": { + "smithy.api#documentation": "

                                                          Limits the number of vertices in the results. Use the NextToken in a response to to retrieve the next page of results.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#String8192", + "traits": { + "smithy.api#documentation": "

                                                          Limits the number of vertices in the request. Use the NextToken in a response to to retrieve the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#QueryLineageResponse": { + "type": "structure", + "members": { + "Vertices": { + "target": "com.amazonaws.sagemaker#Vertices", + "traits": { + "smithy.api#documentation": "

                                                          A list of vertices connected to the start entity(ies) in the lineage graph.

                                                          " + } + }, + "Edges": { + "target": "com.amazonaws.sagemaker#Edges", + "traits": { + "smithy.api#documentation": "

                                                          A list of edges that connect vertices in the response.

                                                          " + } + }, + "NextToken": { + "target": "com.amazonaws.sagemaker#String8192", + "traits": { + "smithy.api#documentation": "

                                                          Limits the number of vertices in the response. Use the NextToken in a response to to retrieve the next page of results.

                                                          " + } + } + } + }, + "com.amazonaws.sagemaker#QueryLineageStartArns": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#AssociationEntityArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.sagemaker#QueryLineageTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#LineageType" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4 + } + } + }, + "com.amazonaws.sagemaker#QueryProperties": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#String256" + }, + "value": { + "target": "com.amazonaws.sagemaker#String256" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "com.amazonaws.sagemaker#QueryTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#String40" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, "com.amazonaws.sagemaker#RSessionAppSettings": { "type": "structure", "members": {}, @@ -31392,6 +33433,196 @@ "target": "com.amazonaws.sagemaker#ProductionVariantInstanceType" } }, + "com.amazonaws.sagemaker#RecommendationJobArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:inference-recommendations-job/" + } + }, + "com.amazonaws.sagemaker#RecommendationJobDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + } + } + }, + "com.amazonaws.sagemaker#RecommendationJobInputConfig": { + "type": "structure", + "members": { + "ModelPackageVersionArn": { + "target": "com.amazonaws.sagemaker#ModelPackageArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of a versioned model package.

                                                          ", + "smithy.api#required": {} + } + }, + "JobDurationInSeconds": { + "target": "com.amazonaws.sagemaker#JobDurationInSeconds", + "traits": { + "smithy.api#documentation": "

                                                          Specifies the maximum duration of the job, in seconds.>

                                                          " + } + }, + "TrafficPattern": { + "target": "com.amazonaws.sagemaker#TrafficPattern", + "traits": { + "smithy.api#documentation": "

                                                          Specifies the traffic pattern of the job.

                                                          " + } + }, + "ResourceLimit": { + "target": "com.amazonaws.sagemaker#RecommendationJobResourceLimit", + "traits": { + "smithy.api#documentation": "

                                                          Defines the resource limit of the job.

                                                          " + } + }, + "EndpointConfigurations": { + "target": "com.amazonaws.sagemaker#EndpointInputConfigurations", + "traits": { + "smithy.api#documentation": "

                                                          Specifies the endpoint configuration to use for a job.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The input configuration of the recommendation job.

                                                          " + } + }, + "com.amazonaws.sagemaker#RecommendationJobName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,63}$" + } + }, + "com.amazonaws.sagemaker#RecommendationJobResourceLimit": { + "type": "structure", + "members": { + "MaxNumberOfTests": { + "target": "com.amazonaws.sagemaker#MaxNumberOfTests", + "traits": { + "smithy.api#documentation": "

                                                          Defines the maximum number of load tests.

                                                          " + } + }, + "MaxParallelOfTests": { + "target": "com.amazonaws.sagemaker#MaxParallelOfTests", + "traits": { + "smithy.api#documentation": "

                                                          Defines the maximum number of parallel load tests.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Specifies the maximum number of jobs that can run in parallel \n and the maximum number of jobs that can run.

                                                          " + } + }, + "com.amazonaws.sagemaker#RecommendationJobStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING", + "name": "PENDING" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "STOPPING", + "name": "STOPPING" + }, + { + "value": "STOPPED", + "name": "STOPPED" + } + ] + } + }, + "com.amazonaws.sagemaker#RecommendationJobStoppingConditions": { + "type": "structure", + "members": { + "MaxInvocations": { + "target": "com.amazonaws.sagemaker#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The maximum number of requests per minute expected for the endpoint.

                                                          " + } + }, + "ModelLatencyThresholds": { + "target": "com.amazonaws.sagemaker#ModelLatencyThresholds", + "traits": { + "smithy.api#documentation": "

                                                          The interval of time taken by a model to respond as viewed from SageMaker. \n The interval includes the local communication time taken to send the request \n and to fetch the response from the container of a model and the time taken to \n complete the inference in the container.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Specifies conditions for stopping a job. When a job reaches a \n stopping condition limit, SageMaker ends the job.

                                                          " + } + }, + "com.amazonaws.sagemaker#RecommendationJobType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Default", + "name": "DEFAULT" + }, + { + "value": "Advanced", + "name": "ADVANCED" + } + ] + } + }, + "com.amazonaws.sagemaker#RecommendationMetrics": { + "type": "structure", + "members": { + "CostPerHour": { + "target": "com.amazonaws.sagemaker#Float", + "traits": { + "smithy.api#documentation": "

                                                          Defines the cost per hour for the instance.

                                                          ", + "smithy.api#required": {} + } + }, + "CostPerInference": { + "target": "com.amazonaws.sagemaker#Float", + "traits": { + "smithy.api#documentation": "

                                                          Defines the cost per inference for the instance .

                                                          ", + "smithy.api#required": {} + } + }, + "MaxInvocations": { + "target": "com.amazonaws.sagemaker#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The expected maximum number of requests per minute for the instance.

                                                          ", + "smithy.api#required": {} + } + }, + "ModelLatency": { + "target": "com.amazonaws.sagemaker#Integer", + "traits": { + "smithy.api#documentation": "

                                                          The expected model latency at maximum invocation per minute for the instance.

                                                          ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The metrics of recommendations.

                                                          " + } + }, "com.amazonaws.sagemaker#RecordWrapper": { "type": "string", "traits": { @@ -31891,6 +34122,16 @@ "smithy.api#error": "client" } }, + "com.amazonaws.sagemaker#ResourcePolicyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20480 + }, + "smithy.api#pattern": "(?:[ \\r\\n\\t].*)*$" + } + }, "com.amazonaws.sagemaker#ResourcePropertyName": { "type": "string", "traits": { @@ -32384,6 +34625,9 @@ { "target": "com.amazonaws.sagemaker#CreateImageVersion" }, + { + "target": "com.amazonaws.sagemaker#CreateInferenceRecommendationsJob" + }, { "target": "com.amazonaws.sagemaker#CreateLabelingJob" }, @@ -32639,9 +34883,15 @@ { "target": "com.amazonaws.sagemaker#DescribeImageVersion" }, + { + "target": "com.amazonaws.sagemaker#DescribeInferenceRecommendationsJob" + }, { "target": "com.amazonaws.sagemaker#DescribeLabelingJob" }, + { + "target": "com.amazonaws.sagemaker#DescribeLineageGroup" + }, { "target": "com.amazonaws.sagemaker#DescribeModel" }, @@ -32723,6 +34973,9 @@ { "target": "com.amazonaws.sagemaker#GetDeviceFleetReport" }, + { + "target": "com.amazonaws.sagemaker#GetLineageGroupPolicy" + }, { "target": "com.amazonaws.sagemaker#GetModelPackageGroupPolicy" }, @@ -32807,18 +35060,27 @@ { "target": "com.amazonaws.sagemaker#ListImageVersions" }, + { + "target": "com.amazonaws.sagemaker#ListInferenceRecommendationsJobs" + }, { "target": "com.amazonaws.sagemaker#ListLabelingJobs" }, { "target": "com.amazonaws.sagemaker#ListLabelingJobsForWorkteam" }, + { + "target": "com.amazonaws.sagemaker#ListLineageGroups" + }, { "target": "com.amazonaws.sagemaker#ListModelBiasJobDefinitions" }, { "target": "com.amazonaws.sagemaker#ListModelExplainabilityJobDefinitions" }, + { + "target": "com.amazonaws.sagemaker#ListModelMetadata" + }, { "target": "com.amazonaws.sagemaker#ListModelPackageGroups" }, @@ -32897,6 +35159,9 @@ { "target": "com.amazonaws.sagemaker#PutModelPackageGroupPolicy" }, + { + "target": "com.amazonaws.sagemaker#QueryLineage" + }, { "target": "com.amazonaws.sagemaker#RegisterDevices" }, @@ -32936,6 +35201,9 @@ { "target": "com.amazonaws.sagemaker#StopHyperParameterTuningJob" }, + { + "target": "com.amazonaws.sagemaker#StopInferenceRecommendationsJob" + }, { "target": "com.amazonaws.sagemaker#StopLabelingJob" }, @@ -33562,6 +35830,26 @@ } } }, + "com.amazonaws.sagemaker#ServerlessMaxConcurrency": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.sagemaker#ServerlessMemorySizeInMB": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1024, + "max": 6144 + } + } + }, "com.amazonaws.sagemaker#ServiceCatalogEntityId": { "type": "string", "traits": { @@ -33814,6 +36102,21 @@ ] } }, + "com.amazonaws.sagemaker#SortLineageGroupsBy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Name", + "name": "NAME" + }, + { + "value": "CreationTime", + "name": "CREATION_TIME" + } + ] + } + }, "com.amazonaws.sagemaker#SortOrder": { "type": "string", "traits": { @@ -33971,6 +36274,15 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.sagemaker#SpawnRate": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.sagemaker#SplitType": { "type": "string", "traits": { @@ -34268,6 +36580,32 @@ } } }, + "com.amazonaws.sagemaker#StopInferenceRecommendationsJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#StopInferenceRecommendationsJobRequest" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Stops an Inference Recommender job.

                                                          " + } + }, + "com.amazonaws.sagemaker#StopInferenceRecommendationsJobRequest": { + "type": "structure", + "members": { + "JobName": { + "target": "com.amazonaws.sagemaker#RecommendationJobName", + "traits": { + "smithy.api#documentation": "

                                                          The name of the job you want to stop.

                                                          ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.sagemaker#StopLabelingJob": { "type": "operation", "input": { @@ -34499,6 +36837,15 @@ } } }, + "com.amazonaws.sagemaker#String128": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + } + } + }, "com.amazonaws.sagemaker#String200": { "type": "string", "traits": { @@ -34527,6 +36874,15 @@ } } }, + "com.amazonaws.sagemaker#String40": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 40 + } + } + }, "com.amazonaws.sagemaker#String64": { "type": "string", "traits": { @@ -34536,6 +36892,15 @@ } } }, + "com.amazonaws.sagemaker#String8192": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 8192 + } + } + }, "com.amazonaws.sagemaker#StringParameterValue": { "type": "string", "traits": { @@ -35232,6 +37597,35 @@ "com.amazonaws.sagemaker#Timestamp": { "type": "timestamp" }, + "com.amazonaws.sagemaker#TrafficDurationInSeconds": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.sagemaker#TrafficPattern": { + "type": "structure", + "members": { + "TrafficType": { + "target": "com.amazonaws.sagemaker#TrafficType", + "traits": { + "smithy.api#documentation": "

                                                          Defines the traffic patterns.

                                                          " + } + }, + "Phases": { + "target": "com.amazonaws.sagemaker#Phases", + "traits": { + "smithy.api#documentation": "

                                                          Defines the phases traffic specification.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Defines the traffic pattern of the load test.

                                                          " + } + }, "com.amazonaws.sagemaker#TrafficRoutingConfig": { "type": "structure", "members": { @@ -35285,6 +37679,17 @@ ] } }, + "com.amazonaws.sagemaker#TrafficType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PHASES", + "name": "PHASES" + } + ] + } + }, "com.amazonaws.sagemaker#TrainingEnvironmentKey": { "type": "string", "traits": { @@ -36838,6 +39243,12 @@ "smithy.api#documentation": "

                                                          Details of the source of the component.

                                                          " } }, + "LineageGroupArn": { + "target": "com.amazonaws.sagemaker#LineageGroupArn", + "traits": { + "smithy.api#documentation": "

                                                          The Amazon Resource Name (ARN) of the lineage group resource.

                                                          " + } + }, "Tags": { "target": "com.amazonaws.sagemaker#TagList", "traits": { @@ -38158,6 +40569,12 @@ "traits": { "smithy.api#documentation": "

                                                          The metadata properties associated with the model package versions to remove.

                                                          " } + }, + "AdditionalInferenceSpecificationsToAdd": { + "target": "com.amazonaws.sagemaker#AdditionalInferenceSpecifications", + "traits": { + "smithy.api#documentation": "

                                                          An array of additional Inference Specification objects to be added to the \n existing array additional Inference Specification. Total number of additional \n Inference Specifications can not exceed 15. Each additional Inference Specification \n specifies artifacts based on this model package that can be used on inference endpoints. \n Generally used with SageMaker Neo to store the compiled artifacts.

                                                          " + } } } }, @@ -38948,7 +41365,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Information about the user who created or modified an experiment, trial, trial\n component, or project.

                                                          " + "smithy.api#documentation": "

                                                          Information about the user who created or modified an experiment, trial, trial\n component, lineage group, or project.

                                                          " } }, "com.amazonaws.sagemaker#UserProfileArn": { @@ -39232,6 +41649,38 @@ "smithy.api#pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?The Amazon Resource Name (ARN) of the lineage entity resource.

                                                          " + } + }, + "Type": { + "target": "com.amazonaws.sagemaker#String40", + "traits": { + "smithy.api#documentation": "

                                                          The type of the lineage entity resource. For example: DataSet, Model, Endpoint, \n etc...

                                                          " + } + }, + "LineageType": { + "target": "com.amazonaws.sagemaker#LineageType", + "traits": { + "smithy.api#documentation": "

                                                          The type of resource of the lineage entity.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          A lineage entity connected to the starting entity(ies).

                                                          " + } + }, + "com.amazonaws.sagemaker#Vertices": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#Vertex" + } + }, "com.amazonaws.sagemaker#VolumeSizeInGB": { "type": "integer", "traits": { diff --git a/codegen/sdk-codegen/aws-models/shield.json b/codegen/sdk-codegen/aws-models/shield.json index 277217998568..a6dbca46463a 100644 --- a/codegen/sdk-codegen/aws-models/shield.json +++ b/codegen/sdk-codegen/aws-models/shield.json @@ -31,6 +31,24 @@ "shapes": { "com.amazonaws.shield#AWSShield_20160616": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Shield", + "arnNamespace": "shield", + "cloudFormationName": "Shield", + "cloudTrailEventSource": "shield.amazonaws.com", + "endpointPrefix": "shield" + }, + "aws.auth#sigv4": { + "name": "shield" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "Shield Advanced\n

                                                          This is the Shield Advanced API Reference. This guide is for developers who need detailed information about the Shield Advanced API actions, \n data types, and errors. For detailed information about WAF and Shield Advanced features and an overview of how to use the WAF and Shield Advanced APIs, see the \n WAF and Shield Developer Guide.

                                                          ", + "smithy.api#title": "AWS Shield", + "smithy.api#xmlNamespace": { + "uri": "http://ddp.amazonaws.com/doc/2016-06-02/" + } + }, "version": "2016-06-02", "operations": [ { @@ -84,6 +102,9 @@ { "target": "com.amazonaws.shield#DescribeSubscription" }, + { + "target": "com.amazonaws.shield#DisableApplicationLayerAutomaticResponse" + }, { "target": "com.amazonaws.shield#DisableProactiveEngagement" }, @@ -96,6 +117,9 @@ { "target": "com.amazonaws.shield#DisassociateHealthCheck" }, + { + "target": "com.amazonaws.shield#EnableApplicationLayerAutomaticResponse" + }, { "target": "com.amazonaws.shield#EnableProactiveEngagement" }, @@ -123,6 +147,9 @@ { "target": "com.amazonaws.shield#UntagResource" }, + { + "target": "com.amazonaws.shield#UpdateApplicationLayerAutomaticResponse" + }, { "target": "com.amazonaws.shield#UpdateEmergencyContactSettings" }, @@ -132,25 +159,7 @@ { "target": "com.amazonaws.shield#UpdateSubscription" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Shield", - "arnNamespace": "shield", - "cloudFormationName": "Shield", - "cloudTrailEventSource": "shield.amazonaws.com", - "endpointPrefix": "shield" - }, - "aws.auth#sigv4": { - "name": "shield" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Shield Advanced\n

                                                          This is the Shield Advanced API Reference. This guide is for developers who need detailed information about the Shield Advanced API actions, \n data types, and errors. For detailed information about WAF and Shield Advanced features and an overview of how to use the WAF and Shield Advanced APIs, see the \n WAF and Shield Developer Guide.

                                                          ", - "smithy.api#title": "AWS Shield", - "smithy.api#xmlNamespace": { - "uri": "http://ddp.amazonaws.com/doc/2016-06-02/" - } - } + ] }, "com.amazonaws.shield#AccessDeniedException": { "type": "structure", @@ -176,6 +185,42 @@ "smithy.api#error": "client" } }, + "com.amazonaws.shield#ApplicationLayerAutomaticResponseConfiguration": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.shield#ApplicationLayerAutomaticResponseStatus", + "traits": { + "smithy.api#documentation": "

                                                          Indicates whether automatic application layer DDoS mitigation is enabled for the protection.

                                                          ", + "smithy.api#required": {} + } + }, + "Action": { + "target": "com.amazonaws.shield#ResponseAction", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          The automatic application layer DDoS mitigation settings for a Protection. \n This configuration determines whether Shield Advanced automatically \n manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.

                                                          " + } + }, + "com.amazonaws.shield#ApplicationLayerAutomaticResponseStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "DISABLED", + "name": "DISABLED" + } + ] + } + }, "com.amazonaws.shield#AssociateDRTLogBucket": { "type": "operation", "input": { @@ -211,7 +256,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Authorizes the Shield Response Team (SRT) to access the specified Amazon S3 bucket containing log data such as Application Load Balancer access logs, CloudFront logs, or logs from third party sources. You can associate up to 10 Amazon S3 buckets with your subscription.

                                                          \n\t

                                                          To use the services of the SRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          " + "smithy.api#documentation": "

                                                          Authorizes the Shield Response Team (SRT) to access the specified Amazon S3 bucket containing log data such as Application Load Balancer access logs, CloudFront logs, or logs from third party sources. You can associate up to 10 Amazon S3 buckets with your subscription.

                                                          \n

                                                          To use the services of the SRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          " } }, "com.amazonaws.shield#AssociateDRTLogBucketRequest": { @@ -259,7 +304,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Authorizes the Shield Response Team (SRT) using the specified role, to access your Amazon Web Services account to assist with DDoS attack mitigation during potential attacks. This enables the SRT to inspect your WAF configuration and create or update WAF rules and web ACLs.

                                                          \n

                                                          You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn.

                                                          \n

                                                          Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal drt.shield.amazonaws.com. For more information, see IAM JSON Policy Elements: Principal.

                                                          \n\n

                                                          The SRT will have access only to your WAF and Shield resources. By submitting this request, you authorize the SRT to inspect your WAF and Shield configuration and create and update WAF rules and web ACLs on your behalf. The SRT takes these actions only if explicitly authorized by you.

                                                          \n

                                                          You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a User Permissions to Pass a Role to an Amazon Web Services Service.

                                                          \n

                                                          To use the services of the SRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          " + "smithy.api#documentation": "

                                                          Authorizes the Shield Response Team (SRT) using the specified role, to access your Amazon Web Services account to assist with DDoS attack mitigation during potential attacks. This enables the SRT to inspect your WAF configuration and create or update WAF rules and web ACLs.

                                                          \n

                                                          You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn.

                                                          \n

                                                          Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role that you'll specify in the request. You can access this policy in the IAM console at AWSShieldDRTAccessPolicy. For more information see Adding and removing IAM identity permissions. The role must also trust the service principal \ndrt.shield.amazonaws.com. For more information, see IAM JSON policy elements: Principal.

                                                          \n\n

                                                          The SRT will have access only to your WAF and Shield resources. By submitting this request, you authorize the SRT to inspect your WAF and Shield configuration and create and update WAF rules and web ACLs on your behalf. The SRT takes these actions only if explicitly authorized by you.

                                                          \n

                                                          You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a user permissions to pass a role to an Amazon Web Services service.

                                                          \n

                                                          To use the services of the SRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

                                                          " } }, "com.amazonaws.shield#AssociateDRTRoleRequest": { @@ -293,6 +338,9 @@ { "target": "com.amazonaws.shield#InvalidParameterException" }, + { + "target": "com.amazonaws.shield#InvalidResourceException" + }, { "target": "com.amazonaws.shield#LimitsExceededException" }, @@ -304,7 +352,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and mitigation.

                                                          \n

                                                          You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          " + "smithy.api#documentation": "

                                                          Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.

                                                          \n

                                                          You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          " } }, "com.amazonaws.shield#AssociateHealthCheckRequest": { @@ -399,13 +447,13 @@ "StartTime": { "target": "com.amazonaws.shield#AttackTimestamp", "traits": { - "smithy.api#documentation": "

                                                          The time the attack started, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The time the attack started, in Unix time in seconds.

                                                          " } }, "EndTime": { "target": "com.amazonaws.shield#AttackTimestamp", "traits": { - "smithy.api#documentation": "

                                                          The time the attack ended, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The time the attack ended, in Unix time in seconds.

                                                          " } }, "AttackCounters": { @@ -417,7 +465,7 @@ "AttackProperties": { "target": "com.amazonaws.shield#AttackProperties", "traits": { - "smithy.api#documentation": "

                                                          The array of objects that provide details of the Shield event.

                                                          \n

                                                          For infrastructure \n layer events (L3 and L4 events) after January 25, 2021, you can view metrics for top contributors in Amazon CloudWatch metrics. \n For more information, see Shield metrics and alarms \n in the WAF Developer Guide.

                                                          " + "smithy.api#documentation": "

                                                          The array of objects that provide details of the Shield event.

                                                          \n

                                                          For infrastructure \n layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. \n For more information, see Shield metrics and alarms \n in the WAF Developer Guide.

                                                          " } }, "Mitigations": { @@ -468,7 +516,7 @@ "AttackLayer": { "target": "com.amazonaws.shield#AttackLayer", "traits": { - "smithy.api#documentation": "

                                                          The type of Shield event that was observed. NETWORK indicates layer 3 and layer 4 events and APPLICATION\n indicates layer 7 events.

                                                          \n

                                                          For infrastructure \n layer events (L3 and L4 events) after January 25, 2021, you can view metrics for top contributors in Amazon CloudWatch metrics. \n For more information, see Shield metrics and alarms \n in the WAF Developer Guide.

                                                          " + "smithy.api#documentation": "

                                                          The type of Shield event that was observed. NETWORK indicates layer 3 and layer 4 events and APPLICATION\n indicates layer 7 events.

                                                          \n

                                                          For infrastructure \n layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. \n For more information, see Shield metrics and alarms \n in the WAF Developer Guide.

                                                          " } }, "AttackPropertyIdentifier": { @@ -480,7 +528,7 @@ "TopContributors": { "target": "com.amazonaws.shield#TopContributors", "traits": { - "smithy.api#documentation": "

                                                          Contributor objects for the top five contributors to a Shield event.

                                                          " + "smithy.api#documentation": "

                                                          Contributor objects for the top five contributors to a Shield event. A contributor is a source of traffic that Shield Advanced identifies as responsible for some or all of an event.

                                                          " } }, "Unit": { @@ -590,13 +638,13 @@ "StartTime": { "target": "com.amazonaws.shield#AttackTimestamp", "traits": { - "smithy.api#documentation": "

                                                          The start time of the attack, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The start time of the attack, in Unix time in seconds.

                                                          " } }, "EndTime": { "target": "com.amazonaws.shield#AttackTimestamp", "traits": { - "smithy.api#documentation": "

                                                          The end time of the attack, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The end time of the attack, in Unix time in seconds.

                                                          " } }, "AttackVectors": { @@ -690,6 +738,13 @@ ] } }, + "com.amazonaws.shield#BlockAction": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Block action.

                                                          \n

                                                          This is only used in the context of the ResponseAction setting.

                                                          \n

                                                          JSON specification: \"Block\": {}\n

                                                          " + } + }, "com.amazonaws.shield#ContactNotes": { "type": "string", "traits": { @@ -706,7 +761,7 @@ "Name": { "target": "com.amazonaws.shield#String", "traits": { - "smithy.api#documentation": "

                                                          The name of the contributor. This is dependent on the AttackPropertyIdentifier. For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name could be United States.

                                                          " + "smithy.api#documentation": "

                                                          The name of the contributor. The type of name that you'll find here depends on the AttackPropertyIdentifier setting in the AttackProperty where this contributor is defined. For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name could be United States.

                                                          " } }, "Value": { @@ -717,7 +772,14 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          A contributor to the attack and their contribution.

                                                          " + "smithy.api#documentation": "

                                                          A contributor to the attack and their contribution.

                                                          " + } + }, + "com.amazonaws.shield#CountAction": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Count action.

                                                          \n

                                                          This is only used in the context of the ResponseAction setting.

                                                          \n

                                                          JSON specification: \"Count\": {}\n

                                                          " } }, "com.amazonaws.shield#CreateProtection": { @@ -755,7 +817,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

                                                          \n

                                                          You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the WAF console. For more information see Getting Started with Shield Advanced and Add Shield Advanced Protection to more Amazon Web Services Resources.

                                                          " + "smithy.api#documentation": "

                                                          Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

                                                          \n

                                                          You can add protection to only a single resource with each CreateProtection request. You can add protection to multiple resources \n at once through the Shield Advanced console at https://console.aws.amazon.com/wafv2/shieldv2#/.\n For more information see \n Getting Started with Shield Advanced \n and Adding Shield Advanced protection to Amazon Web Services resources.

                                                          " } }, "com.amazonaws.shield#CreateProtectionGroup": { @@ -851,7 +913,7 @@ "ResourceArn": { "target": "com.amazonaws.shield#ResourceArn", "traits": { - "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the resource to be protected.

                                                          \n

                                                          The ARN should be in one of the following formats:

                                                          \n
                                                            \n
                                                          • \n

                                                            For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Amazon CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id\n \n

                                                            \n
                                                          • \n
                                                          ", + "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the resource to be protected.

                                                          \n

                                                          The ARN should be in one of the following formats:

                                                          \n
                                                            \n
                                                          • \n

                                                            For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Amazon CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id\n \n

                                                            \n
                                                          • \n
                                                          • \n

                                                            For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id\n \n

                                                            \n
                                                          • \n
                                                          ", "smithy.api#required": {} } }, @@ -1044,7 +1106,7 @@ "AttackId": { "target": "com.amazonaws.shield#AttackId", "traits": { - "smithy.api#documentation": "

                                                          The unique identifier (ID) for the attack that to be described.

                                                          ", + "smithy.api#documentation": "

                                                          The unique identifier (ID) for the attack.

                                                          ", "smithy.api#required": {} } } @@ -1306,6 +1368,51 @@ } } }, + "com.amazonaws.shield#DisableApplicationLayerAutomaticResponse": { + "type": "operation", + "input": { + "target": "com.amazonaws.shield#DisableApplicationLayerAutomaticResponseRequest" + }, + "output": { + "target": "com.amazonaws.shield#DisableApplicationLayerAutomaticResponseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.shield#InternalErrorException" + }, + { + "target": "com.amazonaws.shield#InvalidOperationException" + }, + { + "target": "com.amazonaws.shield#InvalidParameterException" + }, + { + "target": "com.amazonaws.shield#OptimisticLockException" + }, + { + "target": "com.amazonaws.shield#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Disable the Shield Advanced automatic application layer DDoS mitigation feature for the resource. This \n stops Shield Advanced from creating, verifying, and applying WAF rules for attacks that it detects for the resource.

                                                          " + } + }, + "com.amazonaws.shield#DisableApplicationLayerAutomaticResponseRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.shield#ResourceArn", + "traits": { + "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the resource.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.shield#DisableApplicationLayerAutomaticResponseResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.shield#DisableProactiveEngagement": { "type": "operation", "input": { @@ -1372,7 +1479,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.

                                                          \n\t

                                                          To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access.

                                                          " + "smithy.api#documentation": "

                                                          Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.

                                                          " } }, "com.amazonaws.shield#DisassociateDRTLogBucketRequest": { @@ -1414,7 +1521,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.

                                                          \n\t

                                                          To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a DisassociateDRTRole request to remove this access.

                                                          " + "smithy.api#documentation": "

                                                          Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.

                                                          " } }, "com.amazonaws.shield#DisassociateDRTRoleRequest": { @@ -1440,6 +1547,9 @@ { "target": "com.amazonaws.shield#InvalidParameterException" }, + { + "target": "com.amazonaws.shield#InvalidResourceException" + }, { "target": "com.amazonaws.shield#OptimisticLockException" }, @@ -1448,7 +1558,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                          Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and mitigation.

                                                          \n

                                                          You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          " + "smithy.api#documentation": "

                                                          Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.

                                                          \n

                                                          You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.

                                                          " } }, "com.amazonaws.shield#DisassociateHealthCheckRequest": { @@ -1534,6 +1644,61 @@ } } }, + "com.amazonaws.shield#EnableApplicationLayerAutomaticResponse": { + "type": "operation", + "input": { + "target": "com.amazonaws.shield#EnableApplicationLayerAutomaticResponseRequest" + }, + "output": { + "target": "com.amazonaws.shield#EnableApplicationLayerAutomaticResponseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.shield#InternalErrorException" + }, + { + "target": "com.amazonaws.shield#InvalidOperationException" + }, + { + "target": "com.amazonaws.shield#InvalidParameterException" + }, + { + "target": "com.amazonaws.shield#LimitsExceededException" + }, + { + "target": "com.amazonaws.shield#OptimisticLockException" + }, + { + "target": "com.amazonaws.shield#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Enable the Shield Advanced automatic application layer DDoS mitigation for the resource.

                                                          \n \n

                                                          This feature is available for Amazon CloudFront distributions only.

                                                          \n
                                                          \n

                                                          This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the \n resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated \n with the resource. For information about how automatic mitigation works and the requirements for using it, see \n Shield Advanced automatic application layer DDoS mitigation.

                                                          \n

                                                          Don't use this action to make changes to automatic mitigation settings when it's already enabled for a resource. Instead, use UpdateApplicationLayerAutomaticResponse.

                                                          \n

                                                          To use this feature, you must associate a web ACL with the protected resource. The web ACL must be created using the latest version of WAF (v2). You can associate the web ACL through the Shield Advanced console \n at https://console.aws.amazon.com/wafv2/shieldv2#/. For more information, \n see Getting Started with Shield Advanced.

                                                          \n

                                                          You can also do this through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see \n WAF Developer Guide.

                                                          " + } + }, + "com.amazonaws.shield#EnableApplicationLayerAutomaticResponseRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.shield#ResourceArn", + "traits": { + "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the resource.

                                                          ", + "smithy.api#required": {} + } + }, + "Action": { + "target": "com.amazonaws.shield#ResponseAction", + "traits": { + "smithy.api#documentation": "

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the \n protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, \n when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.shield#EnableApplicationLayerAutomaticResponseResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.shield#EnableProactiveEngagement": { "type": "operation", "input": { @@ -1634,7 +1799,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Exception that indicates that a problem occurred with the service infrastructure. You\n can retry the request.

                                                          ", + "smithy.api#documentation": "

                                                          Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.

                                                          ", "smithy.api#error": "server" } }, @@ -1658,7 +1823,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                          Exception that indicates that the NextToken specified in the request is invalid. Submit the request using the NextToken value that was returned in the response.

                                                          ", + "smithy.api#documentation": "

                                                          Exception that indicates that the NextToken specified in the request is invalid. Submit the request using the NextToken value that was returned in the prior response.

                                                          ", "smithy.api#error": "client" } }, @@ -1789,31 +1954,31 @@ "ResourceArns": { "target": "com.amazonaws.shield#ResourceArnFilterList", "traits": { - "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the resource that was attacked. If this is left\n blank, all applicable resources for this account will be included.

                                                          " + "smithy.api#documentation": "

                                                          The ARNs (Amazon Resource Names) of the resources that were attacked. If you leave this \n blank, all applicable resources for this account will be included.

                                                          " } }, "StartTime": { "target": "com.amazonaws.shield#TimeRange", "traits": { - "smithy.api#documentation": "

                                                          The start of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

                                                          " + "smithy.api#documentation": "

                                                          The start of the time period for the attacks. This is a timestamp type. The request syntax listing for this call indicates a number type,\n but you can provide the time in any valid timestamp format setting.

                                                          " } }, "EndTime": { "target": "com.amazonaws.shield#TimeRange", "traits": { - "smithy.api#documentation": "

                                                          The end of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

                                                          " + "smithy.api#documentation": "

                                                          The end of the time period for the attacks. This is a timestamp type. The request syntax listing for this call indicates a number type,\n but you can provide the time in any valid timestamp format setting.

                                                          " } }, "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          \n

                                                          On your first call to a list operation, leave this setting empty.

                                                          " } }, "MaxResults": { "target": "com.amazonaws.shield#MaxResults", "traits": { - "smithy.api#documentation": "

                                                          The maximum number of AttackSummary objects to return. If you leave this blank, \n Shield Advanced returns the first 20 results.

                                                          \n

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          " + "smithy.api#documentation": "

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects\n than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value \n in the response.

                                                          \n

                                                          The default setting is 20.

                                                          " } } } @@ -1830,7 +1995,7 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          The token returned by a previous call to indicate that there is more data available.\n If not null, more results are available. Pass this value for the NextMarker\n parameter in a subsequent call to ListAttacks to retrieve the next set of\n items.

                                                          \n

                                                          Shield Advanced might return the list of AttackSummary objects in batches smaller than the number specified by MaxResults. If there are more attack summary objects to return, Shield Advanced will always also return a NextToken.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          " } } } @@ -1869,13 +2034,13 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          The next token value from a previous call to ListProtectionGroups. Pass null if this is the first call.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          \n

                                                          On your first call to a list operation, leave this setting empty.

                                                          " } }, "MaxResults": { "target": "com.amazonaws.shield#MaxResults", "traits": { - "smithy.api#documentation": "

                                                          The maximum number of ProtectionGroup objects to return. If you leave this blank, \n Shield Advanced returns the first 20 results.

                                                          \n

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          " + "smithy.api#documentation": "

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects\n than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value \n in the response.

                                                          \n

                                                          The default setting is 20.

                                                          " } } } @@ -1893,7 +2058,7 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          If you specify a value for MaxResults and you have more protection groups than the value of MaxResults, Shield Advanced returns this token that you can use in your next request, to get the next batch of objects.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          " } } } @@ -1933,13 +2098,13 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          \n

                                                          On your first call to a list operation, leave this setting empty.

                                                          " } }, "MaxResults": { "target": "com.amazonaws.shield#MaxResults", "traits": { - "smithy.api#documentation": "

                                                          The maximum number of Protection objects to return. If you leave this blank, \n Shield Advanced returns the first 20 results.

                                                          \n

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          " + "smithy.api#documentation": "

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects\n than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value \n in the response.

                                                          \n

                                                          The default setting is 20.

                                                          " } } } @@ -1956,7 +2121,7 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          If you specify a value for MaxResults and you have more Protections than the value of MaxResults, 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.

                                                          \n

                                                          Shield Advanced might return the list of Protection objects in batches smaller than the number specified by MaxResults. If there are more Protection objects to return, Shield Advanced will always also return a NextToken.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          " } } } @@ -2002,13 +2167,13 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          The next token value from a previous call to ListResourcesInProtectionGroup. Pass null if this is the first call.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          \n

                                                          On your first call to a list operation, leave this setting empty.

                                                          " } }, "MaxResults": { "target": "com.amazonaws.shield#MaxResults", "traits": { - "smithy.api#documentation": "

                                                          The maximum number of resource ARN objects to return. If you leave this blank, \n Shield Advanced returns the first 20 results.

                                                          \n

                                                          This is a maximum value. Shield Advanced might return the results in smaller batches. That is, the number of objects returned could be less than MaxResults, even if there are still more objects yet to return. If there are more objects to return, Shield Advanced returns a value in NextToken that you can use in your next request, to get the next batch of objects.

                                                          " + "smithy.api#documentation": "

                                                          The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects\n than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value \n in the response.

                                                          \n

                                                          The default setting is 20.

                                                          " } } } @@ -2026,7 +2191,7 @@ "NextToken": { "target": "com.amazonaws.shield#Token", "traits": { - "smithy.api#documentation": "

                                                          If you specify a value for MaxResults and you have more resources in the protection group than the value of MaxResults, Shield Advanced returns this token that you can use in your next request, to get the next batch of objects.

                                                          " + "smithy.api#documentation": "

                                                          When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, \n Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and \n providing the token that was returned by the prior call in your request.

                                                          \n

                                                          You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults\n setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

                                                          \n

                                                          Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

                                                          " } } } @@ -2252,7 +2417,7 @@ "HealthCheckIds": { "target": "com.amazonaws.shield#HealthCheckIds", "traits": { - "smithy.api#documentation": "

                                                          The unique identifier (ID) for the Route 53 health check that's associated with the protection.

                                                          " + "smithy.api#documentation": "

                                                          The unique identifier (ID) for the Route 53 health check that's associated with the protection.

                                                          " } }, "ProtectionArn": { @@ -2260,6 +2425,12 @@ "traits": { "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the protection.

                                                          " } + }, + "ApplicationLayerAutomaticResponseConfiguration": { + "target": "com.amazonaws.shield#ApplicationLayerAutomaticResponseConfiguration", + "traits": { + "smithy.api#documentation": "

                                                          The automatic application layer DDoS mitigation settings for the protection. \n This configuration determines whether Shield Advanced automatically \n manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.

                                                          " + } } }, "traits": { @@ -2436,7 +2607,7 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 1, + "min": 36, "max": 36 }, "smithy.api#pattern": "^[a-zA-Z0-9\\\\-]*$" @@ -2531,6 +2702,26 @@ "smithy.api#error": "client" } }, + "com.amazonaws.shield#ResponseAction": { + "type": "structure", + "members": { + "Block": { + "target": "com.amazonaws.shield#BlockAction", + "traits": { + "smithy.api#documentation": "

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Block action.

                                                          \n

                                                          You must specify exactly one action, either Block or Count.

                                                          " + } + }, + "Count": { + "target": "com.amazonaws.shield#CountAction", + "traits": { + "smithy.api#documentation": "

                                                          Specifies that Shield Advanced should configure its WAF rules with the WAF Count action.

                                                          \n

                                                          You must specify exactly one action, either Block or Count.

                                                          " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the \n protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, \n when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          " + } + }, "com.amazonaws.shield#RoleArn": { "type": "string", "traits": { @@ -2603,7 +2794,7 @@ "StartTime": { "target": "com.amazonaws.shield#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          The start time of the subscription, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The start time of the subscription, in Unix time in seconds.

                                                          " } }, "EndTime": { @@ -2883,15 +3074,15 @@ "type": "structure", "members": { "FromInclusive": { - "target": "com.amazonaws.shield#AttackTimestamp", + "target": "com.amazonaws.shield#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          The start time, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The start time, in Unix time in seconds.

                                                          " } }, "ToExclusive": { - "target": "com.amazonaws.shield#AttackTimestamp", + "target": "com.amazonaws.shield#Timestamp", "traits": { - "smithy.api#documentation": "

                                                          The end time, in Unix time in seconds. For more information see timestamp.

                                                          " + "smithy.api#documentation": "

                                                          The end time, in Unix time in seconds.

                                                          " } } }, @@ -2990,6 +3181,58 @@ "type": "structure", "members": {} }, + "com.amazonaws.shield#UpdateApplicationLayerAutomaticResponse": { + "type": "operation", + "input": { + "target": "com.amazonaws.shield#UpdateApplicationLayerAutomaticResponseRequest" + }, + "output": { + "target": "com.amazonaws.shield#UpdateApplicationLayerAutomaticResponseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.shield#InternalErrorException" + }, + { + "target": "com.amazonaws.shield#InvalidOperationException" + }, + { + "target": "com.amazonaws.shield#InvalidParameterException" + }, + { + "target": "com.amazonaws.shield#OptimisticLockException" + }, + { + "target": "com.amazonaws.shield#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                          Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.

                                                          " + } + }, + "com.amazonaws.shield#UpdateApplicationLayerAutomaticResponseRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.shield#ResourceArn", + "traits": { + "smithy.api#documentation": "

                                                          The ARN (Amazon Resource Name) of the resource.

                                                          ", + "smithy.api#required": {} + } + }, + "Action": { + "target": "com.amazonaws.shield#ResponseAction", + "traits": { + "smithy.api#documentation": "

                                                          Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the \n protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, \n when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

                                                          ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.shield#UpdateApplicationLayerAutomaticResponseResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.shield#UpdateEmergencyContactSettings": { "type": "operation", "input": { diff --git a/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json b/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json index f00910fab036..cd632c2ad087 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json +++ b/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/endpoints.json @@ -13524,6 +13524,13 @@ } } }, + "workspaces-web": { + "endpoints": { + "eu-west-1": {}, + "us-east-1": {}, + "us-west-2": {} + } + }, "xray": { "endpoints": { "af-south-1": {},